@loaders.gl/tile-converter 4.3.1 → 4.3.2

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.
@@ -151,13 +151,13 @@ Calls to async() callback can have unexpected results.`),l=!0,function(h,m){h?c(
151
151
  || ${o} === "boolean" || ${i} === null`).assign(s,(0,Ot._)`[${i}]`)}}}function YFt({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,Ot._)`${t} !== undefined`,()=>e.assign((0,Ot._)`${t}[${r}]`,n))}function oN(e,t,r,n=lv.Correct){let i=n===lv.Correct?Ot.operators.EQ:Ot.operators.NEQ,a;switch(e){case"null":return(0,Ot._)`${t} ${i} null`;case"array":a=(0,Ot._)`Array.isArray(${t})`;break;case"object":a=(0,Ot._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=o((0,Ot._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=o();break;default:return(0,Ot._)`typeof ${t} ${i} ${e}`}return n===lv.Correct?a:(0,Ot.not)(a);function o(s=Ot.nil){return(0,Ot.and)((0,Ot._)`typeof ${t} == "number"`,s,r?(0,Ot._)`isFinite(${t})`:Ot.nil)}}$i.checkDataType=oN;function sN(e,t,r,n){if(e.length===1)return oN(e[0],t,r,n);let i,a=(0,HEe.toHash)(e);if(a.array&&a.object){let o=(0,Ot._)`typeof ${t} != "object"`;i=a.null?o:(0,Ot._)`!${t} || ${o}`,delete a.null,delete a.array,delete a.object}else i=Ot.nil;a.number&&delete a.integer;for(let o in a)i=(0,Ot.and)(i,oN(o,t,r,n));return i}$i.checkDataTypes=sN;var QFt={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,Ot._)`{type: ${e}}`:(0,Ot._)`{type: ${t}}`};function uN(e){let t=ZFt(e);(0,$Ft.reportError)(t,QFt)}$i.reportTypeError=uN;function ZFt(e){let{gen:t,data:r,schema:n}=e,i=(0,HEe.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=v(CC=>{"use strict";Object.defineProperty(CC,"__esModule",{value:!0});CC.assignDefaults=void 0;var fv=Lt(),e4t=ur();function t4t(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)WEe(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,a)=>WEe(e,a,i.default))}CC.assignDefaults=t4t;function WEe(e,t,r){let{gen:n,compositeRule:i,data:a,opts:o}=e;if(r===void 0)return;let s=(0,fv._)`${a}${(0,fv.getProperty)(t)}`;if(i){(0,e4t.checkStrictMode)(e,`default is ignored for: ${s}`);return}let u=(0,fv._)`${s} === undefined`;o.useDefaults==="empty"&&(u=(0,fv._)`${u} || ${s} === null || ${s} === ""`),n.if(u,(0,fv._)`${s} = ${(0,fv.stringify)(r)}`)}});var qo=v(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.validateUnion=Cr.validateArray=Cr.usePattern=Cr.callValidateCode=Cr.schemaProperties=Cr.allSchemaProperties=Cr.noPropertyInData=Cr.propertyInData=Cr.isOwnProperty=Cr.hasPropFunc=Cr.reportMissingProp=Cr.checkMissingProp=Cr.checkReportMissingProp=void 0;var Kr=Lt(),cN=ur(),rp=pl(),r4t=ur();function n4t(e,t){let{gen:r,data:n,it:i}=e;r.if(fN(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Kr._)`${t}`},!0),e.error()})}Cr.checkReportMissingProp=n4t;function i4t({gen:e,data:t,it:{opts:r}},n,i){return(0,Kr.or)(...n.map(a=>(0,Kr.and)(fN(e,t,a,r.ownProperties),(0,Kr._)`${i} = ${a}`)))}Cr.checkMissingProp=i4t;function a4t(e,t){e.setParams({missingProperty:t},!0),e.error()}Cr.reportMissingProp=a4t;function JEe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Kr._)`Object.prototype.hasOwnProperty`})}Cr.hasPropFunc=JEe;function lN(e,t,r){return(0,Kr._)`${JEe(e)}.call(${t}, ${r})`}Cr.isOwnProperty=lN;function o4t(e,t,r,n){let i=(0,Kr._)`${t}${(0,Kr.getProperty)(r)} !== undefined`;return n?(0,Kr._)`${i} && ${lN(e,t,r)}`:i}Cr.propertyInData=o4t;function fN(e,t,r,n){let i=(0,Kr._)`${t}${(0,Kr.getProperty)(r)} === undefined`;return n?(0,Kr.or)(i,(0,Kr.not)(lN(e,t,r))):i}Cr.noPropertyInData=fN;function XEe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}Cr.allSchemaProperties=XEe;function s4t(e,t){return XEe(t).filter(r=>!(0,cN.alwaysValidSchema)(e,t[r]))}Cr.schemaProperties=s4t;function u4t({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,u,c){let l=c?(0,Kr._)`${e}, ${t}, ${n}${i}`:t,f=[[rp.default.instancePath,(0,Kr.strConcat)(rp.default.instancePath,a)],[rp.default.parentData,o.parentData],[rp.default.parentDataProperty,o.parentDataProperty],[rp.default.rootData,rp.default.rootData]];o.opts.dynamicRef&&f.push([rp.default.dynamicAnchors,rp.default.dynamicAnchors]);let p=(0,Kr._)`${l}, ${r.object(...f)}`;return u!==Kr.nil?(0,Kr._)`${s}.call(${u}, ${p})`:(0,Kr._)`${s}(${p})`}Cr.callValidateCode=u4t;var c4t=(0,Kr._)`new RegExp`;function l4t({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,Kr._)`${i.code==="new RegExp"?c4t:(0,r4t.useFunc)(e,i)}(${r}, ${n})`})}Cr.usePattern=l4t;function f4t(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,Kr._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:cN.Type.Num},a),t.if((0,Kr.not)(a),s)})}}Cr.validateArray=f4t;function p4t(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,cN.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,Kr._)`${o} || ${s}`),e.mergeValidEvaluated(l,s)||t.if((0,Kr.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}Cr.validateUnion=p4t});var ZEe=v($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.validateKeywordUsage=$u.validSchemaType=$u.funcKeywordCode=$u.macroKeywordCode=void 0;var sa=Lt(),ah=pl(),d4t=qo(),h4t=K1();function m4t(e,t){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=e,s=t.macro.call(o.self,i,a,o),u=QEe(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let c=r.name("valid");e.subschema({schema:s,schemaPath:sa.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}$u.macroKeywordCode=m4t;function g4t(e,t){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:u}=e;x4t(u,t);let c=!s&&t.compile?t.compile.call(u.self,a,o,u):t.validate,l=QEe(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)m(),t.modifying&&YEe(e),g(()=>e.error());else{let b=t.async?d():h();t.modifying&&YEe(e),g(()=>v4t(e,b))}}function d(){let b=n.let("ruleErrs",null);return n.try(()=>m((0,sa._)`await `),y=>n.assign(f,!1).if((0,sa._)`${y} instanceof ${u.ValidationError}`,()=>n.assign(b,(0,sa._)`${y}.errors`),()=>n.throw(y))),b}function h(){let b=(0,sa._)`${l}.errors`;return n.assign(b,null),m(sa.nil),b}function m(b=t.async?(0,sa._)`await `:sa.nil){let y=u.opts.passContext?ah.default.this:ah.default.self,w=!("compile"in t&&!s||t.schema===!1);n.assign(f,(0,sa._)`${b}${(0,d4t.callValidateCode)(e,l,y,w)}`,t.modifying)}function g(b){var y;n.if((0,sa.not)((y=t.valid)!==null&&y!==void 0?y:f),b)}}$u.funcKeywordCode=g4t;function YEe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,sa._)`${n.parentData}[${n.parentDataProperty}]`))}function v4t(e,t){let{gen:r}=e;r.if((0,sa._)`Array.isArray(${t})`,()=>{r.assign(ah.default.vErrors,(0,sa._)`${ah.default.vErrors} === null ? ${t} : ${ah.default.vErrors}.concat(${t})`).assign(ah.default.errors,(0,sa._)`${ah.default.vErrors}.length`),(0,h4t.extendErrors)(e)},()=>e.error())}function x4t({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function QEe(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,sa.stringify)(r)})}function b4t(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")}$u.validSchemaType=b4t;function y4t({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)}}$u.validateKeywordUsage=y4t});var tAe=v(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.extendSubschemaMode=np.extendSubschemaData=np.getSubschema=void 0;var Wu=Lt(),eAe=ur();function _4t(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,Wu._)`${e.schemaPath}${(0,Wu.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Wu._)`${e.schemaPath}${(0,Wu.getProperty)(t)}${(0,Wu.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,eAe.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')}np.getSubschema=_4t;function w4t(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,Wu._)`${t.data}${(0,Wu.getProperty)(r)}`,!0);u(p),e.errorPath=(0,Wu.str)`${c}${(0,eAe.getErrorPath)(r,n,f.jsPropertySyntax)}`,e.parentDataProperty=(0,Wu._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(i!==void 0){let c=i instanceof Wu.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]}}np.extendSubschemaData=w4t;function E4t(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}np.extendSubschemaMode=E4t});var nAe=v((ihr,rAe)=>{"use strict";var ip=rAe.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(){};DC(t,n,i,e,"",e)};ip.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ip.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ip.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ip.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 DC(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 ip.arrayKeywords)for(var p=0;p<f.length;p++)DC(e,t,r,f[p],i+"/"+l+"/"+p,a,i,l,n,p)}else if(l in ip.propsKeywords){if(f&&typeof f=="object")for(var d in f)DC(e,t,r,f[d],i+"/"+l+"/"+A4t(d),a,i,l,n,d)}else(l in ip.keywords||e.allKeys&&!(l in ip.skipKeywords))&&DC(e,t,r,f,i+"/"+l,a,i,l,n)}r(n,i,a,o,s,u,c)}}function A4t(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var X1=v(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.getSchemaRefs=Ba.resolveUrl=Ba.normalizeId=Ba._getFullPath=Ba.getFullPath=Ba.inlineRef=void 0;var T4t=ur(),S4t=Zh(),C4t=nAe(),D4t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function F4t(e,t=!0){return typeof e=="boolean"?!0:t===!0?!pN(e):t?iAe(e)<=t:!1}Ba.inlineRef=F4t;var k4t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function pN(e){for(let t in e){if(k4t.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(pN)||typeof r=="object"&&pN(r))return!0}return!1}function iAe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!D4t.has(r)&&(typeof e[r]=="object"&&(0,T4t.eachItem)(e[r],n=>t+=iAe(n)),t===1/0))return 1/0}return t}function aAe(e,t="",r){r!==!1&&(t=pv(t));let n=e.parse(t);return oAe(e,n)}Ba.getFullPath=aAe;function oAe(e,t){return e.serialize(t).split("#")[0]+"#"}Ba._getFullPath=oAe;var B4t=/#\/?$/;function pv(e){return e?e.replace(B4t,""):""}Ba.normalizeId=pv;function O4t(e,t,r){return r=pv(r),e.resolve(t,r)}Ba.resolveUrl=O4t;var I4t=/^[a-z_][-a-z0-9._]*$/i;function P4t(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=pv(e[r]||t),a={"":i},o=aAe(n,i,!1),s={},u=new Set;return C4t(e,{allKeys:!0},(f,p,d,h)=>{if(h===void 0)return;let m=o+p,g=a[h];typeof f[r]=="string"&&(g=b.call(this,f[r])),y.call(this,f.$anchor),y.call(this,f.$dynamicAnchor),a[p]=g;function b(w){let T=this.opts.uriResolver.resolve;if(w=pv(g?T(g,w):w),u.has(w))throw l(w);u.add(w);let E=this.refs[w];return typeof E=="string"&&(E=this.refs[E]),typeof E=="object"?c(f,E.schema,w):w!==pv(m)&&(w[0]==="#"?(c(f,s[w],w),s[w]=f):this.refs[w]=m),w}function y(w){if(typeof w=="string"){if(!I4t.test(w))throw new Error(`invalid anchor "${w}"`);b.call(this,`#${w}`)}}}),s;function c(f,p,d){if(p!==void 0&&!S4t(f,p))throw l(d)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}Ba.getSchemaRefs=P4t});var Z1=v(ap=>{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});ap.getData=ap.KeywordCxt=ap.validateFunctionCode=void 0;var fAe=UEe(),sAe=J1(),hN=aN(),FC=J1(),R4t=KEe(),Q1=ZEe(),dN=tAe(),at=Lt(),wt=pl(),j4t=X1(),dl=ur(),Y1=K1();function M4t(e){if(hAe(e)&&(mAe(e),dAe(e))){N4t(e);return}pAe(e,()=>(0,fAe.topBoolOrEmptySchema)(e))}ap.validateFunctionCode=M4t;function pAe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},a){i.code.es5?e.func(t,(0,at._)`${wt.default.data}, ${wt.default.valCxt}`,n.$async,()=>{e.code((0,at._)`"use strict"; ${uAe(r,i)}`),q4t(e,i),e.code(a)}):e.func(t,(0,at._)`${wt.default.data}, ${L4t(i)}`,n.$async,()=>e.code(uAe(r,i)).code(a))}function L4t(e){return(0,at._)`{${wt.default.instancePath}="", ${wt.default.parentData}, ${wt.default.parentDataProperty}, ${wt.default.rootData}=${wt.default.data}${e.dynamicRef?(0,at._)`, ${wt.default.dynamicAnchors}={}`:at.nil}}={}`}function q4t(e,t){e.if(wt.default.valCxt,()=>{e.var(wt.default.instancePath,(0,at._)`${wt.default.valCxt}.${wt.default.instancePath}`),e.var(wt.default.parentData,(0,at._)`${wt.default.valCxt}.${wt.default.parentData}`),e.var(wt.default.parentDataProperty,(0,at._)`${wt.default.valCxt}.${wt.default.parentDataProperty}`),e.var(wt.default.rootData,(0,at._)`${wt.default.valCxt}.${wt.default.rootData}`),t.dynamicRef&&e.var(wt.default.dynamicAnchors,(0,at._)`${wt.default.valCxt}.${wt.default.dynamicAnchors}`)},()=>{e.var(wt.default.instancePath,(0,at._)`""`),e.var(wt.default.parentData,(0,at._)`undefined`),e.var(wt.default.parentDataProperty,(0,at._)`undefined`),e.var(wt.default.rootData,wt.default.data),t.dynamicRef&&e.var(wt.default.dynamicAnchors,(0,at._)`{}`)})}function N4t(e){let{schema:t,opts:r,gen:n}=e;pAe(e,()=>{r.$comment&&t.$comment&&vAe(e),V4t(e),n.let(wt.default.vErrors,null),n.let(wt.default.errors,0),r.unevaluated&&U4t(e),gAe(e),K4t(e)})}function U4t(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,at._)`${r}.evaluated`),t.if((0,at._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,at._)`${e.evaluated}.props`,(0,at._)`undefined`)),t.if((0,at._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,at._)`${e.evaluated}.items`,(0,at._)`undefined`))}function uAe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,at._)`/*# sourceURL=${r} */`:at.nil}function G4t(e,t){if(hAe(e)&&(mAe(e),dAe(e))){z4t(e,t);return}(0,fAe.boolOrEmptySchema)(e,t)}function dAe({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 hAe(e){return typeof e.schema!="boolean"}function z4t(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&vAe(e),$4t(e),W4t(e);let a=n.const("_errs",wt.default.errors);gAe(e,a),n.var(t,(0,at._)`${a} === ${wt.default.errors}`)}function mAe(e){(0,dl.checkUnknownRules)(e),H4t(e)}function gAe(e,t){if(e.opts.jtd)return cAe(e,[],!1,t);let r=(0,sAe.getSchemaTypes)(e.schema),n=(0,sAe.coerceAndCheckDataType)(e,r);cAe(e,r,!n,t)}function H4t(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,dl.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function V4t(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,dl.checkStrictMode)(e,"default is ignored in the schema root")}function $4t(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,j4t.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function W4t(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function vAe({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)e.code((0,at._)`${wt.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,at.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,at._)`${wt.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function K4t(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=e;r.$async?t.if((0,at._)`${wt.default.errors} === 0`,()=>t.return(wt.default.data),()=>t.throw((0,at._)`new ${i}(${wt.default.vErrors})`)):(t.assign((0,at._)`${n}.errors`,wt.default.vErrors),a.unevaluated&&J4t(e),t.return((0,at._)`${wt.default.errors} === 0`))}function J4t({gen:e,evaluated:t,props:r,items:n}){r instanceof at.Name&&e.assign((0,at._)`${t}.props`,r),n instanceof at.Name&&e.assign((0,at._)`${t}.items`,n)}function cAe(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,dl.schemaHasRulesButRef)(a,l))){i.block(()=>bAe(e,"$ref",l.all.$ref.definition));return}u.jtd||X4t(e,t),i.block(()=>{for(let p of l.rules)f(p);f(l.post)});function f(p){(0,hN.shouldUseGroup)(a,p)&&(p.type?(i.if((0,FC.checkDataType)(p.type,o,u.strictNumbers)),lAe(e,p),t.length===1&&t[0]===p.type&&r&&(i.else(),(0,FC.reportTypeError)(e)),i.endIf()):lAe(e,p),s||i.if((0,at._)`${wt.default.errors} === ${n||0}`))}}function lAe(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,R4t.assignDefaults)(e,t.type),r.block(()=>{for(let a of t.rules)(0,hN.shouldUseRule)(n,a)&&bAe(e,a.keyword,a.definition,t.type)})}function X4t(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(Y4t(e,t),e.opts.allowUnionTypes||Q4t(e,t),Z4t(e,e.dataTypes))}function Y4t(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{xAe(e.dataTypes,r)||mN(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),tkt(e,t)}}function Q4t(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&mN(e,"use allowUnionTypes to allow union type keyword")}function Z4t(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,hN.shouldUseRule)(e.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>ekt(t,o))&&mN(e,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function ekt(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function xAe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function tkt(e,t){let r=[];for(let n of e.dataTypes)xAe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function mN(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,dl.checkStrictMode)(e,t,e.opts.strictTypes)}var kC=class{constructor(t,r,n){if((0,Q1.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,dl.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",yAe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Q1.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",wt.default.errors))}result(t,r,n){this.failResult((0,at.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,at.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,at._)`${r} !== undefined && (${(0,at.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?Y1.reportExtraError:Y1.reportError)(this,this.def.error,r)}$dataError(){(0,Y1.reportError)(this,this.def.$dataError||Y1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Y1.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=at.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=at.nil,r=at.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,at.or)((0,at._)`${i} === undefined`,r)),t!==at.nil&&n.assign(t,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==at.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,at.or)(o(),s());function o(){if(n.length){if(!(r instanceof at.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return(0,at._)`${(0,FC.checkDataTypes)(u,r,a.opts.strictNumbers,FC.DataType.Wrong)}`}return at.nil}function s(){if(i.validateSchema){let u=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,at._)`!${u}(${r})`}return at.nil}}subschema(t,r){let n=(0,dN.getSubschema)(this.it,t);(0,dN.extendSubschemaData)(n,this.it,t),(0,dN.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return G4t(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=dl.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=dl.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,at.Name)),!0}};ap.KeywordCxt=kC;function bAe(e,t,r,n){let i=new kC(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Q1.funcKeywordCode)(i,r):"macro"in r?(0,Q1.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Q1.funcKeywordCode)(i,r)}var rkt=/^\/(?:[^~]|~0|~1)*$/,nkt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function yAe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,a;if(e==="")return wt.default.rootData;if(e[0]==="/"){if(!rkt.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,a=wt.default.rootData}else{let c=nkt.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,at._)`${a}${(0,at.getProperty)((0,dl.unescapeJsonPointer)(c))}`,o=(0,at._)`${o} && ${a}`);return o;function u(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}ap.getData=yAe});var BC=v(vN=>{"use strict";Object.defineProperty(vN,"__esModule",{value:!0});var gN=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};vN.default=gN});var e_=v(yN=>{"use strict";Object.defineProperty(yN,"__esModule",{value:!0});var xN=X1(),bN=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,xN.resolveUrl)(t,r,n),this.missingSchema=(0,xN.normalizeId)((0,xN.getFullPath)(t,this.missingRef))}};yN.default=bN});var IC=v(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.resolveSchema=No.getCompilingSchema=No.resolveRef=No.compileSchema=No.SchemaEnv=void 0;var Os=Lt(),ikt=BC(),oh=pl(),Is=X1(),_Ae=ur(),akt=Z1(),dv=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,Is.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={}}};No.SchemaEnv=dv;function wN(e){let t=wAe.call(this,e);if(t)return t;let r=(0,Is.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new Os.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;e.$async&&(s=o.scopeValue("Error",{ref:ikt.default,code:(0,Os._)`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:[Os.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Os.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Os.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Os._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,akt.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:h,items:m}=c;d.evaluated={props:h instanceof Os.Name?void 0:h,items:m instanceof Os.Name?void 0:m,dynamicProps:h instanceof Os.Name,dynamicItems:m instanceof Os.Name},d.source&&(d.source.evaluated=(0,Os.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)}}No.compileSchema=wN;function okt(e,t,r){var n;r=(0,Is.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let a=ckt.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 dv({schema:o,schemaId:s,root:e,baseId:t}))}if(a!==void 0)return e.refs[r]=skt.call(this,a)}No.resolveRef=okt;function skt(e){return(0,Is.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:wN.call(this,e)}function wAe(e){for(let t of this._compilations)if(ukt(t,e))return t}No.getCompilingSchema=wAe;function ukt(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function ckt(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||OC.call(this,e,t)}function OC(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Is._getFullPath)(this.opts.uriResolver,r),i=(0,Is.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return _N.call(this,r,e);let a=(0,Is.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=OC.call(this,e,o);return typeof(s==null?void 0:s.schema)!="object"?void 0:_N.call(this,r,s)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||wN.call(this,o),a===(0,Is.normalizeId)(t)){let{schema:s}=o,{schemaId:u}=this.opts,c=s[u];return c&&(i=(0,Is.resolveUrl)(this.opts.uriResolver,i,c)),new dv({schema:s,schemaId:u,root:e,baseId:i})}return _N.call(this,r,o)}}No.resolveSchema=OC;var lkt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function _N(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,_Ae.unescapeFragment)(s)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!lkt.has(s)&&c&&(t=(0,Is.resolveUrl)(this.opts.uriResolver,t,c))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,_Ae.schemaHasRulesButRef)(r,this.RULES)){let s=(0,Is.resolveUrl)(this.opts.uriResolver,t,r.$ref);a=OC.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new dv({schema:r,schemaId:o,root:n,baseId:t}),a.schema!==a.root.schema)return a}});var EAe=v((lhr,fkt)=>{fkt.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 TAe=v((fhr,AAe)=>{"use strict";var pkt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};AAe.exports={HEX:pkt}});var IAe=v((phr,OAe)=>{"use strict";var{HEX:dkt}=TAe();function FAe(e){if(BAe(e,".")<3)return{host:e,isIPV4:!1};let t=e.match(/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/u)||[],[r]=t;return r?{host:mkt(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function EN(e,t=!1){let r="",n=!0;for(let i of e){if(dkt[i]===void 0)return;i!=="0"&&n===!0&&(n=!1),n||(r+=i)}return t&&r.length===0&&(r="0"),r}function hkt(e){let t=0,r={error:!1,address:"",zone:""},n=[],i=[],a=!1,o=!1,s=!1;function u(){if(i.length){if(a===!1){let c=EN(i);if(c!==void 0)n.push(c);else return r.error=!0,!1}i.length=0}return!0}for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(o===!0&&(s=!0),!u())break;if(t++,n.push(":"),t>7){r.error=!0;break}c-1>=0&&e[c-1]===":"&&(o=!0);continue}else if(l==="%"){if(!u())break;a=!0}else{i.push(l);continue}}return i.length&&(a?r.zone=i.join(""):s?n.push(i.join("")):n.push(EN(i))),r.address=n.join(""),r}function kAe(e,t={}){if(BAe(e,":")<2)return{host:e,isIPV6:!1};let r=hkt(e);if(r.error)return{host:e,isIPV6:!1};{let n=r.address,i=r.address;return r.zone&&(n+="%"+r.zone,i+="%25"+r.zone),{host:n,escapedHost:i,isIPV6:!0}}}function mkt(e,t){let r="",n=!0,i=e.length;for(let a=0;a<i;a++){let o=e[a];o==="0"&&n?(a+1<=i&&e[a+1]===t||a+1===i)&&(r+=o,n=!1):(o===t?n=!0:n=!1,r+=o)}return r}function BAe(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}var SAe=/^\.\.?\//u,CAe=/^\/\.(?:\/|$)/u,DAe=/^\/\.\.(?:\/|$)/u,gkt=/^\/?(?:.|\n)*?(?=\/|$)/u;function vkt(e){let t=[];for(;e.length;)if(e.match(SAe))e=e.replace(SAe,"");else if(e.match(CAe))e=e.replace(CAe,"/");else if(e.match(DAe))e=e.replace(DAe,"/"),t.pop();else if(e==="."||e==="..")e="";else{let r=e.match(gkt);if(r){let n=r[0];e=e.slice(n.length),t.push(n)}else throw new Error("Unexpected dot segment condition")}return t.join("")}function xkt(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function bkt(e,t){let r=[];if(e.userinfo!==void 0&&(r.push(e.userinfo),r.push("@")),e.host!==void 0){let n=unescape(e.host),i=FAe(n);if(i.isIPV4)n=i.host;else{let a=kAe(i.host,{isIPV4:!1});a.isIPV6===!0?n=`[${a.escapedHost}]`:n=e.host}r.push(n)}return(typeof e.port=="number"||typeof e.port=="string")&&(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}OAe.exports={recomposeAuthority:bkt,normalizeComponentEncoding:xkt,removeDotSegments:vkt,normalizeIPv4:FAe,normalizeIPv6:kAe,stringArrayToHexStripped:EN}});var qAe=v((dhr,LAe)=>{"use strict";var ykt=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,_kt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function PAe(e){return typeof e.secure=="boolean"?e.secure:String(e.scheme).toLowerCase()==="wss"}function RAe(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function jAe(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function wkt(e){return e.secure=PAe(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Ekt(e){if((e.port===(PAe(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Akt(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(_kt);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let i=`${n}:${t.nid||e.nid}`,a=AN[i];e.path=void 0,a&&(e=a.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Tkt(e,t){let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,a=AN[i];a&&(e=a.serialize(e,t));let o=e,s=e.nss;return o.path=`${n||t.nid}:${s}`,t.skipEscape=!0,o}function Skt(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!ykt.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Ckt(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var MAe={scheme:"http",domainHost:!0,parse:RAe,serialize:jAe},Dkt={scheme:"https",domainHost:MAe.domainHost,parse:RAe,serialize:jAe},PC={scheme:"ws",domainHost:!0,parse:wkt,serialize:Ekt},Fkt={scheme:"wss",domainHost:PC.domainHost,parse:PC.parse,serialize:PC.serialize},kkt={scheme:"urn",parse:Akt,serialize:Tkt,skipNormalize:!0},Bkt={scheme:"urn:uuid",parse:Skt,serialize:Ckt,skipNormalize:!0},AN={http:MAe,https:Dkt,ws:PC,wss:Fkt,urn:kkt,"urn:uuid":Bkt};LAe.exports=AN});var UAe=v((hhr,jC)=>{"use strict";var{normalizeIPv6:Okt,normalizeIPv4:Ikt,removeDotSegments:t_,recomposeAuthority:Pkt,normalizeComponentEncoding:RC}=IAe(),TN=qAe();function Rkt(e,t){return typeof e=="string"?e=Ku(hl(e,t),t):typeof e=="object"&&(e=hl(Ku(e,t),t)),e}function jkt(e,t,r){let n=Object.assign({scheme:"null"},r),i=NAe(hl(e,n),hl(t,n),n,!0);return Ku(i,{...n,skipEscape:!0})}function NAe(e,t,r,n){let i={};return n||(e=hl(Ku(e,r),r),t=hl(Ku(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=t_(t.path||""),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=t_(t.path||""),i.query=t.query):(t.path?(t.path.charAt(0)==="/"?i.path=t_(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path="/"+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path,i.path=t_(i.path)),i.query=t.query):(i.path=e.path,t.query!==void 0?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function Mkt(e,t,r){return typeof e=="string"?(e=unescape(e),e=Ku(RC(hl(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Ku(RC(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=Ku(RC(hl(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Ku(RC(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function Ku(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),i=[],a=TN[(n.scheme||r.scheme||"").toLowerCase()];a&&a.serialize&&a.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&(i.push(r.scheme),i.push(":"));let o=Pkt(r,n);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path.charAt(0)!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!a||!a.absolutePath)&&(s=t_(s)),o===void 0&&(s=s.replace(/^\/\//u,"/%2F")),i.push(s)}return r.query!==void 0&&(i.push("?"),i.push(r.query)),r.fragment!==void 0&&(i.push("#"),i.push(r.fragment)),i.join("")}var Lkt=Array.from({length:127},(e,t)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t)));function qkt(e){let t=0;for(let r=0,n=e.length;r<n;++r)if(t=e.charCodeAt(r),t>126||Lkt[t])return!0;return!1}var Nkt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function hl(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=e.indexOf("%")!==-1,a=!1;r.reference==="suffix"&&(e=(r.scheme?r.scheme+":":"")+"//"+e);let o=e.match(Nkt);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host){let u=Ikt(n.host);if(u.isIPV4===!1){let c=Okt(u.host,{isIPV4:!1});n.host=c.host.toLowerCase(),a=c.isIPV6}else n.host=u.host,a=!0}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let s=TN[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!s||!s.unicodeSupport)&&n.host&&(r.domainHost||s&&s.domainHost)&&a===!1&&qkt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(u){n.error=n.error||"Host's domain name can not be converted to ASCII: "+u}(!s||s&&!s.skipNormalize)&&(i&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),i&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),i&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),s&&s.parse&&s.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var SN={SCHEMES:TN,normalize:Rkt,resolve:jkt,resolveComponents:NAe,equal:Mkt,serialize:Ku,parse:hl};jC.exports=SN;jC.exports.default=SN;jC.exports.fastUri=SN});var zAe=v(CN=>{"use strict";Object.defineProperty(CN,"__esModule",{value:!0});var GAe=UAe();GAe.code='require("ajv/dist/runtime/uri").default';CN.default=GAe});var YAe=v(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.CodeGen=Ci.Name=Ci.nil=Ci.stringify=Ci.str=Ci._=Ci.KeywordCxt=void 0;var Ukt=Z1();Object.defineProperty(Ci,"KeywordCxt",{enumerable:!0,get:function(){return Ukt.KeywordCxt}});var hv=Lt();Object.defineProperty(Ci,"_",{enumerable:!0,get:function(){return hv._}});Object.defineProperty(Ci,"str",{enumerable:!0,get:function(){return hv.str}});Object.defineProperty(Ci,"stringify",{enumerable:!0,get:function(){return hv.stringify}});Object.defineProperty(Ci,"nil",{enumerable:!0,get:function(){return hv.nil}});Object.defineProperty(Ci,"Name",{enumerable:!0,get:function(){return hv.Name}});Object.defineProperty(Ci,"CodeGen",{enumerable:!0,get:function(){return hv.CodeGen}});var Gkt=BC(),KAe=e_(),zkt=iN(),r_=IC(),Hkt=Lt(),n_=X1(),MC=J1(),FN=ur(),HAe=EAe(),Vkt=zAe(),JAe=(e,t)=>new RegExp(e,t);JAe.code="new RegExp";var $kt=["removeAdditional","useDefaults","coerceTypes"],Wkt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Kkt={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."},Jkt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},VAe=200;function Xkt(e){var t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g,b,y,w,T,E,k,B,j,C;let I=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,L=P===!0||P===void 0?1:P||0,G=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:JAe,V=(i=e.uriResolver)!==null&&i!==void 0?i:Vkt.default;return{strictSchema:(o=(a=e.strictSchema)!==null&&a!==void 0?a:I)!==null&&o!==void 0?o:!0,strictNumbers:(u=(s=e.strictNumbers)!==null&&s!==void 0?s:I)!==null&&u!==void 0?u:!0,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:I)!==null&&l!==void 0?l:"log",strictTuples:(p=(f=e.strictTuples)!==null&&f!==void 0?f:I)!==null&&p!==void 0?p:"log",strictRequired:(h=(d=e.strictRequired)!==null&&d!==void 0?d:I)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:L,regExp:G}:{optimize:L,regExp:G},loopRequired:(m=e.loopRequired)!==null&&m!==void 0?m:VAe,loopEnum:(g=e.loopEnum)!==null&&g!==void 0?g:VAe,meta:(b=e.meta)!==null&&b!==void 0?b:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(w=e.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(T=e.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(E=e.addUsedSchema)!==null&&E!==void 0?E:!0,validateSchema:(k=e.validateSchema)!==null&&k!==void 0?k:!0,validateFormats:(B=e.validateFormats)!==null&&B!==void 0?B:!0,unicodeRegExp:(j=e.unicodeRegExp)!==null&&j!==void 0?j:!0,int32range:(C=e.int32range)!==null&&C!==void 0?C:!0,uriResolver:V}}var i_=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Xkt(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new Hkt.ValueScope({scope:{},prefixes:Wkt,es5:r,lines:n}),this.logger=r5t(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,zkt.getRules)(),$Ae.call(this,Kkt,t,"NOT SUPPORTED"),$Ae.call(this,Jkt,t,"DEPRECATED","warn"),this._metaOpts=e5t.call(this),t.formats&&Qkt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Zkt.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Ykt.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=HAe;n==="id"&&(i={...HAe},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 KAe.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,n_.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=WAe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new r_.SchemaEnv({schema:{},schemaId:n});if(r=r_.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=WAe.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,n_.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(i5t.call(this,n,r),!r)return(0,FN.eachItem)(n,a=>DN.call(this,a)),this;o5t.call(this,r);let i={...r,type:(0,MC.getJSONTypes)(r.type),schemaType:(0,MC.getJSONTypes)(r.schemaType)};return(0,FN.eachItem)(n,i.type.length===0?a=>DN.call(this,a,i):a=>i.type.forEach(o=>DN.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]=XAe(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,n_.normalizeId)(o||n);let c=n_.getSchemaRefs.call(this,t,n);return u=new r_.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):r_.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{r_.compileSchema.call(this,t)}finally{this.opts=r}}};i_.ValidationError=Gkt.default;i_.MissingRefError=KAe.default;Ci.default=i_;function $Ae(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 WAe(e){return e=(0,n_.normalizeId)(e),this.schemas[e]||this.refs[e]}function Ykt(){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 Qkt(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Zkt(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 e5t(){let e={...this.opts};for(let t of $kt)delete e[t];return e}var t5t={log(){},warn(){},error(){}};function r5t(e){if(e===!1)return t5t;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 n5t=/^[a-z_$][a-z0-9_$:-]*$/i;function i5t(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(!n5t.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 DN(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,MC.getJSONTypes)(t.type),schemaType:(0,MC.getJSONTypes)(t.schemaType)}};t.before?a5t.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 a5t(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 o5t(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=XAe(t)),e.validateSchema=this.compile(t,!0))}var s5t={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function XAe(e){return{anyOf:[e,s5t]}}});var QAe=v(kN=>{"use strict";Object.defineProperty(kN,"__esModule",{value:!0});var u5t={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};kN.default=u5t});var rTe=v(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.callRef=sh.getValidate=void 0;var c5t=e_(),ZAe=qo(),Oa=Lt(),mv=pl(),eTe=IC(),LC=ur(),l5t={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=eTe.resolveRef.call(u,c,i,r);if(l===void 0)throw new c5t.default(n.opts.uriResolver,i,r);if(l instanceof eTe.SchemaEnv)return p(l);return d(l);function f(){if(a===c)return qC(e,o,a,a.$async);let h=t.scopeValue("root",{ref:c});return qC(e,(0,Oa._)`${h}.validate`,c,c.$async)}function p(h){let m=tTe(e,h);qC(e,m,h,h.$async)}function d(h){let m=t.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,Oa.stringify)(h)}:{ref:h}),g=t.name("valid"),b=e.subschema({schema:h,dataTypes:[],schemaPath:Oa.nil,topSchemaRef:m,errSchemaPath:r},g);e.mergeEvaluated(b),e.ok(g)}}};function tTe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Oa._)`${r.scopeValue("wrapper",{ref:t})}.validate`}sh.getValidate=tTe;function qC(e,t,r,n){let{gen:i,it:a}=e,{allErrors:o,schemaEnv:s,opts:u}=a,c=u.passContext?mv.default.this:Oa.nil;n?l():f();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let h=i.let("valid");i.try(()=>{i.code((0,Oa._)`await ${(0,ZAe.callValidateCode)(e,t,c)}`),d(t),o||i.assign(h,!0)},m=>{i.if((0,Oa._)`!(${m} instanceof ${a.ValidationError})`,()=>i.throw(m)),p(m),o||i.assign(h,!1)}),e.ok(h)}function f(){e.result((0,ZAe.callValidateCode)(e,t,c),()=>d(t),()=>p(t))}function p(h){let m=(0,Oa._)`${h}.errors`;i.assign(mv.default.vErrors,(0,Oa._)`${mv.default.vErrors} === null ? ${m} : ${mv.default.vErrors}.concat(${m})`),i.assign(mv.default.errors,(0,Oa._)`${mv.default.vErrors}.length`)}function d(h){var m;if(!a.opts.unevaluated)return;let g=(m=r==null?void 0:r.validate)===null||m===void 0?void 0:m.evaluated;if(a.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(a.props=LC.mergeEvaluated.props(i,g.props,a.props));else{let b=i.var("props",(0,Oa._)`${h}.evaluated.props`);a.props=LC.mergeEvaluated.props(i,b,a.props,Oa.Name)}if(a.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(a.items=LC.mergeEvaluated.items(i,g.items,a.items));else{let b=i.var("items",(0,Oa._)`${h}.evaluated.items`);a.items=LC.mergeEvaluated.items(i,b,a.items,Oa.Name)}}}sh.callRef=qC;sh.default=l5t});var nTe=v(BN=>{"use strict";Object.defineProperty(BN,"__esModule",{value:!0});var f5t=QAe(),p5t=rTe(),d5t=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",f5t.default,p5t.default];BN.default=d5t});var iTe=v(ON=>{"use strict";Object.defineProperty(ON,"__esModule",{value:!0});var NC=Lt(),op=NC.operators,UC={maximum:{okStr:"<=",ok:op.LTE,fail:op.GT},minimum:{okStr:">=",ok:op.GTE,fail:op.LT},exclusiveMaximum:{okStr:"<",ok:op.LT,fail:op.GTE},exclusiveMinimum:{okStr:">",ok:op.GT,fail:op.LTE}},h5t={message:({keyword:e,schemaCode:t})=>(0,NC.str)`must be ${UC[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,NC._)`{comparison: ${UC[e].okStr}, limit: ${t}}`},m5t={keyword:Object.keys(UC),type:"number",schemaType:"number",$data:!0,error:h5t,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,NC._)`${r} ${UC[t].fail} ${n} || isNaN(${r})`)}};ON.default=m5t});var aTe=v(IN=>{"use strict";Object.defineProperty(IN,"__esModule",{value:!0});var a_=Lt(),g5t={message:({schemaCode:e})=>(0,a_.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,a_._)`{multipleOf: ${e}}`},v5t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:g5t,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,a=i.opts.multipleOfPrecision,o=t.let("res"),s=a?(0,a_._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,a_._)`${o} !== parseInt(${o})`;e.fail$data((0,a_._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};IN.default=v5t});var sTe=v(PN=>{"use strict";Object.defineProperty(PN,"__esModule",{value:!0});function oTe(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}PN.default=oTe;oTe.code='require("ajv/dist/runtime/ucs2length").default'});var uTe=v(RN=>{"use strict";Object.defineProperty(RN,"__esModule",{value:!0});var uh=Lt(),x5t=ur(),b5t=sTe(),y5t={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}}`},_5t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:y5t,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,x5t.useFunc)(e.gen,b5t.default)}(${r})`;e.fail$data((0,uh._)`${o} ${a} ${n}`)}};RN.default=_5t});var cTe=v(jN=>{"use strict";Object.defineProperty(jN,"__esModule",{value:!0});var w5t=qo(),GC=Lt(),E5t={message:({schemaCode:e})=>(0,GC.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,GC._)`{pattern: ${e}}`},A5t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:E5t,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"",s=r?(0,GC._)`(new RegExp(${i}, ${o}))`:(0,w5t.usePattern)(e,n);e.fail$data((0,GC._)`!${s}.test(${t})`)}};jN.default=A5t});var lTe=v(MN=>{"use strict";Object.defineProperty(MN,"__esModule",{value:!0});var o_=Lt(),T5t={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,o_.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,o_._)`{limit: ${e}}`},S5t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:T5t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?o_.operators.GT:o_.operators.LT;e.fail$data((0,o_._)`Object.keys(${r}).length ${i} ${n}`)}};MN.default=S5t});var fTe=v(LN=>{"use strict";Object.defineProperty(LN,"__esModule",{value:!0});var s_=qo(),u_=Lt(),C5t=ur(),D5t={message:({params:{missingProperty:e}})=>(0,u_.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,u_._)`{missingProperty: ${e}}`},F5t={keyword:"required",type:"object",schemaType:"array",$data:!0,error:D5t,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:h}=e.it;for(let m of r)if((d==null?void 0:d[m])===void 0&&!h.has(m)){let g=o.schemaEnv.baseId+o.errSchemaPath,b=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,C5t.checkStrictMode)(o,b,o.opts.strictRequired)}}function c(){if(u||a)e.block$data(u_.nil,f);else for(let d of r)(0,s_.checkReportMissingProp)(e,d)}function l(){let d=t.let("missing");if(u||a){let h=t.let("valid",!0);e.block$data(h,()=>p(d,h)),e.ok(h)}else t.if((0,s_.checkMissingProp)(e,r,d)),(0,s_.reportMissingProp)(e,d),t.else()}function f(){t.forOf("prop",n,d=>{e.setParams({missingProperty:d}),t.if((0,s_.noPropertyInData)(t,i,d,s.ownProperties),()=>e.error())})}function p(d,h){e.setParams({missingProperty:d}),t.forOf(d,n,()=>{t.assign(h,(0,s_.propertyInData)(t,i,d,s.ownProperties)),t.if((0,u_.not)(h),()=>{e.error(),t.break()})},u_.nil)}}};LN.default=F5t});var pTe=v(qN=>{"use strict";Object.defineProperty(qN,"__esModule",{value:!0});var c_=Lt(),k5t={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,c_.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,c_._)`{limit: ${e}}`},B5t={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:k5t,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?c_.operators.GT:c_.operators.LT;e.fail$data((0,c_._)`${r}.length ${i} ${n}`)}};qN.default=B5t});var zC=v(NN=>{"use strict";Object.defineProperty(NN,"__esModule",{value:!0});var dTe=Zh();dTe.code='require("ajv/dist/runtime/equal").default';NN.default=dTe});var hTe=v(GN=>{"use strict";Object.defineProperty(GN,"__esModule",{value:!0});var UN=J1(),Di=Lt(),O5t=ur(),I5t=zC(),P5t={message:({params:{i:e,j:t}})=>(0,Di.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Di._)`{i: ${e}, j: ${t}}`},R5t={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:P5t,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,UN.getSchemaTypes)(a.items):[];e.block$data(u,l,(0,Di._)`${o} === false`),e.ok(u);function l(){let h=t.let("i",(0,Di._)`${r}.length`),m=t.let("j");e.setParams({i:h,j:m}),t.assign(u,!0),t.if((0,Di._)`${h} > 1`,()=>(f()?p:d)(h,m))}function f(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function p(h,m){let g=t.name("item"),b=(0,UN.checkDataTypes)(c,g,s.opts.strictNumbers,UN.DataType.Wrong),y=t.const("indices",(0,Di._)`{}`);t.for((0,Di._)`;${h}--;`,()=>{t.let(g,(0,Di._)`${r}[${h}]`),t.if(b,(0,Di._)`continue`),c.length>1&&t.if((0,Di._)`typeof ${g} == "string"`,(0,Di._)`${g} += "_"`),t.if((0,Di._)`typeof ${y}[${g}] == "number"`,()=>{t.assign(m,(0,Di._)`${y}[${g}]`),e.error(),t.assign(u,!1).break()}).code((0,Di._)`${y}[${g}] = ${h}`)})}function d(h,m){let g=(0,O5t.useFunc)(t,I5t.default),b=t.name("outer");t.label(b).for((0,Di._)`;${h}--;`,()=>t.for((0,Di._)`${m} = ${h}; ${m}--;`,()=>t.if((0,Di._)`${g}(${r}[${h}], ${r}[${m}])`,()=>{e.error(),t.assign(u,!1).break(b)})))}}};GN.default=R5t});var mTe=v(HN=>{"use strict";Object.defineProperty(HN,"__esModule",{value:!0});var zN=Lt(),j5t=ur(),M5t=zC(),L5t={message:"must be equal to constant",params:({schemaCode:e})=>(0,zN._)`{allowedValue: ${e}}`},q5t={keyword:"const",$data:!0,error:L5t,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:a}=e;n||a&&typeof a=="object"?e.fail$data((0,zN._)`!${(0,j5t.useFunc)(t,M5t.default)}(${r}, ${i})`):e.fail((0,zN._)`${a} !== ${r}`)}};HN.default=q5t});var gTe=v(VN=>{"use strict";Object.defineProperty(VN,"__esModule",{value:!0});var l_=Lt(),N5t=ur(),U5t=zC(),G5t={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,l_._)`{allowedValues: ${e}}`},z5t={keyword:"enum",schemaType:"array",$data:!0,error:G5t,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,N5t.useFunc)(t,U5t.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,l_.or)(...i.map((h,m)=>p(d,m)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",a,d=>t.if((0,l_._)`${c()}(${r}, ${d})`,()=>t.assign(l,!0).break()))}function p(d,h){let m=i[h];return typeof m=="object"&&m!==null?(0,l_._)`${c()}(${r}, ${d}[${h}])`:(0,l_._)`${r} === ${m}`}}};VN.default=z5t});var vTe=v($N=>{"use strict";Object.defineProperty($N,"__esModule",{value:!0});var H5t=iTe(),V5t=aTe(),$5t=uTe(),W5t=cTe(),K5t=lTe(),J5t=fTe(),X5t=pTe(),Y5t=hTe(),Q5t=mTe(),Z5t=gTe(),eBt=[H5t.default,V5t.default,$5t.default,W5t.default,K5t.default,J5t.default,X5t.default,Y5t.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Q5t.default,Z5t.default];$N.default=eBt});var KN=v(f_=>{"use strict";Object.defineProperty(f_,"__esModule",{value:!0});f_.validateAdditionalItems=void 0;var ch=Lt(),WN=ur(),tBt={message:({params:{len:e}})=>(0,ch.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,ch._)`{limit: ${e}}`},rBt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:tBt,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,WN.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}xTe(e,n)}};function xTe(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,WN.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:WN.Type.Num},c),o.allErrors||r.if((0,ch.not)(c),()=>r.break())})}}f_.validateAdditionalItems=xTe;f_.default=rBt});var JN=v(p_=>{"use strict";Object.defineProperty(p_,"__esModule",{value:!0});p_.validateTuple=void 0;var bTe=Lt(),HC=ur(),nBt=qo(),iBt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return yTe(e,"additionalItems",t);r.items=!0,!(0,HC.alwaysValidSchema)(r,t)&&e.ok((0,nBt.validateArray)(e))}};function yTe(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=HC.mergeEvaluated.items(n,r.length,s.items));let u=n.name("valid"),c=n.const("len",(0,bTe._)`${a}.length`);r.forEach((f,p)=>{(0,HC.alwaysValidSchema)(s,f)||(n.if((0,bTe._)`${c} > ${p}`,()=>e.subschema({keyword:o,schemaProp:p,dataProp:p},u)),e.ok(u))});function l(f){let{opts:p,errSchemaPath:d}=s,h=r.length,m=h===f.minItems&&(h===f.maxItems||f[t]===!1);if(p.strictTuples&&!m){let g=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${d}"`;(0,HC.checkStrictMode)(s,g,p.strictTuples)}}}p_.validateTuple=yTe;p_.default=iBt});var _Te=v(XN=>{"use strict";Object.defineProperty(XN,"__esModule",{value:!0});var aBt=JN(),oBt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,aBt.validateTuple)(e,"items")};XN.default=oBt});var ETe=v(YN=>{"use strict";Object.defineProperty(YN,"__esModule",{value:!0});var wTe=Lt(),sBt=ur(),uBt=qo(),cBt=KN(),lBt={message:({params:{len:e}})=>(0,wTe.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,wTe._)`{limit: ${e}}`},fBt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:lBt,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,sBt.alwaysValidSchema)(n,t)&&(i?(0,cBt.validateAdditionalItems)(e,i):e.ok((0,uBt.validateArray)(e)))}};YN.default=fBt});var ATe=v(QN=>{"use strict";Object.defineProperty(QN,"__esModule",{value:!0});var Uo=Lt(),VC=ur(),pBt={message:({params:{min:e,max:t}})=>t===void 0?(0,Uo.str)`must contain at least ${e} valid item(s)`:(0,Uo.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,Uo._)`{minContains: ${e}}`:(0,Uo._)`{minContains: ${e}, maxContains: ${t}}`},dBt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:pBt,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,Uo._)`${i}.length`);if(e.setParams({min:o,max:s}),s===void 0&&o===0){(0,VC.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,VC.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,VC.alwaysValidSchema)(a,r)){let m=(0,Uo._)`${l} >= ${o}`;s!==void 0&&(m=(0,Uo._)`${m} && ${l} <= ${s}`),e.pass(m);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,Uo._)`${i}.length > 0`,p)):(t.let(f,!1),p()),e.result(f,()=>e.reset());function p(){let m=t.name("_valid"),g=t.let("count",0);d(m,()=>t.if(m,()=>h(g)))}function d(m,g){t.forRange("i",0,l,b=>{e.subschema({keyword:"contains",dataProp:b,dataPropType:VC.Type.Num,compositeRule:!0},m),g()})}function h(m){t.code((0,Uo._)`${m}++`),s===void 0?t.if((0,Uo._)`${m} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,Uo._)`${m} > ${s}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,Uo._)`${m} >= ${o}`,()=>t.assign(f,!0)))}}};QN.default=dBt});var CTe=v(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.validateSchemaDeps=Ju.validatePropertyDeps=Ju.error=void 0;var ZN=Lt(),hBt=ur(),d_=qo();Ju.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,ZN.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,ZN._)`{property: ${e},
152
152
  missingProperty: ${n},
153
153
  depsCount: ${t},
154
- deps: ${r}}`};var mBt={keyword:"dependencies",type:"object",schemaType:"object",error:Ju.error,code(e){let[t,r]=gBt(e);TTe(e,t),STe(e,r)}};function gBt({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 TTe(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,d_.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,d_.checkReportMissingProp)(e,c)}):(r.if((0,ZN._)`${u} && (${(0,d_.checkMissingProp)(e,s,a)})`),(0,d_.reportMissingProp)(e,a),r.else())}}Ju.validatePropertyDeps=TTe;function STe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,hBt.alwaysValidSchema)(a,t[s])||(r.if((0,d_.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))}Ju.validateSchemaDeps=STe;Ju.default=mBt});var FTe=v(eU=>{"use strict";Object.defineProperty(eU,"__esModule",{value:!0});var DTe=Lt(),vBt=ur(),xBt={message:"property name must be valid",params:({params:e})=>(0,DTe._)`{propertyName: ${e.propertyName}}`},bBt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:xBt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,vBt.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,DTe.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};eU.default=bBt});var rU=v(tU=>{"use strict";Object.defineProperty(tU,"__esModule",{value:!0});var $C=qo(),Ps=Lt(),yBt=pl(),WC=ur(),_Bt={message:"must NOT have additional properties",params:({params:e})=>(0,Ps._)`{additionalProperty: ${e.additionalProperty}}`},wBt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:_Bt,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,WC.alwaysValidSchema)(o,r))return;let c=(0,$C.allSchemaProperties)(n.properties),l=(0,$C.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ps._)`${a} === ${yBt.default.errors}`);function f(){t.forIn("key",i,g=>{!c.length&&!l.length?h(g):t.if(p(g),()=>h(g))})}function p(g){let b;if(c.length>8){let y=(0,WC.schemaRefOrVal)(o,n.properties,"properties");b=(0,$C.isOwnProperty)(t,y,g)}else c.length?b=(0,Ps.or)(...c.map(y=>(0,Ps._)`${g} === ${y}`)):b=Ps.nil;return l.length&&(b=(0,Ps.or)(b,...l.map(y=>(0,Ps._)`${(0,$C.usePattern)(e,y)}.test(${g})`))),(0,Ps.not)(b)}function d(g){t.code((0,Ps._)`delete ${i}[${g}]`)}function h(g){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,WC.alwaysValidSchema)(o,r)){let b=t.name("valid");u.removeAdditional==="failing"?(m(g,b,!1),t.if((0,Ps.not)(b),()=>{e.reset(),d(g)})):(m(g,b),s||t.if((0,Ps.not)(b),()=>t.break()))}}function m(g,b,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:WC.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,b)}}};tU.default=wBt});var OTe=v(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var EBt=Z1(),kTe=qo(),nU=ur(),BTe=rU(),ABt={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&&BTe.default.code(new EBt.KeywordCxt(a,BTe.default,"additionalProperties"));let o=(0,kTe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=nU.mergeEvaluated.props(t,(0,nU.toHash)(o),a.props));let s=o.filter(f=>!(0,nU.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,kTe.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)}}};iU.default=ABt});var jTe=v(aU=>{"use strict";Object.defineProperty(aU,"__esModule",{value:!0});var ITe=qo(),KC=Lt(),PTe=ur(),RTe=ur(),TBt={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,ITe.allSchemaProperties)(r),u=s.filter(m=>(0,PTe.alwaysValidSchema)(a,r[m]));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 KC.Name)&&(a.props=(0,RTe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let m of s)c&&d(m),a.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function d(m){for(let g in c)new RegExp(m).test(g)&&(0,PTe.checkStrictMode)(a,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,KC._)`${(0,ITe.usePattern)(e,m)}.test(${g})`,()=>{let b=u.includes(m);b||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:RTe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,KC._)`${f}[${g}]`,!0):!b&&!a.allErrors&&t.if((0,KC.not)(l),()=>t.break())})})}}};aU.default=TBt});var MTe=v(oU=>{"use strict";Object.defineProperty(oU,"__esModule",{value:!0});var SBt=ur(),CBt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,SBt.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"}};oU.default=CBt});var LTe=v(sU=>{"use strict";Object.defineProperty(sU,"__esModule",{value:!0});var DBt=qo(),FBt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:DBt.validateUnion,error:{message:"must match a schema in anyOf"}};sU.default=FBt});var qTe=v(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var JC=Lt(),kBt=ur(),BBt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,JC._)`{passingSchemas: ${e.passing}}`},OBt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:BBt,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,kBt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,JC._)`${u} && ${o}`).assign(o,!1).assign(s,(0,JC._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,JC.Name)})})}}};uU.default=OBt});var NTe=v(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var IBt=ur(),PBt={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,IBt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};cU.default=PBt});var zTe=v(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});var XC=Lt(),GTe=ur(),RBt={message:({params:e})=>(0,XC.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,XC._)`{failingKeyword: ${e.ifClause}}`},jBt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:RBt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,GTe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=UTe(n,"then"),a=UTe(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,XC.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,XC._)`${l}`):e.setParams({ifClause:l})}}}};function UTe(e,t){let r=e.schema[t];return r!==void 0&&!(0,GTe.alwaysValidSchema)(e,r)}lU.default=jBt});var HTe=v(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var MBt=ur(),LBt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,MBt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};fU.default=LBt});var VTe=v(pU=>{"use strict";Object.defineProperty(pU,"__esModule",{value:!0});var qBt=KN(),NBt=_Te(),UBt=JN(),GBt=ETe(),zBt=ATe(),HBt=CTe(),VBt=FTe(),$Bt=rU(),WBt=OTe(),KBt=jTe(),JBt=MTe(),XBt=LTe(),YBt=qTe(),QBt=NTe(),ZBt=zTe(),eOt=HTe();function tOt(e=!1){let t=[JBt.default,XBt.default,YBt.default,QBt.default,ZBt.default,eOt.default,VBt.default,$Bt.default,HBt.default,WBt.default,KBt.default];return e?t.push(NBt.default,GBt.default):t.push(qBt.default,UBt.default),t.push(zBt.default),t}pU.default=tOt});var $Te=v(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var Cn=Lt(),rOt={message:({schemaCode:e})=>(0,Cn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Cn._)`{format: ${e}}`},nOt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:rOt,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 h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),m=r.const("fDef",(0,Cn._)`${h}[${o}]`),g=r.let("fType"),b=r.let("format");r.if((0,Cn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Cn._)`${m}.type || "string"`).assign(b,(0,Cn._)`${m}.validate`),()=>r.assign(g,(0,Cn._)`"string"`).assign(b,m)),e.fail$data((0,Cn.or)(y(),w()));function y(){return u.strictSchema===!1?Cn.nil:(0,Cn._)`${o} && !${b}`}function w(){let T=l.$async?(0,Cn._)`(${m}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,Cn._)`${b}(${n})`,E=(0,Cn._)`(typeof ${b} == "function" ? ${T} : ${b}.test(${n}))`;return(0,Cn._)`${b} && ${b} !== true && ${g} === ${t} && !${E}`}}function d(){let h=f.formats[a];if(!h){y();return}if(h===!0)return;let[m,g,b]=w(h);m===t&&e.pass(T());function y(){if(u.strictSchema===!1){f.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function w(E){let k=E instanceof RegExp?(0,Cn.regexpCode)(E):u.code.formats?(0,Cn._)`${u.code.formats}${(0,Cn.getProperty)(a)}`:void 0,B=r.scopeValue("formats",{key:a,ref:E,code:k});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,Cn._)`${B}.validate`]:["string",E,B]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Cn._)`await ${b}(${n})`}return typeof g=="function"?(0,Cn._)`${b}(${n})`:(0,Cn._)`${b}.test(${n})`}}}};dU.default=nOt});var WTe=v(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var iOt=$Te(),aOt=[iOt.default];hU.default=aOt});var KTe=v(gv=>{"use strict";Object.defineProperty(gv,"__esModule",{value:!0});gv.contentVocabulary=gv.metadataVocabulary=void 0;gv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];gv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var XTe=v(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var oOt=nTe(),sOt=vTe(),uOt=VTe(),cOt=WTe(),JTe=KTe(),lOt=[oOt.default,sOt.default,(0,uOt.default)(),cOt.default,JTe.metadataVocabulary,JTe.contentVocabulary];mU.default=lOt});var QTe=v(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.DiscrError=void 0;var YTe;(function(e){e.Tag="tag",e.Mapping="mapping"})(YTe||(YC.DiscrError=YTe={}))});var e6e=v(vU=>{"use strict";Object.defineProperty(vU,"__esModule",{value:!0});var vv=Lt(),gU=QTe(),ZTe=IC(),fOt=e_(),pOt=ur(),dOt={message:({params:{discrError:e,tagName:t}})=>e===gU.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,vv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},hOt={keyword:"discriminator",type:"object",schemaType:"object",error:dOt,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,vv._)`${r}${(0,vv.getProperty)(s)}`);t.if((0,vv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:gU.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,vv._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:gU.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(m,vv.Name),h}function p(){var d;let h={},m=b(i),g=!0;for(let T=0;T<o.length;T++){let E=o[T];if(E!=null&&E.$ref&&!(0,pOt.schemaHasRulesButRef)(E,a.self.RULES)){let B=E.$ref;if(E=ZTe.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,B),E instanceof ZTe.SchemaEnv&&(E=E.schema),E===void 0)throw new fOt.default(a.opts.uriResolver,a.baseId,B)}let k=(d=E==null?void 0:E.properties)===null||d===void 0?void 0:d[s];if(typeof k!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||b(E)),y(k,T)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function b({required:T}){return Array.isArray(T)&&T.includes(s)}function y(T,E){if(T.const)w(T.const,E);else if(T.enum)for(let k of T.enum)w(k,E);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function w(T,E){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[T]=E}}}};vU.default=hOt});var t6e=v((r0r,mOt)=>{mOt.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 n6e=v((Jr,xU)=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.MissingRefError=Jr.ValidationError=Jr.CodeGen=Jr.Name=Jr.nil=Jr.stringify=Jr.str=Jr._=Jr.KeywordCxt=Jr.Ajv=void 0;var gOt=YAe(),vOt=XTe(),xOt=e6e(),r6e=t6e(),bOt=["/properties"],QC="http://json-schema.org/draft-07/schema",xv=class extends gOt.default{_addVocabularies(){super._addVocabularies(),vOt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(xOt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(r6e,bOt):r6e;this.addMetaSchema(t,QC,!1),this.refs["http://json-schema.org/schema"]=QC}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(QC)?QC:void 0)}};Jr.Ajv=xv;xU.exports=Jr=xv;xU.exports.Ajv=xv;Object.defineProperty(Jr,"__esModule",{value:!0});Jr.default=xv;var yOt=Z1();Object.defineProperty(Jr,"KeywordCxt",{enumerable:!0,get:function(){return yOt.KeywordCxt}});var bv=Lt();Object.defineProperty(Jr,"_",{enumerable:!0,get:function(){return bv._}});Object.defineProperty(Jr,"str",{enumerable:!0,get:function(){return bv.str}});Object.defineProperty(Jr,"stringify",{enumerable:!0,get:function(){return bv.stringify}});Object.defineProperty(Jr,"nil",{enumerable:!0,get:function(){return bv.nil}});Object.defineProperty(Jr,"Name",{enumerable:!0,get:function(){return bv.Name}});Object.defineProperty(Jr,"CodeGen",{enumerable:!0,get:function(){return bv.CodeGen}});var _Ot=BC();Object.defineProperty(Jr,"ValidationError",{enumerable:!0,get:function(){return _Ot.default}});var wOt=e_();Object.defineProperty(Jr,"MissingRefError",{enumerable:!0,get:function(){return wOt.default}})});var FU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var kU={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"]=kU||{};function Tt(e,t,r){return t<=e&&e<=r}function J6e(e,t){return e.indexOf(t)!==-1}var Qu=Math.floor;function b_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function X6e(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 Y6e(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 no(e){return 0<=e&&e<=127}var ro=no,Wt=-1;function dD(e){this.tokens=[].slice.call(e),this.tokens.reverse()}dD.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Wt},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 kr=-1;function $t(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Vo(e){throw TypeError("The code point "+e+" could not be encoded.")}function Q6e(){}Q6e.prototype={handler:function(e,t){}};function Z6e(){}Z6e.prototype={handler:function(e,t){}};function fD(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(pD,e)?pD[e]:null}var BU=[{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"}],pD={};BU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){pD[r]=t})})});var ca={},la={};function ph(e,t){return t&&t[e]||null}function dh(e,t){var r=t.indexOf(e);return r===-1?null:r}function Ji(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 eSe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=Ji("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 tSe(e){if(e===59335)return 7457;var t=0,r=0,n=Ji("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 rSe(e){cD=cD||Ji("jis0208").map(function(r,n){return Tt(n,8272,8835)?null:r});var t=cD;return t.indexOf(e)}var cD;function nSe(e){lD=lD||Ji("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=lD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):dh(e,t)}var lD,OU="utf-8";function cp(e,t){if(!(this instanceof cp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):OU,t=b_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=fD(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!la[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(cp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(cp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(cp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));cp.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=b_(r),this._do_not_flush||(this._decoder=la[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new dD(n),a=[],o;;){var s=i.read();if(s===Wt||(o=this._decoder.handler(i,s),o===kr))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===kr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return J6e(["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)),Y6e(c)}return u.call(this,a)};function Dv(e,t){if(!(this instanceof Dv))throw TypeError("Called as a function. Did you forget 'new'?");t=b_(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):OU;var n=fD(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ca[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=fD("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(Dv.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Dv.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=b_(r),this._do_not_flush||(this._encoder=ca[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new dD(X6e(t)),i=[],a;;){var o=n.read();if(o===Wt||(a=this._encoder.handler(n,o),a===kr))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!==kr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function iSe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Wt&&i!==0)return i=0,$t(t);if(u===Wt)return kr;if(i===0){if(Tt(u,0,127))return u;if(Tt(u,194,223))i=1,r=u&31;else if(Tt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Tt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return $t(t);return null}if(!Tt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),$t(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 aSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i,a;Tt(n,128,2047)?(i=1,a=192):Tt(n,2048,65535)?(i=2,a=224):Tt(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}}ca["UTF-8"]=function(e){return new aSe(e)};la["UTF-8"]=function(e){return new iSe(e)};function oSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(no(i))return i;var a=e[i-128];return a===null?$t(r):a}}function sSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;var a=dh(i,e);return a===null&&Vo(i),a+128}}(function(){"encoding-indexes"in globalThis&&BU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=Ji(r.toLowerCase());la[r]=function(i){return new oSe(n,i)},ca[r]=function(i){return new sSe(n,i)}})})})();la.GBK=function(e){return new IU(e)};ca.GBK=function(e){return new PU(e,!0)};function IU(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Wt&&r===0&&n===0&&i===0)return kr;o===Wt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,$t(t));var s;if(i!==0){s=null,Tt(o,48,57)&&(s=eSe((((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),$t(t)):s}if(n!==0)return Tt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,$t(t));if(r!==0){if(Tt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Tt(o,64,126)||Tt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:ph(l,Ji("gb18030")),s===null&&no(o)&&a.prepend(o),s===null?$t(t):s}return no(o)?o:o===128?8364:Tt(o,129,254)?(r=o,null):$t(t)}}function PU(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;if(i===58853)return Vo(i);if(t&&i===8364)return 128;var a=dh(i,Ji("gb18030"));if(a!==null){var o=Qu(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return Vo(i);a=tSe(i);var c=Qu(a/10/126/10);a=a-c*10*126*10;var l=Qu(a/10/126);a=a-l*10*126;var f=Qu(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}ca.gb18030=function(e){return new PU(e)};la.gb18030=function(e){return new IU(e)};function uSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Tt(i,64,126)||Tt(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:ph(o,Ji("big5"));return u===null&&no(i)&&n.prepend(i),u===null?$t(t):u}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function cSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=nSe(n);if(i===null)return Vo(n);var a=Qu(i/157)+129;if(a<161)return Vo(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ca.Big5=function(e){return new cSe(e)};la.Big5=function(e){return new uSe(e)};function lSe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Wt&&n!==0)return n=0,$t(t);if(a===Wt&&n===0)return kr;if(n===142&&Tt(a,161,223))return n=0,65377-161+a;if(n===143&&Tt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Tt(o,161,254)&&Tt(a,161,254)&&(s=ph((o-161)*94+(a-161),Ji(r?"jis0212":"jis0208"))),r=!1,Tt(a,161,254)||i.prepend(a),s===null?$t(t):s}return no(a)?a:a===142||a===143||Tt(a,161,254)?(n=a,null):$t(t)}}function fSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=dh(n,Ji("jis0208"));if(i===null)return Vo(n);var a=Qu(i/94)+161,o=i%94+161;return[a,o]}}ca["EUC-JP"]=function(e){return new fSe(e)};la["EUC-JP"]=function(e){return new lSe(e)};function pSe(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):Tt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Tt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Tt(u,33,95)?(o=!1,65377-33+u):u===Wt?kr:(o=!1,$t(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Tt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Wt?kr:(o=!1,$t(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,$t(t);if(Tt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=ph(c,Ji("jis0208"));return l===null?$t(t):l}return u===Wt?(n=r.LeadByte,s.prepend(u),$t(t)):(n=r.LeadByte,$t(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,$t(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?$t(t):null}return s.prepend([f,u]),o=!1,n=i,$t(t)}}}function dSe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Wt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Wt&&n===r.ASCII)return kr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return Vo(65533);if(n===r.ASCII&&ro(a))return a;if(n===r.Roman&&(ro(a)&&a!==92&&a!==126||a==165||a==8254)){if(ro(a))return a;if(a===165)return 92;if(a===8254)return 126}if(ro(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=dh(a,Ji("jis0208"));if(o===null)return Vo(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=Qu(o/94)+33,u=o%94+33;return[s,u]}}ca["ISO-2022-JP"]=function(e){return new dSe(e)};la["ISO-2022-JP"]=function(e){return new pSe(e)};function hSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Tt(i,64,126)||Tt(i,128,252))&&(o=(a-u)*188+i-s),Tt(o,8836,10715))return 57344-8836+o;var c=o===null?null:ph(o,Ji("jis0208"));return c===null&&no(i)&&n.prepend(i),c===null?$t(t):c}return no(i)||i===128?i:Tt(i,161,223)?65377-161+i:Tt(i,129,159)||Tt(i,224,252)?(r=i,null):$t(t)}}function mSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=rSe(n);if(i===null)return Vo(n);var a=Qu(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ca.Shift_JIS=function(e){return new mSe(e)};la.Shift_JIS=function(e){return new hSe(e)};function gSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0,Tt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:ph(o,Ji("euc-kr"));return o===null&&no(i)&&n.prepend(i),s===null?$t(t):s}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function vSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=dh(n,Ji("euc-kr"));if(i===null)return Vo(n);var a=Qu(i/190)+129,o=i%190+65;return[a,o]}}ca["EUC-KR"]=function(e){return new vSe(e)};la["EUC-KR"]=function(e){return new gSe(e)};function x_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function RU(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Wt&&(n!==null||i!==null))return $t(r);if(o===Wt&&n===null&&i===null)return kr;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,Tt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(x_(s,e)),$t(r))}return Tt(s,55296,56319)?(i=s,null):Tt(s,56320,57343)?$t(r):s}}function jU(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(Tt(i,0,65535))return x_(i,e);var a=x_((i-65536>>10)+55296,e),o=x_((i-65536&1023)+56320,e);return a.concat(o)}}ca["UTF-16BE"]=function(e){return new jU(!0,e)};la["UTF-16BE"]=function(e){return new RU(!0,e)};ca["UTF-16LE"]=function(e){return new jU(!1,e)};la["UTF-16LE"]=function(e){return new RU(!1,e)};function xSe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:no(n)?n:63360+n-128}}function bSe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:ro(n)?n:Tt(n,63360,63487)?n-63360+128:Vo(n)}}ca["x-user-defined"]=function(e){return new bSe(e)};la["x-user-defined"]=function(e){return new xSe(e)};function Fv(e){return Buffer.from(e).toString("base64")}function hD(e){return Buffer.from(e,"base64").toString("ascii")}var kH=Dt(DH(),1),BH=Dt(Mv(),1);function FH(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function ICe(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,BH.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,kH.default)(n,r,t)}function OH(e,t){let r=ICe(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(FH(a))})})}var lee=Dt(cee(),1),v5=["image/png","image/jpeg","image/gif"];async function x5(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 Wje(r,t)}function Wje(e,t){return new Promise(r=>(0,lee.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 Na(e,t,r,n){return n._parse(e,t,r,n)}function _t(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var ru={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},pee=ru.self||ru.window||ru.global||{},dee=ru.window||ru.self||ru.global||{},hee=ru.global||ru.self||ru.window||{},mee=ru.document||{};var wr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var fee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Kje=fee&&parseFloat(fee[1])||0;var dw=globalThis,Jje=globalThis.document||{},hw=globalThis.process||{},Xje=globalThis.console,yLt=globalThis.navigator||{};function gee(e){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((i=process.versions)==null?void 0:i.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fp(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||gee()}var b5="4.0.7";function Qje(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var mw=class{constructor(t,r,n="sessionStorage"){this.storage=Qje(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 vee(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function xee(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var gw;(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"})(gw||(gw={}));var Zje=10;function bee(e){return typeof e!="string"?e:(e=e.toUpperCase(),gw[e]||gw.WHITE)}function yee(e,t,r){return!Fp&&typeof e=="string"&&(t&&(e=`\x1B[${bee(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${bee(r)+Zje}m${e}\x1B[49m`)),e}function _ee(e,t=["constructor"]){let 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 Ix(e,t){if(!e)throw new Error(t||"Assertion failed")}function kp(){var t,r,n,i,a;let e;if(Fp()&&dw.performance)e=(n=(r=(t=dw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in hw){let o=(a=(i=hw)==null?void 0:i.hrtime)==null?void 0:a.call(i);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var i0={debug:Fp()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},eMe={enabled:!0,level:0};function a0(){}var wee={},Eee={once:!0},nu=class{constructor({id:t}={id:""}){this.VERSION=b5,this._startTs=kp(),this._deltaTs=kp(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new mw(`__probe-${this.id}__`,eMe),this.timeStamp(`${this.id} started`),_ee(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((kp()-this._startTs).toPrecision(10))}getDelta(){return Number((kp()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!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){if(!t)throw new Error(r||"Assertion failed")}warn(t){return this._getLogFunction(0,t,i0.warn,arguments,Eee)}error(t){return this._getLogFunction(0,t,i0.error,arguments)}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r){return this._getLogFunction(t,r,i0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,i0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,i0.debug||i0.info,arguments,Eee)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||a0,n&&[n],{tag:rMe(r)}):a0}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||a0)}group(t,r,n={collapsed:!1}){let i=Aee({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,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||a0)}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()>=Tee(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=Aee({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Ix(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=kp();let o=a.tag||a.message;if(a.once&&o)if(!wee[o])wee[o]=kp();else return a0;return r=tMe(this.id,a.message,a),n.bind(console,r,...a.args)}return a0}};nu.VERSION=b5;function Tee(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 Ix(Number.isFinite(t)&&t>=0),t}function Aee(e){let{logLevel:t,message:r}=e;e.logLevel=Tee(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 Ix(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function tMe(e,t,r){if(typeof t=="string"){let n=r.time?xee(vee(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=yee(t,r.color,r.background)}return t}function rMe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var y5=new nu({id:"@probe.gl/log"});var _5="4.3.0",nMe=_5[0]>="0"&&_5[0]<="9"?`v${_5}`:"";function iMe(){let e=new nu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=nMe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var w5=iMe();function E5(e,t){return See(e||{},t)}function See(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]=See(n[i]||{},t[i],r+1):n[i]=t[i];return n}function Px(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function A5(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var Cee="latest";function aMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.0"),globalThis._loadersgl_.version}var Bp=aMe();function gi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var iu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},e7t=iu.self||iu.window||iu.global||{},t7t=iu.window||iu.self||iu.global||{},r7t=iu.global||iu.self||iu.window||{},n7t=iu.document||{};var ri=typeof process!="object"||String(process)!=="[object process]"||process.browser,Rx=typeof importScripts=="function",Fee=typeof window<"u"&&typeof window.orientation<"u",Dee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),i7t=Dee&&parseFloat(Dee[1])||0;var jx=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){gi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){gi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Op={};Fi(Op,{NodeWorker:()=>Lx,parentPort:()=>oMe});var Mx=Dt(require("worker_threads"),1);Cv(Op,require("worker_threads"));var oMe=Mx==null?void 0:Mx.parentPort,Lx=Mx.Worker;var T5=new Map;function kee(e){gi(e.source&&!e.url||!e.source&&e.url);let t=T5.get(e.source||e.url);return t||(e.url&&(t=sMe(e.url),T5.set(e.url,t)),e.source&&(t=Bee(e.source),T5.set(e.source,t))),gi(t),t}function sMe(e){if(!e.startsWith("http"))return e;let t=uMe(e);return Bee(t)}function Bee(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function uMe(e){return`try {
154
+ deps: ${r}}`};var mBt={keyword:"dependencies",type:"object",schemaType:"object",error:Ju.error,code(e){let[t,r]=gBt(e);TTe(e,t),STe(e,r)}};function gBt({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 TTe(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,d_.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,d_.checkReportMissingProp)(e,c)}):(r.if((0,ZN._)`${u} && (${(0,d_.checkMissingProp)(e,s,a)})`),(0,d_.reportMissingProp)(e,a),r.else())}}Ju.validatePropertyDeps=TTe;function STe(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,hBt.alwaysValidSchema)(a,t[s])||(r.if((0,d_.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))}Ju.validateSchemaDeps=STe;Ju.default=mBt});var FTe=v(eU=>{"use strict";Object.defineProperty(eU,"__esModule",{value:!0});var DTe=Lt(),vBt=ur(),xBt={message:"property name must be valid",params:({params:e})=>(0,DTe._)`{propertyName: ${e.propertyName}}`},bBt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:xBt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,vBt.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,DTe.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};eU.default=bBt});var rU=v(tU=>{"use strict";Object.defineProperty(tU,"__esModule",{value:!0});var $C=qo(),Ps=Lt(),yBt=pl(),WC=ur(),_Bt={message:"must NOT have additional properties",params:({params:e})=>(0,Ps._)`{additionalProperty: ${e.additionalProperty}}`},wBt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:_Bt,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,WC.alwaysValidSchema)(o,r))return;let c=(0,$C.allSchemaProperties)(n.properties),l=(0,$C.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ps._)`${a} === ${yBt.default.errors}`);function f(){t.forIn("key",i,g=>{!c.length&&!l.length?h(g):t.if(p(g),()=>h(g))})}function p(g){let b;if(c.length>8){let y=(0,WC.schemaRefOrVal)(o,n.properties,"properties");b=(0,$C.isOwnProperty)(t,y,g)}else c.length?b=(0,Ps.or)(...c.map(y=>(0,Ps._)`${g} === ${y}`)):b=Ps.nil;return l.length&&(b=(0,Ps.or)(b,...l.map(y=>(0,Ps._)`${(0,$C.usePattern)(e,y)}.test(${g})`))),(0,Ps.not)(b)}function d(g){t.code((0,Ps._)`delete ${i}[${g}]`)}function h(g){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,WC.alwaysValidSchema)(o,r)){let b=t.name("valid");u.removeAdditional==="failing"?(m(g,b,!1),t.if((0,Ps.not)(b),()=>{e.reset(),d(g)})):(m(g,b),s||t.if((0,Ps.not)(b),()=>t.break()))}}function m(g,b,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:WC.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,b)}}};tU.default=wBt});var OTe=v(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var EBt=Z1(),kTe=qo(),nU=ur(),BTe=rU(),ABt={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&&BTe.default.code(new EBt.KeywordCxt(a,BTe.default,"additionalProperties"));let o=(0,kTe.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=nU.mergeEvaluated.props(t,(0,nU.toHash)(o),a.props));let s=o.filter(f=>!(0,nU.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,kTe.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)}}};iU.default=ABt});var jTe=v(aU=>{"use strict";Object.defineProperty(aU,"__esModule",{value:!0});var ITe=qo(),KC=Lt(),PTe=ur(),RTe=ur(),TBt={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,ITe.allSchemaProperties)(r),u=s.filter(m=>(0,PTe.alwaysValidSchema)(a,r[m]));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 KC.Name)&&(a.props=(0,RTe.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let m of s)c&&d(m),a.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function d(m){for(let g in c)new RegExp(m).test(g)&&(0,PTe.checkStrictMode)(a,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,KC._)`${(0,ITe.usePattern)(e,m)}.test(${g})`,()=>{let b=u.includes(m);b||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:RTe.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,KC._)`${f}[${g}]`,!0):!b&&!a.allErrors&&t.if((0,KC.not)(l),()=>t.break())})})}}};aU.default=TBt});var MTe=v(oU=>{"use strict";Object.defineProperty(oU,"__esModule",{value:!0});var SBt=ur(),CBt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,SBt.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"}};oU.default=CBt});var LTe=v(sU=>{"use strict";Object.defineProperty(sU,"__esModule",{value:!0});var DBt=qo(),FBt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:DBt.validateUnion,error:{message:"must match a schema in anyOf"}};sU.default=FBt});var qTe=v(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var JC=Lt(),kBt=ur(),BBt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,JC._)`{passingSchemas: ${e.passing}}`},OBt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:BBt,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,kBt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,JC._)`${u} && ${o}`).assign(o,!1).assign(s,(0,JC._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,JC.Name)})})}}};uU.default=OBt});var NTe=v(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var IBt=ur(),PBt={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,IBt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};cU.default=PBt});var zTe=v(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});var XC=Lt(),GTe=ur(),RBt={message:({params:e})=>(0,XC.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,XC._)`{failingKeyword: ${e.ifClause}}`},jBt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:RBt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,GTe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=UTe(n,"then"),a=UTe(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,XC.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,XC._)`${l}`):e.setParams({ifClause:l})}}}};function UTe(e,t){let r=e.schema[t];return r!==void 0&&!(0,GTe.alwaysValidSchema)(e,r)}lU.default=jBt});var HTe=v(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var MBt=ur(),LBt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,MBt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};fU.default=LBt});var VTe=v(pU=>{"use strict";Object.defineProperty(pU,"__esModule",{value:!0});var qBt=KN(),NBt=_Te(),UBt=JN(),GBt=ETe(),zBt=ATe(),HBt=CTe(),VBt=FTe(),$Bt=rU(),WBt=OTe(),KBt=jTe(),JBt=MTe(),XBt=LTe(),YBt=qTe(),QBt=NTe(),ZBt=zTe(),eOt=HTe();function tOt(e=!1){let t=[JBt.default,XBt.default,YBt.default,QBt.default,ZBt.default,eOt.default,VBt.default,$Bt.default,HBt.default,WBt.default,KBt.default];return e?t.push(NBt.default,GBt.default):t.push(qBt.default,UBt.default),t.push(zBt.default),t}pU.default=tOt});var $Te=v(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var Cn=Lt(),rOt={message:({schemaCode:e})=>(0,Cn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Cn._)`{format: ${e}}`},nOt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:rOt,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 h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),m=r.const("fDef",(0,Cn._)`${h}[${o}]`),g=r.let("fType"),b=r.let("format");r.if((0,Cn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Cn._)`${m}.type || "string"`).assign(b,(0,Cn._)`${m}.validate`),()=>r.assign(g,(0,Cn._)`"string"`).assign(b,m)),e.fail$data((0,Cn.or)(y(),w()));function y(){return u.strictSchema===!1?Cn.nil:(0,Cn._)`${o} && !${b}`}function w(){let T=l.$async?(0,Cn._)`(${m}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,Cn._)`${b}(${n})`,E=(0,Cn._)`(typeof ${b} == "function" ? ${T} : ${b}.test(${n}))`;return(0,Cn._)`${b} && ${b} !== true && ${g} === ${t} && !${E}`}}function d(){let h=f.formats[a];if(!h){y();return}if(h===!0)return;let[m,g,b]=w(h);m===t&&e.pass(T());function y(){if(u.strictSchema===!1){f.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function w(E){let k=E instanceof RegExp?(0,Cn.regexpCode)(E):u.code.formats?(0,Cn._)`${u.code.formats}${(0,Cn.getProperty)(a)}`:void 0,B=r.scopeValue("formats",{key:a,ref:E,code:k});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,Cn._)`${B}.validate`]:["string",E,B]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Cn._)`await ${b}(${n})`}return typeof g=="function"?(0,Cn._)`${b}(${n})`:(0,Cn._)`${b}.test(${n})`}}}};dU.default=nOt});var WTe=v(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var iOt=$Te(),aOt=[iOt.default];hU.default=aOt});var KTe=v(gv=>{"use strict";Object.defineProperty(gv,"__esModule",{value:!0});gv.contentVocabulary=gv.metadataVocabulary=void 0;gv.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];gv.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var XTe=v(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var oOt=nTe(),sOt=vTe(),uOt=VTe(),cOt=WTe(),JTe=KTe(),lOt=[oOt.default,sOt.default,(0,uOt.default)(),cOt.default,JTe.metadataVocabulary,JTe.contentVocabulary];mU.default=lOt});var QTe=v(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.DiscrError=void 0;var YTe;(function(e){e.Tag="tag",e.Mapping="mapping"})(YTe||(YC.DiscrError=YTe={}))});var e6e=v(vU=>{"use strict";Object.defineProperty(vU,"__esModule",{value:!0});var vv=Lt(),gU=QTe(),ZTe=IC(),fOt=e_(),pOt=ur(),dOt={message:({params:{discrError:e,tagName:t}})=>e===gU.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,vv._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},hOt={keyword:"discriminator",type:"object",schemaType:"object",error:dOt,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,vv._)`${r}${(0,vv.getProperty)(s)}`);t.if((0,vv._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:gU.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,vv._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:gU.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(m,vv.Name),h}function p(){var d;let h={},m=b(i),g=!0;for(let T=0;T<o.length;T++){let E=o[T];if(E!=null&&E.$ref&&!(0,pOt.schemaHasRulesButRef)(E,a.self.RULES)){let B=E.$ref;if(E=ZTe.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,B),E instanceof ZTe.SchemaEnv&&(E=E.schema),E===void 0)throw new fOt.default(a.opts.uriResolver,a.baseId,B)}let k=(d=E==null?void 0:E.properties)===null||d===void 0?void 0:d[s];if(typeof k!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||b(E)),y(k,T)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function b({required:T}){return Array.isArray(T)&&T.includes(s)}function y(T,E){if(T.const)w(T.const,E);else if(T.enum)for(let k of T.enum)w(k,E);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function w(T,E){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[T]=E}}}};vU.default=hOt});var t6e=v((r0r,mOt)=>{mOt.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 n6e=v((Jr,xU)=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.MissingRefError=Jr.ValidationError=Jr.CodeGen=Jr.Name=Jr.nil=Jr.stringify=Jr.str=Jr._=Jr.KeywordCxt=Jr.Ajv=void 0;var gOt=YAe(),vOt=XTe(),xOt=e6e(),r6e=t6e(),bOt=["/properties"],QC="http://json-schema.org/draft-07/schema",xv=class extends gOt.default{_addVocabularies(){super._addVocabularies(),vOt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(xOt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(r6e,bOt):r6e;this.addMetaSchema(t,QC,!1),this.refs["http://json-schema.org/schema"]=QC}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(QC)?QC:void 0)}};Jr.Ajv=xv;xU.exports=Jr=xv;xU.exports.Ajv=xv;Object.defineProperty(Jr,"__esModule",{value:!0});Jr.default=xv;var yOt=Z1();Object.defineProperty(Jr,"KeywordCxt",{enumerable:!0,get:function(){return yOt.KeywordCxt}});var bv=Lt();Object.defineProperty(Jr,"_",{enumerable:!0,get:function(){return bv._}});Object.defineProperty(Jr,"str",{enumerable:!0,get:function(){return bv.str}});Object.defineProperty(Jr,"stringify",{enumerable:!0,get:function(){return bv.stringify}});Object.defineProperty(Jr,"nil",{enumerable:!0,get:function(){return bv.nil}});Object.defineProperty(Jr,"Name",{enumerable:!0,get:function(){return bv.Name}});Object.defineProperty(Jr,"CodeGen",{enumerable:!0,get:function(){return bv.CodeGen}});var _Ot=BC();Object.defineProperty(Jr,"ValidationError",{enumerable:!0,get:function(){return _Ot.default}});var wOt=e_();Object.defineProperty(Jr,"MissingRefError",{enumerable:!0,get:function(){return wOt.default}})});var FU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var kU={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"]=kU||{};function Tt(e,t,r){return t<=e&&e<=r}function J6e(e,t){return e.indexOf(t)!==-1}var Qu=Math.floor;function b_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function X6e(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 Y6e(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 no(e){return 0<=e&&e<=127}var ro=no,Wt=-1;function dD(e){this.tokens=[].slice.call(e),this.tokens.reverse()}dD.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Wt},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 kr=-1;function $t(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Vo(e){throw TypeError("The code point "+e+" could not be encoded.")}function Q6e(){}Q6e.prototype={handler:function(e,t){}};function Z6e(){}Z6e.prototype={handler:function(e,t){}};function fD(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(pD,e)?pD[e]:null}var BU=[{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"}],pD={};BU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){pD[r]=t})})});var ca={},la={};function ph(e,t){return t&&t[e]||null}function dh(e,t){var r=t.indexOf(e);return r===-1?null:r}function Ji(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 eSe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=Ji("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 tSe(e){if(e===59335)return 7457;var t=0,r=0,n=Ji("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 rSe(e){cD=cD||Ji("jis0208").map(function(r,n){return Tt(n,8272,8835)?null:r});var t=cD;return t.indexOf(e)}var cD;function nSe(e){lD=lD||Ji("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=lD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):dh(e,t)}var lD,OU="utf-8";function cp(e,t){if(!(this instanceof cp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):OU,t=b_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=fD(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!la[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(cp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(cp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(cp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));cp.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=b_(r),this._do_not_flush||(this._decoder=la[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new dD(n),a=[],o;;){var s=i.read();if(s===Wt||(o=this._decoder.handler(i,s),o===kr))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===kr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return J6e(["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)),Y6e(c)}return u.call(this,a)};function Dv(e,t){if(!(this instanceof Dv))throw TypeError("Called as a function. Did you forget 'new'?");t=b_(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):OU;var n=fD(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ca[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=fD("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(Dv.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Dv.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=b_(r),this._do_not_flush||(this._encoder=ca[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new dD(X6e(t)),i=[],a;;){var o=n.read();if(o===Wt||(a=this._encoder.handler(n,o),a===kr))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!==kr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function iSe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Wt&&i!==0)return i=0,$t(t);if(u===Wt)return kr;if(i===0){if(Tt(u,0,127))return u;if(Tt(u,194,223))i=1,r=u&31;else if(Tt(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Tt(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return $t(t);return null}if(!Tt(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),$t(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 aSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i,a;Tt(n,128,2047)?(i=1,a=192):Tt(n,2048,65535)?(i=2,a=224):Tt(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}}ca["UTF-8"]=function(e){return new aSe(e)};la["UTF-8"]=function(e){return new iSe(e)};function oSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(no(i))return i;var a=e[i-128];return a===null?$t(r):a}}function sSe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;var a=dh(i,e);return a===null&&Vo(i),a+128}}(function(){"encoding-indexes"in globalThis&&BU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=Ji(r.toLowerCase());la[r]=function(i){return new oSe(n,i)},ca[r]=function(i){return new sSe(n,i)}})})})();la.GBK=function(e){return new IU(e)};ca.GBK=function(e){return new PU(e,!0)};function IU(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Wt&&r===0&&n===0&&i===0)return kr;o===Wt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,$t(t));var s;if(i!==0){s=null,Tt(o,48,57)&&(s=eSe((((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),$t(t)):s}if(n!==0)return Tt(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,$t(t));if(r!==0){if(Tt(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Tt(o,64,126)||Tt(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:ph(l,Ji("gb18030")),s===null&&no(o)&&a.prepend(o),s===null?$t(t):s}return no(o)?o:o===128?8364:Tt(o,129,254)?(r=o,null):$t(t)}}function PU(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(ro(i))return i;if(i===58853)return Vo(i);if(t&&i===8364)return 128;var a=dh(i,Ji("gb18030"));if(a!==null){var o=Qu(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return Vo(i);a=tSe(i);var c=Qu(a/10/126/10);a=a-c*10*126*10;var l=Qu(a/10/126);a=a-l*10*126;var f=Qu(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}ca.gb18030=function(e){return new PU(e)};la.gb18030=function(e){return new IU(e)};function uSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Tt(i,64,126)||Tt(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:ph(o,Ji("big5"));return u===null&&no(i)&&n.prepend(i),u===null?$t(t):u}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function cSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=nSe(n);if(i===null)return Vo(n);var a=Qu(i/157)+129;if(a<161)return Vo(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}ca.Big5=function(e){return new cSe(e)};la.Big5=function(e){return new uSe(e)};function lSe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Wt&&n!==0)return n=0,$t(t);if(a===Wt&&n===0)return kr;if(n===142&&Tt(a,161,223))return n=0,65377-161+a;if(n===143&&Tt(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Tt(o,161,254)&&Tt(a,161,254)&&(s=ph((o-161)*94+(a-161),Ji(r?"jis0212":"jis0208"))),r=!1,Tt(a,161,254)||i.prepend(a),s===null?$t(t):s}return no(a)?a:a===142||a===143||Tt(a,161,254)?(n=a,null):$t(t)}}function fSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=dh(n,Ji("jis0208"));if(i===null)return Vo(n);var a=Qu(i/94)+161,o=i%94+161;return[a,o]}}ca["EUC-JP"]=function(e){return new fSe(e)};la["EUC-JP"]=function(e){return new lSe(e)};function pSe(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):Tt(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Tt(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Wt?kr:(o=!1,$t(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Tt(u,33,95)?(o=!1,65377-33+u):u===Wt?kr:(o=!1,$t(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Tt(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Wt?kr:(o=!1,$t(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,$t(t);if(Tt(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=ph(c,Ji("jis0208"));return l===null?$t(t):l}return u===Wt?(n=r.LeadByte,s.prepend(u),$t(t)):(n=r.LeadByte,$t(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,$t(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?$t(t):null}return s.prepend([f,u]),o=!1,n=i,$t(t)}}}function dSe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Wt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Wt&&n===r.ASCII)return kr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return Vo(65533);if(n===r.ASCII&&ro(a))return a;if(n===r.Roman&&(ro(a)&&a!==92&&a!==126||a==165||a==8254)){if(ro(a))return a;if(a===165)return 92;if(a===8254)return 126}if(ro(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=dh(a,Ji("jis0208"));if(o===null)return Vo(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=Qu(o/94)+33,u=o%94+33;return[s,u]}}ca["ISO-2022-JP"]=function(e){return new dSe(e)};la["ISO-2022-JP"]=function(e){return new pSe(e)};function hSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Tt(i,64,126)||Tt(i,128,252))&&(o=(a-u)*188+i-s),Tt(o,8836,10715))return 57344-8836+o;var c=o===null?null:ph(o,Ji("jis0208"));return c===null&&no(i)&&n.prepend(i),c===null?$t(t):c}return no(i)||i===128?i:Tt(i,161,223)?65377-161+i:Tt(i,129,159)||Tt(i,224,252)?(r=i,null):$t(t)}}function mSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Tt(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=rSe(n);if(i===null)return Vo(n);var a=Qu(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}ca.Shift_JIS=function(e){return new mSe(e)};la.Shift_JIS=function(e){return new hSe(e)};function gSe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Wt&&r!==0)return r=0,$t(t);if(i===Wt&&r===0)return kr;if(r!==0){var a=r,o=null;r=0,Tt(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:ph(o,Ji("euc-kr"));return o===null&&no(i)&&n.prepend(i),s===null?$t(t):s}return no(i)?i:Tt(i,129,254)?(r=i,null):$t(t)}}function vSe(e){var t=e.fatal;this.handler=function(r,n){if(n===Wt)return kr;if(ro(n))return n;var i=dh(n,Ji("euc-kr"));if(i===null)return Vo(n);var a=Qu(i/190)+129,o=i%190+65;return[a,o]}}ca["EUC-KR"]=function(e){return new vSe(e)};la["EUC-KR"]=function(e){return new gSe(e)};function x_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function RU(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Wt&&(n!==null||i!==null))return $t(r);if(o===Wt&&n===null&&i===null)return kr;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,Tt(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(x_(s,e)),$t(r))}return Tt(s,55296,56319)?(i=s,null):Tt(s,56320,57343)?$t(r):s}}function jU(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Wt)return kr;if(Tt(i,0,65535))return x_(i,e);var a=x_((i-65536>>10)+55296,e),o=x_((i-65536&1023)+56320,e);return a.concat(o)}}ca["UTF-16BE"]=function(e){return new jU(!0,e)};la["UTF-16BE"]=function(e){return new RU(!0,e)};ca["UTF-16LE"]=function(e){return new jU(!1,e)};la["UTF-16LE"]=function(e){return new RU(!1,e)};function xSe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:no(n)?n:63360+n-128}}function bSe(e){var t=e.fatal;this.handler=function(r,n){return n===Wt?kr:ro(n)?n:Tt(n,63360,63487)?n-63360+128:Vo(n)}}ca["x-user-defined"]=function(e){return new bSe(e)};la["x-user-defined"]=function(e){return new xSe(e)};function Fv(e){return Buffer.from(e).toString("base64")}function hD(e){return Buffer.from(e,"base64").toString("ascii")}var kH=Dt(DH(),1),BH=Dt(Mv(),1);function FH(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function ICe(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,BH.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,kH.default)(n,r,t)}function OH(e,t){let r=ICe(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(FH(a))})})}var lee=Dt(cee(),1),v5=["image/png","image/jpeg","image/gif"];async function x5(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 Wje(r,t)}function Wje(e,t){return new Promise(r=>(0,lee.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 Na(e,t,r,n){return n._parse(e,t,r,n)}function _t(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var ru={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},pee=ru.self||ru.window||ru.global||{},dee=ru.window||ru.self||ru.global||{},hee=ru.global||ru.self||ru.window||{},mee=ru.document||{};var wr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var fee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Kje=fee&&parseFloat(fee[1])||0;var dw=globalThis,Jje=globalThis.document||{},hw=globalThis.process||{},Xje=globalThis.console,yLt=globalThis.navigator||{};function gee(e){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((i=process.versions)==null?void 0:i.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fp(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||gee()}var b5="4.0.7";function Qje(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var mw=class{constructor(t,r,n="sessionStorage"){this.storage=Qje(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 vee(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function xee(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var gw;(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"})(gw||(gw={}));var Zje=10;function bee(e){return typeof e!="string"?e:(e=e.toUpperCase(),gw[e]||gw.WHITE)}function yee(e,t,r){return!Fp&&typeof e=="string"&&(t&&(e=`\x1B[${bee(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${bee(r)+Zje}m${e}\x1B[49m`)),e}function _ee(e,t=["constructor"]){let 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 Ix(e,t){if(!e)throw new Error(t||"Assertion failed")}function kp(){var t,r,n,i,a;let e;if(Fp()&&dw.performance)e=(n=(r=(t=dw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in hw){let o=(a=(i=hw)==null?void 0:i.hrtime)==null?void 0:a.call(i);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var i0={debug:Fp()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},eMe={enabled:!0,level:0};function a0(){}var wee={},Eee={once:!0},nu=class{constructor({id:t}={id:""}){this.VERSION=b5,this._startTs=kp(),this._deltaTs=kp(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new mw(`__probe-${this.id}__`,eMe),this.timeStamp(`${this.id} started`),_ee(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((kp()-this._startTs).toPrecision(10))}getDelta(){return Number((kp()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!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){if(!t)throw new Error(r||"Assertion failed")}warn(t){return this._getLogFunction(0,t,i0.warn,arguments,Eee)}error(t){return this._getLogFunction(0,t,i0.error,arguments)}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r){return this._getLogFunction(t,r,i0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,i0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,i0.debug||i0.info,arguments,Eee)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||a0,n&&[n],{tag:rMe(r)}):a0}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||a0)}group(t,r,n={collapsed:!1}){let i=Aee({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,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||a0)}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()>=Tee(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=Aee({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Ix(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=kp();let o=a.tag||a.message;if(a.once&&o)if(!wee[o])wee[o]=kp();else return a0;return r=tMe(this.id,a.message,a),n.bind(console,r,...a.args)}return a0}};nu.VERSION=b5;function Tee(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 Ix(Number.isFinite(t)&&t>=0),t}function Aee(e){let{logLevel:t,message:r}=e;e.logLevel=Tee(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 Ix(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function tMe(e,t,r){if(typeof t=="string"){let n=r.time?xee(vee(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=yee(t,r.color,r.background)}return t}function rMe(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var y5=new nu({id:"@probe.gl/log"});var _5="4.3.1",nMe=_5[0]>="0"&&_5[0]<="9"?`v${_5}`:"";function iMe(){let e=new nu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=nMe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var w5=iMe();function E5(e,t){return See(e||{},t)}function See(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]=See(n[i]||{},t[i],r+1):n[i]=t[i];return n}function Px(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function A5(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var Cee="latest";function aMe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.1"),globalThis._loadersgl_.version}var Bp=aMe();function gi(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var iu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},e7t=iu.self||iu.window||iu.global||{},t7t=iu.window||iu.self||iu.global||{},r7t=iu.global||iu.self||iu.window||{},n7t=iu.document||{};var ri=typeof process!="object"||String(process)!=="[object process]"||process.browser,Rx=typeof importScripts=="function",Fee=typeof window<"u"&&typeof window.orientation<"u",Dee=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),i7t=Dee&&parseFloat(Dee[1])||0;var jx=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){gi(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){gi(this.isRunning),this.isRunning=!1,this._reject(t)}};var Op={};Fi(Op,{NodeWorker:()=>Lx,parentPort:()=>oMe});var Mx=Dt(require("worker_threads"),1);Cv(Op,require("worker_threads"));var oMe=Mx==null?void 0:Mx.parentPort,Lx=Mx.Worker;var T5=new Map;function kee(e){gi(e.source&&!e.url||!e.source&&e.url);let t=T5.get(e.source||e.url);return t||(e.url&&(t=sMe(e.url),T5.set(e.url,t)),e.source&&(t=Bee(e.source),T5.set(e.source,t))),gi(t),t}function sMe(e){if(!e.startsWith("http"))return e;let t=uMe(e);return Bee(t)}function Bee(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function uMe(e){return`try {
155
155
  importScripts('${e}');
156
156
  } catch (error) {
157
157
  console.error(error);
158
158
  throw error;
159
159
  }`}function S5(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)S5(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 C5(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]=C5(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var D5=()=>{},Gl=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&ri||typeof Lx<"u"&&!ri}constructor(t){let{name:r,source:n,url:i}=t;gi(n||i),this.name=r,this.source=n,this.url=i,this.onMessage=D5,this.onError=a=>console.log(a),this.worker=ri?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=D5,this.onError=D5,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||S5(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=kee({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 Lx(n,{eval:!1})}else if(this.source)t=new Lx(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 qx=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return Gl.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 jx(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){!ri||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 Gl({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Fee?this.maxMobileConcurrency:this.maxConcurrency}};var cMe={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},Ip=class{props;workerPools=new Map;static isSupported(){return Gl.isSupported()}static getWorkerFarm(t={}){return Ip._workerFarm=Ip._workerFarm||new Ip({}),Ip._workerFarm.setProps(t),Ip._workerFarm}constructor(t){this.props={...cMe},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 qx({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}}},qi=Ip;DU(qi,"_workerFarm");function Iee(e){let t=e.version!==Bp?` (worker-utils@${Bp})`:"";return`${e.name}@${e.version}${t}`}function Nx(e,t={}){let r=t[e.id]||{},n=ri?`${e.id}-worker.js`:`${e.id}-worker-node.js`,i=r.workerUrl;if(!i&&e.id==="compression"&&(i=t.workerUrl),t._workerType==="test"&&(ri?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=Cee);let o=a?`@${a}`:"";i=`https://unpkg.com/@loaders.gl/${e.module}${o}/dist/${n}`}return gi(i),i}async function F5(e,t,r={},n={}){let i=Iee(e),a=qi.getWorkerFarm(r),{source:o}=r,s={name:i,source:o};o||(s.url=Nx(e,r));let u=a.getWorkerPool(s),c=r.jobName||e.name,l=await u.startJob(c,lMe.bind(null,n)),f=C5(r);return l.postMessage("process",{input:t,options:f}),(await l.result).result}async function lMe(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 k5(e,t=Bp){gi(e,"no worker provided");let r=e.version;return!(!t||!r)}var B5={};async function au(e,t=null,r={},n=null){return t&&(e=Pee(e,t,r,n)),B5[e]=B5[e]||fMe(e),await B5[e]}function Pee(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]:ri?r.CDN?(gi(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Bp}/dist/libs/${n}`):Rx?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function fMe(e){if(e.endsWith("wasm"))return await dMe(e);if(!ri)try{let{requireFromFile:r}=globalThis.loaders||{};return await(r==null?void 0:r(e))}catch(r){return console.error(r),null}if(Rx)return importScripts(e);let t=await hMe(e);return pMe(t,e)}function pMe(e,t){if(!ri){let{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(e,t)}if(Rx)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 dMe(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return ri||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function hMe(e){let{readFileAsText:t}=globalThis.loaders||{};return ri||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var Lee=Dt(require("child_process"),1);var Ree=Dt(require("child_process"),1);function jee(e=3e3){return new Promise(t=>{Ree.default.exec("lsof -i -P -n | grep LISTEN",(r,n)=>{if(r){t(e);return}let i=[],a=/:(\d+) \(LISTEN\)/;n.split(`
160
- `).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Mee={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},o0=class{id;props={...Mee};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Mee,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await jee(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=Lee.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 O5(e,t){return!qi.isSupported()||!ri&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function I5(e,t,r,n,i){let a=e.id,o=Nx(e,r),u=qi.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",mMe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function mMe(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 P5(e,t){return!qi.isSupported()||!wr&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Nee(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?qee(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?qee(e,0,t):""}function qee(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 R5(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Nee(e)}"`)}}function ou(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 hn(...e){return vw(e)}function vw(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 Ua(...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 Pp(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 Ga(e,t){return _t(e>=0),_t(t>0),e+(t-1)&~(t-1)}function j5(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+Ga(n.byteLength,4)}function M5(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 s0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Ux(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function xw(e,t,r,n){let i=Ga(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 u0(e,t,r,n){let a=new TextEncoder().encode(r);return t=xw(e,t,a,n),t}async function Rp(e){let t=[];for await(let r of e)t.push(r);return hn(...t)}var gMe="",Uee={};function su(e){for(let t in Uee)if(e.startsWith(t)){let r=Uee[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${gMe}${e}`),e}var vMe="4.3.0",L5={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:vMe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Gee,parse:async e=>Gee(new TextDecoder().decode(e)),options:{}};function Gee(e){return JSON.parse(e)}function zee(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Hee(e){return e&&typeof e=="object"&&e.isBuffer}function mc(e){if(Hee(e))return zee(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 c0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var ga={};Fi(ga,{dirname:()=>yMe,filename:()=>bMe,join:()=>_Me,resolve:()=>wMe});function Vee(){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 bMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function yMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function _Me(...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 wMe(...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=Vee()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Gx)}return r=EMe(r,!n),n?`/${r}`:r.length>0?r:"."}var Gx=47,q5=46;function EMe(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===Gx)break;a=Gx}if(a===Gx){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==q5||r.charCodeAt(r.length-2)!==q5){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Gx;--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===q5&&i!==-1?++i:i=-1}return r}var zx=new Error("Not implemented"),gc=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 wr?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 zx}async write(t,r,n){throw zx}async stat(){throw zx}async truncate(t){throw zx}async append(t){throw zx}async close(){}};var l0=new Error("Not implemented"),Hx=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw wr?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 l0}async openWritableFile(t,r,n){throw l0}async readdir(t=".",r){throw l0}async stat(t,r){throw l0}async unlink(t){throw l0}async fetch(t,r){throw l0}};var N5=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var za=class{file;constructor(t,r=!1){this.file=new gc(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 f0=e=>{if(e>Number.MAX_SAFE_INTEGER)throw new Error("Offset is out of bounds");return Number(e)},Vx=class{file;constructor(t){this.file=t}async destroy(){}async getUint8(t){return this.file.getUint8(f0(t))}async getUint16(t){return this.file.getUint16(f0(t),!0)}async getUint32(t){return this.file.getUint32(f0(t),!0)}async getBigUint64(t){return this.file.getBigUint64(f0(t),!0)}async slice(t,r){return this.file.buffer.slice(f0(t),f0(r))}get length(){return BigInt(this.file.byteLength)}};var vc=Dt(require("fs"),1),jp=class{handle;size;bigsize;url;constructor(t,r,n){t=su(t),this.handle=vc.default.openSync(t,r,n);let i=vc.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)=>{vc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{vc.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)=>{vc.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)=>vc.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);vc.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)=>vc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var ww=Dt(require("fs/promises"),1);var G5=Dt(require("fs"),1),U5=require("stream");var bw=Dt(require("zlib"),1),SMe=e=>e&&e instanceof ArrayBuffer,CMe=e=>e&&e instanceof Buffer;function yw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(bw.default.createBrotliDecompress());case"gzip":return e.pipe(bw.default.createGunzip());case"deflate":return e.pipe(bw.default.createDeflate());default:return e}}async function $ee(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(FMe(i))}),e.on("end",()=>{let i=DMe(t);r(i)})})}function DMe(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 FMe(e){if(SMe(e))return e;if(CMe(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 kMe=e=>typeof e=="boolean",Wee=e=>typeof e=="function",BMe=e=>e!==null&&typeof e=="object",OMe=e=>BMe(e)&&Wee(e.read)&&Wee(e.pipe)&&kMe(e.readable);async function _w(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=su(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=G5.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;OMe(a)?o=yw(a,i):typeof a=="string"?o=U5.Readable.from([new TextEncoder().encode(a)]):o=U5.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=IMe(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 IMe(e){let t={};if(!t["content-length"]){let r=G5.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 Ew=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await ww.default.readdir(t,r)}async stat(t){let r=await ww.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await ww.default.unlink(t)}async fetch(t,r){return await _w(t,r)}async openReadableFile(t,r="r"){return new jp(t,r)}async openWritableFile(t,r="w",n){return new jp(t,r,n)}};var xc=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 Rp(t)}};var p0=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}},PMe=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 PMe}function Kee(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+=jMe(n[i])}return t}function jMe(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 Jee(e);case"base64":return Yee(Jee(e));default:throw new Error(t)}}function Xee(e,t){switch(t){case"hex":return e;case"base64":return Yee(e);default:throw new Error(t)}}function Yee(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Kee(r)||""}function Jee(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var $x=class extends xc{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 p0;n.update(t);let i=n.finalize();return z5(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new p0;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 Zee=typeof atob=="function"?atob:typeof Buffer=="function"?zMe:tte,MMe=Zee("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),H5=WebAssembly&&Zee!==tte?GMe(MMe).buffer:!1,uu=HMe(),V5=240*16*16,ete=Math.floor(V5*16*1.066666667),LMe=268435456-65536,Qee="Parameter must be Buffer, ArrayBuffer or Uint8Array",qMe="Parameter exceeds max size of 255.9 Mbytes";H5||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function $5(e){var t,r,n,i,a,o,s,u,c,l;let f=UMe(),p=NMe(),d={},h=new Date().getTime();return d.then=function(y){return s=y,g(),d},d.catch=function(y){return u=y,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:b(new TypeError(Qee)):b(new TypeError(Qee)),o&&(a=o.length,H5&&a>ete?a>LMe?b(new Error(qMe)):(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(H5,n).then(m)):g(f(o))),d;function m(y){g(p(o,y.instance.exports,r))}function g(y){var w=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(w)&&(s(w,l-h),s=u=null):Boolean(y)&&(c=y)}function b(y){typeof u=="function"&&u(y)}}function NMe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X,Y,he,le,me,pe,Ce=new Date().getTime(),Be=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Oe=0,Le=h.length*8,Je;for(Je=xe(h,p),p[Le>>>5]|=128<<Le%32,p[(Le+64>>>9<<4)+14]=Le,Je=(Le+64>>>9<<4)+15,me=p;Oe<Je;)Je>Oe+ete?(n(J),a(N),s(K),c(Q),t(V5),Oe=Oe+V5*16,J=r(),N=i(),K=o(),Q=u(),Be++):(X=J,Y=N,he=K,le=Q,m=me[Oe+0]>>>0,g=me[Oe+1]>>>0,b=me[Oe+2]>>>0,y=me[Oe+3]>>>0,w=me[Oe+4]>>>0,T=me[Oe+5]>>>0,E=me[Oe+6]>>>0,k=me[Oe+7]>>>0,B=me[Oe+8]>>>0,j=me[Oe+9]>>>0,C=me[Oe+10]>>>0,I=me[Oe+11]>>>0,P=me[Oe+12]>>>0,L=me[Oe+13]>>>0,G=me[Oe+14]>>>0,V=me[Oe+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+m-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+g-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+b+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+y-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+w-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+T+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+E-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+k-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+B+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+j-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+C-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+I-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+P+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+L-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+V+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+g-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+E-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+I+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+m-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+T-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+C+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+V-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+w-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+j+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+y-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+B+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+L-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+b-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+k+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+P-1926607734)+K,J=ie(4,28,J+(N^K^Q)+T-378558)+N,Q=ie(11,21,Q+(J^N^K)+B-2022574463)+J,K=ie(16,16,K+(Q^J^N)+I+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+g-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+w+1272893353)+J,K=ie(16,16,K+(Q^J^N)+k-155497632)+Q,N=ie(23,9,N+(K^Q^J)+C-1094730640)+K,J=ie(4,28,J+(N^K^Q)+L+681279174)+N,Q=ie(11,21,Q+(J^N^K)+m-358537222)+J,K=ie(16,16,K+(Q^J^N)+y-722521979)+Q,N=ie(23,9,N+(K^Q^J)+E+76029189)+K,J=ie(4,28,J+(N^K^Q)+j-640364487)+N,Q=ie(11,21,Q+(J^N^K)+P-421815835)+J,K=ie(16,16,K+(Q^J^N)+V+530742520)+Q,N=ie(23,9,N+(K^Q^J)+b-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+m-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+k+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+T-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+P+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+y-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+C-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+g-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+B+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+V-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+E-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+L+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+w-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+I-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+b+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+j-343485551)+K,Oe=Oe+16,J=J+X>>>0,N=N+Y>>>0,K=K+he>>>0,Q=Q+le>>>0);return uu.endian([J,N,K,Q]);function ie(ge,Ye,Ae){return Ae<<ge|Ae>>>Ye}function xe(ge,Ye){for(var Ae=-1,nt=Math.floor((ge.length-1)/4),bt=0,Dr,re,Ie,$e;nt-8>Ae++;)bt=Ae<<2,Ye[Ae]=ge[bt+0]|ge[bt+1]<<8|ge[bt+2]<<16|ge[bt+3]<<24;for(Ae--;nt>Ae++;)bt=Ae<<2,Dr=typeof ge[bt+0]>"u"?0:ge[bt+0],re=typeof ge[bt+1]>"u"?0:ge[bt+1],Ie=typeof ge[bt+2]>"u"?0:ge[bt+2],$e=typeof ge[bt+3]>"u"?0:ge[bt+3],Ye[Ae]=Dr|re<<8|Ie<<16|$e<<24;return nt+1}};return function(h,m,g,b){var y;return t=m.loops,e=m.loop,r=m.getA,i=m.getB,o=m.getC,u=m.getD,l=m.getX,n=m.setA,a=m.setB,s=m.setC,c=m.setD,f=m.setX,p=g,y=uu.wordsToBytes(d(h)),b&&b.asBytes?y:uu.bytesconvertNumberToHex(y)}}function UMe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,m,g,b,y,w,T,E,k,B,j=new Date().getTime(),C=1732584193,I=-271733879,P=-1732584194,L=271733878,G=t.length*8;B=uu.bytesToWords(t);for(var V=0;V<B.length;V++)B[V]=(B[V]<<8|B[V]>>>24)&16711935|(B[V]<<24|B[V]>>>8)&4278255360;B[G>>>5]|=128<<G%32,B[(G+64>>>9<<4)+14]=G;for(var X=0;X<B.length;X+=16)w=C,T=I,E=P,k=L,n=B[X+0]>>>0,i=B[X+1]>>>0,a=B[X+2]>>>0,o=B[X+3]>>>0,s=B[X+4]>>>0,u=B[X+5]>>>0,c=B[X+6]>>>0,l=B[X+7]>>>0,f=B[X+8]>>>0,p=B[X+9]>>>0,d=B[X+10]>>>0,h=B[X+11]>>>0,m=B[X+12]>>>0,g=B[X+13]>>>0,b=B[X+14]>>>0,y=B[X+15]>>>0,C=Y(7,25,C+(I&P|~I&L)+n-680876936)+I,L=Y(12,20,L+(C&I|~C&P)+i-389564586)+C,P=Y(17,15,P+(L&C|~L&I)+a+606105819)+L,I=Y(22,10,I+(P&L|~P&C)+o-1044525330)+P,C=Y(7,25,C+(I&P|~I&L)+s-176418897)+I,L=Y(12,20,L+(C&I|~C&P)+u+1200080426)+C,P=Y(17,15,P+(L&C|~L&I)+c-1473231341)+L,I=Y(22,10,I+(P&L|~P&C)+l-45705983)+P,C=Y(7,25,C+(I&P|~I&L)+f+1770035416)+I,L=Y(12,20,L+(C&I|~C&P)+p-1958414417)+C,P=Y(17,15,P+(L&C|~L&I)+d-42063)+L,I=Y(22,10,I+(P&L|~P&C)+h-1990404162)+P,C=Y(7,25,C+(I&P|~I&L)+m+1804603682)+I,L=Y(12,20,L+(C&I|~C&P)+g-40341101)+C,P=Y(17,15,P+(L&C|~L&I)+b-1502002290)+L,I=Y(22,10,I+(P&L|~P&C)+y+1236535329)+P,C=Y(5,27,C+(I&L|P&~L)+i-165796510)+I,L=Y(9,23,L+(C&P|I&~P)+c-1069501632)+C,P=Y(14,18,P+(L&I|C&~I)+h+643717713)+L,I=Y(20,12,I+(P&C|L&~C)+n-373897302)+P,C=Y(5,27,C+(I&L|P&~L)+u-701558691)+I,L=Y(9,23,L+(C&P|I&~P)+d+38016083)+C,P=Y(14,18,P+(L&I|C&~I)+y-660478335)+L,I=Y(20,12,I+(P&C|L&~C)+s-405537848)+P,C=Y(5,27,C+(I&L|P&~L)+p+568446438)+I,L=Y(9,23,L+(C&P|I&~P)+b-1019803690)+C,P=Y(14,18,P+(L&I|C&~I)+o-187363961)+L,I=Y(20,12,I+(P&C|L&~C)+f+1163531501)+P,C=Y(5,27,C+(I&L|P&~L)+g-1444681467)+I,L=Y(9,23,L+(C&P|I&~P)+a-51403784)+C,P=Y(14,18,P+(L&I|C&~I)+l+1735328473)+L,I=Y(20,12,I+(P&C|L&~C)+m-1926607734)+P,C=Y(4,28,C+(I^P^L)+u-378558)+I,L=Y(11,21,L+(C^I^P)+f-2022574463)+C,P=Y(16,16,P+(L^C^I)+h+1839030562)+L,I=Y(23,9,I+(P^L^C)+b-35309556)+P,C=Y(4,28,C+(I^P^L)+i-1530992060)+I,L=Y(11,21,L+(C^I^P)+s+1272893353)+C,P=Y(16,16,P+(L^C^I)+l-155497632)+L,I=Y(23,9,I+(P^L^C)+d-1094730640)+P,C=Y(4,28,C+(I^P^L)+g+681279174)+I,L=Y(11,21,L+(C^I^P)+n-358537222)+C,P=Y(16,16,P+(L^C^I)+o-722521979)+L,I=Y(23,9,I+(P^L^C)+c+76029189)+P,C=Y(4,28,C+(I^P^L)+p-640364487)+I,L=Y(11,21,L+(C^I^P)+m-421815835)+C,P=Y(16,16,P+(L^C^I)+y+530742520)+L,I=Y(23,9,I+(P^L^C)+a-995338651)+P,C=Y(6,26,C+(P^(I|~L))+n-198630844)+I,L=Y(10,22,L+(I^(C|~P))+l+1126891415)+C,P=Y(15,17,P+(C^(L|~I))+b-1416354905)+L,I=Y(21,11,I+(L^(P|~C))+u-57434055)+P,C=Y(6,26,C+(P^(I|~L))+m+1700485571)+I,L=Y(10,22,L+(I^(C|~P))+o-1894986606)+C,P=Y(15,17,P+(C^(L|~I))+d-1051523)+L,I=Y(21,11,I+(L^(P|~C))+i-2054922799)+P,C=Y(6,26,C+(P^(I|~L))+f+1873313359)+I,L=Y(10,22,L+(I^(C|~P))+y-30611744)+C,P=Y(15,17,P+(C^(L|~I))+c-1560198380)+L,I=Y(21,11,I+(L^(P|~C))+g+1309151649)+P,C=Y(6,26,C+(P^(I|~L))+s-145523070)+I,L=Y(10,22,L+(I^(C|~P))+h-1120210379)+C,P=Y(15,17,P+(C^(L|~I))+a+718787259)+L,I=Y(21,11,I+(L^(P|~C))+p-343485551)+P,C=C+w>>>0,I=I+T>>>0,P=P+E>>>0,L=L+k>>>0;return uu.endian([C,I,P,L]);function Y(he,le,me){return me<<he|me>>>le}};return function(t,r){var n=uu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:uu.bytesconvertNumberToHex(n);return i}}function GMe(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 zMe(e){return Buffer.from(e,"base64").toString("binary")}function tte(e){return e}function HMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return uu.rotl(t,8)&16711935|uu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=uu.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 cu=class extends xc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>$5(t).then(a).catch(o));return Xee(i,r)}};var Wx=Dt(require("crypto"),1),Aw=class extends xc{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(!Wx.createHash)throw new Error("crypto.createHash not available");let u=(s=Wx.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(!Wx.createHash)throw new Error("crypto.createHash not available");let n=(u=Wx.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 Ire=require("process");var rte=Dt(require("stream"),1),W5=class{},VMe=rte.Readable||W5;function J5(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new K5(r,t)}var K5=class extends VMe{_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}};function Zx(){}function En(e){return typeof e=="object"&&e!==null||typeof e=="function"}var wte=Zx;function er(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var mB=Promise,$Me=Promise.resolve.bind(mB),WMe=Promise.prototype.then,KMe=Promise.reject.bind(mB),JMe=$Me;function Pn(e){return new mB(e)}function tr(e){return Pn(t=>t(e))}function it(e){return KMe(e)}function du(e,t,r){return WMe.call(e,t,r)}function va(e,t,r){du(du(e,t,r),void 0,wte)}function X5(e,t){va(e,t)}function aB(e,t){va(e,void 0,t)}function Ac(e,t,r){return du(e,t,r)}function y0(e){du(e,void 0,wte)}var Gp=e=>{if(typeof queueMicrotask=="function")Gp=queueMicrotask;else{let t=tr(void 0);Gp=r=>du(t,r)}return Gp(e)};function zp(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Sc(e,t,r){try{return tr(zp(e,t,r))}catch(n){return it(n)}}var xa=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},Ete=Symbol("[[AbortSteps]]"),Ate=Symbol("[[ErrorSteps]]"),gB=Symbol("[[CancelSteps]]"),vB=Symbol("[[PullSteps]]"),xB=Symbol("[[ReleaseSteps]]");function Tte(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?oB(e):t._state==="closed"?function(r){oB(r),Cte(r)}(e):Ste(e,t._storedError)}function bB(e,t){return os(e._ownerReadableStream,t)}function Ec(e){let t=e._ownerReadableStream;t._state==="readable"?yB(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){Ste(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[xB](),t._reader=void 0,e._ownerReadableStream=void 0}function qw(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function oB(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Ste(e,t){oB(e),yB(e,t)}function yB(e,t){e._closedPromise_reject!==void 0&&(y0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Cte(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var nte=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},XMe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function hu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function go(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Dte(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Tc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function sB(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function _B(e){return Number(e)}function ite(e){return e===0?0:e}function wB(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=ite(n),!nte(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return ite(XMe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return nte(n)&&n!==0?n:0}function EB(e,t){if(!zl(e))throw new TypeError(`${t} is not a ReadableStream.`)}function m0(e){return new bc(e)}function Fte(e,t){e._reader._readRequests.push(t)}function AB(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function Ww(e){return e._reader._readRequests.length}function kte(e){let t=e._reader;return t!==void 0&&!!Hl(t)}var bc=class{constructor(t){if(Tc(t,1,"ReadableStreamDefaultReader"),EB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Tte(this,t),this._readRequests=new xa}get closed(){return Hl(this)?this._closedPromise:it(Tw("closed"))}cancel(t=void 0){return Hl(this)?this._ownerReadableStream===void 0?it(qw("cancel")):bB(this,t):it(Tw("cancel"))}read(){if(!Hl(this))return it(Tw("read"));if(this._ownerReadableStream===void 0)return it(qw("read from"));let t,r,n=Pn((i,a)=>{t=i,r=a});return eb(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!Hl(this))throw Tw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");Bte(t,r)}(this)}};function Hl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof bc}function eb(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[vB](t)}function Bte(e,t){let r=e._readRequests;e._readRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Tw(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var Y5,Q5,Z5;function Jx(e){return e.slice()}function Ote(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(bc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(bc.prototype.cancel,"cancel"),er(bc.prototype.read,"read"),er(bc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var Hp=e=>(Hp=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,Hp(e)),Vp=e=>(Vp=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Vp(e));function Ite(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Ote(i,0,e,t,n),i}function Xx(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function ate(e){try{let t=e.done,r=e.value;return du(JMe(r),n=>({done:t,value:n}))}catch(t){return it(t)}}var ub=(Z5=(Y5=Symbol.asyncIterator)!==null&&Y5!==void 0?Y5:(Q5=Symbol.for)===null||Q5===void 0?void 0:Q5.call(Symbol,"Symbol.asyncIterator"))!==null&&Z5!==void 0?Z5:"@@asyncIterator";function Pte(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Xx(e,ub))===void 0)return function(i){let a={next(){let o;try{o=Rte(i)}catch(s){return it(s)}return ate(o)},return(o){let s;try{let u=Xx(i.iterator,"return");if(u===void 0)return tr({done:!0,value:o});s=zp(u,i.iterator,[o])}catch(u){return it(u)}return En(s)?ate(s):it(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Pte(e,"sync",Xx(e,Symbol.iterator)))}else r=Xx(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=zp(r,e,[]);if(!En(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Rte(e){let t=zp(e.nextMethod,e.iterator,[]);if(!En(t))throw new TypeError("The iterator.next() method must return an object");return t}var Nw=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Ac(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Ac(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Pn((a,o)=>{r=a,n=o});return eb(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,Gp(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=bB(r,t);return Ec(r),Ac(n,()=>({value:t,done:!0}))}return Ec(r),tr({value:t,done:!0})}},jte={next(){return ote(this)?this._asyncIteratorImpl.next():it(ste("next"))},return(e){return ote(this)?this._asyncIteratorImpl.return(e):it(ste("return"))},[ub](){return this}};function ote(e){if(!En(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof Nw}catch{return!1}}function ste(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(jte,ub,{enumerable:!1});var Mte=Number.isNaN||function(e){return e!=e};function ute(e){let t=Ite(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function uB(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function TB(e,t,r){if(typeof(n=r)!="number"||Mte(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Wl(e){e._queue=new xa,e._queueTotalSize=0}function Lte(e){return e===DataView}var Vl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!eB(this))throw tB("view");return this._view}respond(t){if(!eB(this))throw tB("respond");if(Tc(t,1,"respond"),t=wB(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Vp(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Rw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!eB(this))throw tB("respondWithNewView");if(Tc(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Vp(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");jw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Vl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),er(Vl.prototype.respond,"respond"),er(Vl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Vl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var fu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Np(this))throw Kx("byobRequest");return fB(this)}get desiredSize(){if(!Np(this))throw Kx("desiredSize");return Kte(this)}close(){if(!Np(this))throw Kx("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);Yx(this)}enqueue(t){if(!Np(this))throw Kx("enqueue");if(Tc(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Pw(this,t)}error(t=void 0){if(!Np(this))throw Kx("error");mo(this,t)}[gB](t){qte(this),Wl(this);let r=this._cancelAlgorithm(t);return Kw(this),r}[vB](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void Wte(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}Fte(r,t),Kp(this)}[xB](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new xa,this._pendingPullIntos.push(t)}}};function Np(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof fu}function eB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Vl}function Kp(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(kte(n)&&Ww(n)>0||CB(n)&&Yte(n)>0||Kte(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Kp(e)),null),r=>(mo(e,r),null))}}function qte(e){SB(e),e._pendingPullIntos=new xa}function cB(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Nte(t);t.readerType==="default"?AB(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Nte(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Iw(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Ute(e,t,r,n){let i;try{i=Ite(t,r,r+n)}catch(a){throw mo(e,a),a}Iw(e,i,0,n)}function Gte(e,t){t.bytesFilled>0&&Ute(e,t.buffer,t.byteOffset,t.bytesFilled),g0(e)}function zte(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Ote(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,Hte(e,c,t),i-=c}return a}function Hte(e,t,r){r.bytesFilled+=t}function Vte(e){e._queueTotalSize===0&&e._closeRequested?(Kw(e),cb(e._controlledReadableByteStream)):Kp(e)}function SB(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function lB(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();zte(e,t)&&(g0(e),cB(e._controlledReadableByteStream,t))}}function YMe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Lte(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=Hp(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void cte(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(zte(e,f)){let p=Nte(f);return Vte(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return mo(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),cte(i,n),Kp(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function $te(e,t){let r=e._pendingPullIntos.peek();SB(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&g0(n);let a=n._controlledReadableByteStream;if(CB(a))for(;Yte(a)>0;)cB(a,g0(n))}(e,r):function(n,i,a){if(Hte(0,i,a),a.readerType==="none")return Gte(n,a),void lB(n);if(a.bytesFilled<a.minimumFill)return;g0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Ute(n,a.buffer,s-o,o)}a.bytesFilled-=o,cB(n._controlledReadableByteStream,a),lB(n)}(e,t,r),Kp(e)}function g0(e){return e._pendingPullIntos.shift()}function Kw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Yx(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!=0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw mo(e,n),n}}Kw(e),cb(t)}}function Pw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(Vp(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=Hp(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Vp(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");SB(e),s.buffer=Hp(s.buffer),s.readerType==="none"&&Gte(e,s)}kte(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;Wte(s,u._readRequests.shift())}}(e),Ww(r)===0?Iw(e,o,i,a):(e._pendingPullIntos.length>0&&g0(e),AB(r,new Uint8Array(o,i,a),!1))):CB(r)?(Iw(e,o,i,a),lB(e)):Iw(e,o,i,a),Kp(e)}function mo(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(qte(e),Wl(e),Kw(e),vre(r,t))}function Wte(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Vte(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function fB(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(Vl.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Kte(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Rw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=Hp(r.buffer),$te(e,t)}function jw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=Hp(t.buffer),$te(e,n)}function Jte(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,Wl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new xa,e._readableStreamController=t,va(tr(r()),()=>(t._started=!0,Kp(t),null),s=>(mo(t,s),null))}function tB(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Kx(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function QMe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Xte(e){return new yc(e)}function cte(e,t){e._reader._readIntoRequests.push(t)}function Yte(e){return e._reader._readIntoRequests.length}function CB(e){let t=e._reader;return t!==void 0&&!!Up(t)}Object.defineProperties(fu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),er(fu.prototype.close,"close"),er(fu.prototype.enqueue,"enqueue"),er(fu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var yc=class{constructor(t){if(Tc(t,1,"ReadableStreamBYOBReader"),EB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Np(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Tte(this,t),this._readIntoRequests=new xa}get closed(){return Up(this)?this._closedPromise:it(Sw("closed"))}cancel(t=void 0){return Up(this)?this._ownerReadableStream===void 0?it(qw("cancel")):bB(this,t):it(Sw("cancel"))}read(t,r={}){if(!Up(this))return it(Sw("read"));if(!ArrayBuffer.isView(t))return it(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return it(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return it(new TypeError("view's buffer must have non-zero byteLength"));if(Vp(t.buffer))return it(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return hu(u,c),{min:wB((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return it(u)}let i=n.min;if(i===0)return it(new TypeError("options.min must be greater than 0"));if(function(u){return Lte(u.constructor)}(t)){if(i>t.byteLength)return it(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return it(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return it(qw("read from"));let a,o,s=Pn((u,c)=>{a=u,o=c});return Qte(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!Up(this))throw Sw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");Zte(t,r)}(this)}};function Up(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof yc}function Qte(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):YMe(i._readableStreamController,t,r,n)}function Zte(e,t){let r=e._readIntoRequests;e._readIntoRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Sw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function tb(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Mte(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Uw(e){let{size:t}=e;return t||(()=>1)}function Gw(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:_B(r),size:n===void 0?void 0:ZMe(n,`${t} has member 'size' that`)}}function ZMe(e,t){return go(e,t),r=>_B(e(r))}function eLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function tLe(e,t,r){return go(e,r),()=>Sc(e,t,[])}function rLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function nLe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function ere(e,t){if(!h0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(yc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(yc.prototype.cancel,"cancel"),er(yc.prototype.read,"read"),er(yc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var iLe=typeof AbortController=="function",_c=class{constructor(t={},r={}){t===void 0?t=null:Dte(t,"First parameter");let n=Gw(r,"Second parameter"),i=function(o,s){hu(o,s);let u=o==null?void 0:o.abort,c=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,p=o==null?void 0:o.write;return{abort:u===void 0?void 0:eLe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:tLe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:rLe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:nLe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(rre(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=Uw(n);(function(o,s,u,c){let l=Object.create($p.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?m=>s.write(m,l):()=>tr(void 0),d=s.close!==void 0?()=>s.close():()=>tr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>tr(void 0),cre(o,l,f,p,d,h,u,c)})(this,i,tb(n,1),a)}get locked(){if(!h0(this))throw Dw("locked");return v0(this)}abort(t=void 0){return h0(this)?v0(this)?it(new TypeError("Cannot abort a stream that already has a writer")):zw(this,t):it(Dw("abort"))}close(){return h0(this)?v0(this)?it(new TypeError("Cannot close a stream that already has a writer")):mu(this)?it(new TypeError("Cannot close an already-closing stream")):nre(this):it(Dw("close"))}getWriter(){if(!h0(this))throw Dw("getWriter");return tre(this)}};function tre(e){return new lu(e)}function rre(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new xa,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function h0(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof _c}function v0(e){return e._writer!==void 0}function zw(e,t){var r;if(e._state==="closed"||e._state==="errored")return tr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return tr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Pn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||DB(e,t),a}function nre(e){let t=e._state;if(t==="closed"||t==="errored")return it(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Pn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&IB(n),TB(i=e._writableStreamController,ure,0),Jw(i),r}function pB(e,t){e._state!=="writable"?FB(e):DB(e,t)}function DB(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&are(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&FB(e)}function FB(e){e._state="errored",e._writableStreamController[Ate]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new xa,e._pendingAbortRequest===void 0)return void Cw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void Cw(e);va(e._writableStreamController[Ete](r._reason),()=>(r._resolve(),Cw(e),null),n=>(r._reject(n),Cw(e),null))}function mu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function Cw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&OB(t,e._storedError)}function kB(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){Xw(n)}(r):IB(r)),e._backpressure=t}Object.defineProperties(_c.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),er(_c.prototype.abort,"abort"),er(_c.prototype.close,"close"),er(_c.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(_c.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var lu=class{constructor(t){if(Tc(t,1,"WritableStreamDefaultWriter"),ere(t,"First parameter"),v0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!mu(t)&&t._backpressure?Xw(this):lte(this),Mw(this);else if(r==="erroring")dB(this,t._storedError),Mw(this);else if(r==="closed")lte(this),Mw(n=this),dre(n);else{let i=t._storedError;dB(this,i),pre(this,i)}var n}get closed(){return Mp(this)?this._closedPromise:it(Lp("closed"))}get desiredSize(){if(!Mp(this))throw Lp("desiredSize");if(this._ownerWritableStream===void 0)throw Qx("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:lre(r._writableStreamController)}(this)}get ready(){return Mp(this)?this._readyPromise:it(Lp("ready"))}abort(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Qx("abort")):function(r,n){return zw(r._ownerWritableStream,n)}(this,t):it(Lp("abort"))}close(){if(!Mp(this))return it(Lp("close"));let t=this._ownerWritableStream;return t===void 0?it(Qx("close")):mu(t)?it(new TypeError("Cannot close an already-closing stream")):ire(this)}releaseLock(){if(!Mp(this))throw Lp("releaseLock");this._ownerWritableStream!==void 0&&ore(this)}write(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Qx("write to")):sre(this,t):it(Lp("write"))}};function Mp(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof lu}function ire(e){return nre(e._ownerWritableStream)}function aLe(e,t){e._closedPromiseState==="pending"?OB(e,t):function(r,n){pre(r,n)}(e,t)}function are(e,t){e._readyPromiseState==="pending"?hre(e,t):function(r,n){dB(r,n)}(e,t)}function ore(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");are(e,r),aLe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function sre(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return rb(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return it(Qx("write to"));let a=r._state;if(a==="errored")return it(r._storedError);if(mu(r)||a==="closed")return it(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return it(r._storedError);let o=function(s){return Pn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{TB(s,u,c)}catch(f){return void rb(s,f)}let l=s._controlledWritableStream;!mu(l)&&l._state==="writable"&&kB(l,BB(s)),Jw(s)}(n,t,i),o}Object.defineProperties(lu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),er(lu.prototype.abort,"abort"),er(lu.prototype.close,"close"),er(lu.prototype.releaseLock,"releaseLock"),er(lu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(lu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var ure={},$p=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!rB(this))throw nB("abortReason");return this._abortReason}get signal(){if(!rB(this))throw nB("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!rB(this))throw nB("error");this._controlledWritableStream._state==="writable"&&fre(this,t)}[Ete](t){let r=this._abortAlgorithm(t);return Hw(this),r}[Ate](){Wl(this)}};function rB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof $p}function cre(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Wl(t),t._abortReason=void 0,t._abortController=function(){if(iLe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=BB(t);kB(e,u),va(tr(r()),()=>(t._started=!0,Jw(t),null),c=>(t._started=!0,pB(e,c),null))}function Hw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function lre(e){return e._strategyHWM-e._queueTotalSize}function Jw(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void FB(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===ure?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),uB(n);let a=n._closeAlgorithm();Hw(n),va(a,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&dre(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),pB(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);va(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(uB(n),!mu(a)&&s==="writable"){let u=BB(n);kB(a,u)}return Jw(n),null},s=>(a._state==="writable"&&Hw(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,pB(u,c)}(a,s),null))}(e,r)}function rb(e,t){e._controlledWritableStream._state==="writable"&&fre(e,t)}function BB(e){return lre(e)<=0}function fre(e,t){let r=e._controlledWritableStream;Hw(e),DB(r,t)}function Dw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function nB(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Lp(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Qx(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function Mw(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function pre(e,t){Mw(e),OB(e,t)}function OB(e,t){e._closedPromise_reject!==void 0&&(y0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function dre(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Xw(e){e._readyPromise=Pn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function dB(e,t){Xw(e),hre(e,t)}function lte(e){Xw(e),IB(e)}function hre(e,t){e._readyPromise_reject!==void 0&&(y0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function IB(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties($p.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($p.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var fte=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,oLe=function(){let e=fte==null?void 0:fte.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return er(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function pte(e,t,r,n,i,a){let o=m0(e),s=tre(t);e._disturbed=!0;let u=!1,c=tr(void 0);return Pn((l,f)=>{let p;if(a!==void 0){if(p=()=>{let E=a.reason!==void 0?a.reason:new oLe("Aborted","AbortError"),k=[];n||k.push(()=>t._state==="writable"?zw(t,E):tr(void 0)),i||k.push(()=>e._state==="readable"?os(e,E):tr(void 0)),y(()=>Promise.all(k.map(B=>B())),!0,E)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,m;if(b(e,o._closedPromise,E=>(n?w(!0,E):y(()=>zw(t,E),!0,E),null)),b(t,s._closedPromise,E=>(i?w(!0,E):y(()=>os(e,E),!0,E),null)),d=e,h=o._closedPromise,m=()=>(r?w():y(()=>function(E){let k=E._ownerWritableStream,B=k._state;return mu(k)||B==="closed"?tr(void 0):B==="errored"?it(k._storedError):ire(E)}(s)),null),d._state==="closed"?m():X5(h,m),mu(t)||t._state==="closed"){let E=new TypeError("the destination writable stream closed before all data could be piped to it");i?w(!0,E):y(()=>os(e,E),!0,E)}function g(){let E=c;return du(c,()=>E!==c?g():void 0)}function b(E,k,B){E._state==="errored"?B(E._storedError):aB(k,B)}function y(E,k,B){function j(){return va(E(),()=>T(k,B),C=>T(!0,C)),null}u||(u=!0,t._state!=="writable"||mu(t)?j():X5(g(),j))}function w(E,k){u||(u=!0,t._state!=="writable"||mu(t)?T(E,k):X5(g(),()=>T(E,k)))}function T(E,k){return ore(s),Ec(o),a!==void 0&&a.removeEventListener("abort",p),E?f(k):l(void 0),null}y0(Pn((E,k)=>{(function B(j){j?E():du(u?tr(!0):du(s._readyPromise,()=>Pn((C,I)=>{eb(o,{_chunkSteps:P=>{c=du(sre(s,P),void 0,Zx),C(!1)},_closeSteps:()=>C(!0),_errorSteps:I})})),B,k)})(!1)}))})}var pu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Fw(this))throw kw("desiredSize");return PB(this)}close(){if(!Fw(this))throw kw("close");if(!b0(this))throw new TypeError("The stream is not in a state that permits close");Wp(this)}enqueue(t=void 0){if(!Fw(this))throw kw("enqueue");if(!b0(this))throw new TypeError("The stream is not in a state that permits enqueue");return x0(this,t)}error(t=void 0){if(!Fw(this))throw kw("error");ss(this,t)}[gB](t){Wl(this);let r=this._cancelAlgorithm(t);return Vw(this),r}[vB](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=uB(this);this._closeRequested&&this._queue.length===0?(Vw(this),cb(r)):nb(this),t._chunkSteps(n)}else Fte(r,t),nb(this)}[xB](){}};function Fw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof pu}function nb(e){if(mre(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,nb(e)),null),t=>(ss(e,t),null))}}function mre(e){let t=e._controlledReadableStream;return!b0(e)||!e._started?!1:$l(t)&&Ww(t)>0?!0:PB(e)>0}function Vw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Wp(e){if(!b0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Vw(e),cb(t))}function x0(e,t){if(!b0(e))return;let r=e._controlledReadableStream;if($l(r)&&Ww(r)>0)AB(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw ss(e,i),i}try{TB(e,t,n)}catch(i){throw ss(e,i),i}}nb(e)}function ss(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Wl(e),Vw(e),vre(r,t))}function PB(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function b0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function gre(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Wl(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,va(tr(r()),()=>(t._started=!0,nb(t),null),s=>(ss(t,s),null))}function kw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function sLe(e,t){return Np(e._readableStreamController)?function(r){let n,i,a,o,s,u=m0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Pn(B=>{s=B});function m(B){aB(B._closedPromise,j=>(B!==u||(mo(a._readableStreamController,j),mo(o._readableStreamController,j),p&&d||s(void 0)),null))}function g(){Up(u)&&(Ec(u),u=m0(r),m(u)),eb(u,{_chunkSteps:B=>{Gp(()=>{l=!1,f=!1;let j=B,C=B;if(!p&&!d)try{C=ute(B)}catch(I){return mo(a._readableStreamController,I),mo(o._readableStreamController,I),void s(os(r,I))}p||Pw(a._readableStreamController,j),d||Pw(o._readableStreamController,C),c=!1,l?y():f&&w()})},_closeSteps:()=>{c=!1,p||Yx(a._readableStreamController),d||Yx(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&Rw(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Rw(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function b(B,j){Hl(u)&&(Ec(u),u=Xte(r),m(u));let C=j?o:a,I=j?a:o;Qte(u,B,1,{_chunkSteps:P=>{Gp(()=>{l=!1,f=!1;let L=j?d:p;if(j?p:d)L||jw(C._readableStreamController,P);else{let G;try{G=ute(P)}catch(V){return mo(C._readableStreamController,V),mo(I._readableStreamController,V),void s(os(r,V))}L||jw(C._readableStreamController,P),Pw(I._readableStreamController,G)}c=!1,l?y():f&&w()})},_closeSteps:P=>{c=!1;let L=j?d:p,G=j?p:d;L||Yx(C._readableStreamController),G||Yx(I._readableStreamController),P!==void 0&&(L||jw(C._readableStreamController,P),!G&&I._readableStreamController._pendingPullIntos.length>0&&Rw(I._readableStreamController,0)),L&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function y(){if(c)return l=!0,tr(void 0);c=!0;let B=fB(a._readableStreamController);return B===null?g():b(B._view,!1),tr(void 0)}function w(){if(c)return f=!0,tr(void 0);c=!0;let B=fB(o._readableStreamController);return B===null?g():b(B._view,!0),tr(void 0)}function T(B){if(p=!0,n=B,d){let j=Jx([n,i]),C=os(r,j);s(C)}return h}function E(B){if(d=!0,i=B,p){let j=Jx([n,i]),C=os(r,j);s(C)}return h}function k(){}return a=hte(k,y,T),o=hte(k,w,E),m(u),[a,o]}(e):function(r,n){let i=m0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Pn(w=>{c=w});function m(){return l?(f=!0,tr(void 0)):(l=!0,eb(i,{_chunkSteps:w=>{Gp(()=>{f=!1;let T=w,E=w;p||x0(s._readableStreamController,T),d||x0(u._readableStreamController,E),l=!1,f&&m()})},_closeSteps:()=>{l=!1,p||Wp(s._readableStreamController),d||Wp(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),tr(void 0))}function g(w){if(p=!0,a=w,d){let T=Jx([a,o]),E=os(r,T);c(E)}return h}function b(w){if(d=!0,o=w,p){let T=Jx([a,o]),E=os(r,T);c(E)}return h}function y(){}return s=ib(y,m,g),u=ib(y,m,b),aB(i._closedPromise,w=>(ss(s._readableStreamController,w),ss(u._readableStreamController,w),p&&d||c(void 0),null)),[s,u]}(e)}function uLe(e){return En(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return it(s)}return Ac(o,s=>{if(!En(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Wp(n._readableStreamController);else{let u=s.value;x0(n._readableStreamController,u)}})}function a(o){try{return tr(r.cancel(o))}catch(s){return it(s)}}return n=ib(Zx,i,a,0),n}(e.getReader()):function(r){let n,i=Pte(r,"async");function a(){let s;try{s=Rte(i)}catch(u){return it(u)}return Ac(tr(s),u=>{if(!En(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)Wp(n._readableStreamController);else{let c=u.value;x0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Xx(u,"return")}catch(l){return it(l)}return c===void 0?tr(void 0):Ac(Sc(c,u,[s]),l=>{if(!En(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=ib(Zx,a,o,0),n}(e);var t}function cLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function lLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function fLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function pLe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function dte(e,t){hu(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(pu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),er(pu.prototype.close,"close"),er(pu.prototype.enqueue,"enqueue"),er(pu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var $n=class{constructor(t={},r={}){t===void 0?t=null:Dte(t,"First parameter");let n=Gw(r,"Second parameter"),i=function(a,o){hu(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,p=s==null?void 0:s.type;return{autoAllocateChunkSize:u===void 0?void 0:wB(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:cLe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:lLe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:fLe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:pLe(p,`${o} has member 'type' that`)}}(t,"First parameter");if(RB(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(fu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>tr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>tr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Jte(a,u,c,l,f,s,p)})(this,i,tb(n,0))}else{let a=Uw(n);(function(o,s,u,c){let l=Object.create(pu.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>tr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>tr(void 0),gre(o,l,f,p,d,u,c)})(this,i,tb(n,1),a)}}get locked(){if(!zl(this))throw qp("locked");return $l(this)}cancel(t=void 0){return zl(this)?$l(this)?it(new TypeError("Cannot cancel a stream that already has a reader")):os(this,t):it(qp("cancel"))}getReader(t=void 0){if(!zl(this))throw qp("getReader");return function(r,n){hu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:QMe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?m0(this):Xte(this)}pipeThrough(t,r={}){if(!zl(this))throw qp("pipeThrough");Tc(t,1,"pipeThrough");let n=function(a,o){hu(a,o);let s=a==null?void 0:a.readable;sB(s,"readable","ReadableWritablePair"),EB(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return sB(u,"writable","ReadableWritablePair"),ere(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=dte(r,"Second parameter");if($l(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(v0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return y0(pte(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!zl(this))return it(qp("pipeTo"));if(t===void 0)return it("Parameter 1 is required in 'pipeTo'.");if(!h0(t))return it(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=dte(r,"Second parameter")}catch(i){return it(i)}return $l(this)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):v0(t)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):pte(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!zl(this))throw qp("tee");return Jx(sLe(this))}values(t=void 0){if(!zl(this))throw qp("values");return function(r,n){let i=m0(r),a=new Nw(i,n),o=Object.create(jte);return o._asyncIteratorImpl=a,o}(this,function(r,n){hu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[ub](t){return this.values(t)}static from(t){return uLe(t)}};function ib(e,t,r,n=1,i=()=>1){let a=Object.create($n.prototype);return RB(a),gre(a,Object.create(pu.prototype),e,t,r,n,i),a}function hte(e,t,r){let n=Object.create($n.prototype);return RB(n),Jte(n,Object.create(fu.prototype),e,t,r,0,void 0),n}function RB(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function zl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof $n}function $l(e){return e._reader!==void 0}function os(e,t){if(e._disturbed=!0,e._state==="closed")return tr(void 0);if(e._state==="errored")return it(e._storedError);cb(e);let r=e._reader;if(r!==void 0&&Up(r)){let n=r._readIntoRequests;r._readIntoRequests=new xa,n.forEach(i=>{i._closeSteps(void 0)})}return Ac(e._readableStreamController[gB](t),Zx)}function cb(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Cte(t),Hl(t))){let r=t._readRequests;t._readRequests=new xa,r.forEach(n=>{n._closeSteps()})}}function vre(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(yB(r,t),Hl(r)?Bte(r,t):Zte(r,t))}function qp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function xre(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark;return sB(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:_B(r)}}Object.defineProperties($n,{from:{enumerable:!0}}),Object.defineProperties($n.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),er($n.from,"from"),er($n.prototype.cancel,"cancel"),er($n.prototype.getReader,"getReader"),er($n.prototype.pipeThrough,"pipeThrough"),er($n.prototype.pipeTo,"pipeTo"),er($n.prototype.tee,"tee"),er($n.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($n.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty($n.prototype,ub,{value:$n.prototype.values,writable:!0,configurable:!0});var bre=e=>e.byteLength;er(bre,"size");var ab=class{constructor(t){Tc(t,1,"ByteLengthQueuingStrategy"),t=xre(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!gte(this))throw mte("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!gte(this))throw mte("size");return bre}};function mte(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function gte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ab}Object.defineProperties(ab.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ab.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var yre=()=>1;er(yre,"size");var ob=class{constructor(t){Tc(t,1,"CountQueuingStrategy"),t=xre(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!xte(this))throw vte("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!xte(this))throw vte("size");return yre}};function vte(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function xte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof ob}function dLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function hLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function mLe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function gLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}Object.defineProperties(ob.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ob.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var sb=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=Gw(r,"Second parameter"),a=Gw(n,"Third parameter"),o=function(p,d){hu(p,d);let h=p==null?void 0:p.cancel,m=p==null?void 0:p.flush,g=p==null?void 0:p.readableType,b=p==null?void 0:p.start,y=p==null?void 0:p.transform,w=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:gLe(h,p,`${d} has member 'cancel' that`),flush:m===void 0?void 0:dLe(m,p,`${d} has member 'flush' that`),readableType:g,start:b===void 0?void 0:hLe(b,p,`${d} has member 'start' that`),transform:y===void 0?void 0:mLe(y,p,`${d} has member 'transform' that`),writableType:w}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=tb(a,0),u=Uw(a),c=tb(i,1),l=Uw(i),f;(function(p,d,h,m,g,b){function y(){return d}function w(j){return function(C,I){let P=C._transformStreamController;return C._backpressure?Ac(C._backpressureChangePromise,()=>{let L=C._writable;if(L._state==="erroring")throw L._storedError;return yte(P,I)}):yte(P,I)}(p,j)}function T(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._readable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Lw(P),va(G,()=>(L._state==="errored"?d0(P,L._storedError):(ss(L._readableStreamController,I),iB(P)),null),V=>(ss(L._readableStreamController,V),d0(P,V),null)),P._finishPromise}(p,j)}function E(){return function(j){let C=j._transformStreamController;if(C._finishPromise!==void 0)return C._finishPromise;let I=j._readable;C._finishPromise=Pn((L,G)=>{C._finishPromise_resolve=L,C._finishPromise_reject=G});let P=C._flushAlgorithm();return Lw(C),va(P,()=>(I._state==="errored"?d0(C,I._storedError):(Wp(I._readableStreamController),iB(C)),null),L=>(ss(I._readableStreamController,L),d0(C,L),null)),C._finishPromise}(p)}function k(){return function(j){return $w(j,!1),j._backpressureChangePromise}(p)}function B(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._writable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Lw(P),va(G,()=>(L._state==="errored"?d0(P,L._storedError):(rb(L._writableStreamController,I),hB(C),iB(P)),null),V=>(rb(L._writableStreamController,V),hB(C),d0(P,V),null)),P._finishPromise}(p,j)}p._writable=function(j,C,I,P,L=1,G=()=>1){let V=Object.create(_c.prototype);return rre(V),cre(V,Object.create($p.prototype),j,C,I,P,L,G),V}(y,w,E,T,h,m),p._readable=ib(y,k,B,g,b),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,$w(p,!0),p._transformStreamController=void 0})(this,Pn(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(wc.prototype),m,g,b;m=d.transform!==void 0?y=>d.transform(y,h):y=>{try{return wre(h,y),tr(void 0)}catch(w){return it(w)}},g=d.flush!==void 0?()=>d.flush(h):()=>tr(void 0),b=d.cancel!==void 0?y=>d.cancel(y):()=>tr(void 0),function(y,w,T,E,k){w._controlledTransformStream=y,y._transformStreamController=w,w._transformAlgorithm=T,w._flushAlgorithm=E,w._cancelAlgorithm=k,w._finishPromise=void 0,w._finishPromise_resolve=void 0,w._finishPromise_reject=void 0}(p,h,m,g,b)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!bte(this))throw _te("readable");return this._readable}get writable(){if(!bte(this))throw _te("writable");return this._writable}};function bte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof sb}function _re(e,t){ss(e._readable._readableStreamController,t),jB(e,t)}function jB(e,t){Lw(e._transformStreamController),rb(e._writable._writableStreamController,t),hB(e)}function hB(e){e._backpressure&&$w(e,!1)}function $w(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Pn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(sb.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sb.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var wc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Bw(this))throw Ow("desiredSize");return PB(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!Bw(this))throw Ow("enqueue");wre(this,t)}error(t=void 0){if(!Bw(this))throw Ow("error");var r;r=t,_re(this._controlledTransformStream,r)}terminate(){if(!Bw(this))throw Ow("terminate");(function(t){let r=t._controlledTransformStream;Wp(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");jB(r,n)})(this)}};function Bw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof wc}function Lw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function wre(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!b0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{x0(n,t)}catch(a){throw jB(r,a),r._readable._storedError}(function(a){return!mre(a)})(n)!==r._backpressure&&$w(r,!0)}function yte(e,t){return Ac(e._transformAlgorithm(t),void 0,r=>{throw _re(e._controlledTransformStream,r),r})}function Ow(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function iB(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function d0(e,t){e._finishPromise_reject!==void 0&&(y0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function _te(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(wc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),er(wc.prototype.enqueue,"enqueue"),er(wc.prototype.error,"error"),er(wc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(wc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Yw=class extends $n{};var Qw=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 Zw=class extends Yw{_chunks;constructor(t){super(new Qw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Jp=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 Jp)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=vLe(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 Jp([],{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 h=p.subarray(o,Math.min(d,s));if(f.push(h),l+=h.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 Zw(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 vLe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function xLe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Jp),globalThis.Blob}var bLe=xLe();var eE=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,${Fv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var tE=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 Ere(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=eE),typeof File>"u"&&!globalThis.File&&(globalThis.File=tE),global}var yLe=Ere();var MB=Dt(require("module"),1),Are=Dt(require("path"),1),nE=Dt(require("fs"),1);async function Tre(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():nE.default.readFileSync(e).buffer}async function Sre(e){return e.startsWith("http")?await(await fetch(e)).text():nE.default.readFileSync(e,"utf8")}async function Cre(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return rE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=nE.default.readFileSync(e,"utf8");return rE(t)}function rE(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=MB.default._nodeModulePaths(Are.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new MB.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 us=class{map;constructor(t){this.map={},t instanceof us?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=lb(t),r=Dre(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[lb(t)]}get(t){return t=lb(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(lb(t))}set(t,r){this.map[lb(t)]=Dre(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)}),LB(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),LB(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),LB(t)}*[Symbol.iterator](){yield*this.entries()}};function lb(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 Dre(e){return typeof e!="string"&&(e=String(e)),e}function LB(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function qB(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var UB=Dt(require("stream"),1),_Le=e=>typeof e=="boolean",Fre=e=>typeof e=="function",wLe=e=>e!==null&&typeof e=="object",NB=e=>wLe(e)&&Fre(e.read)&&Fre(e.pipe)&&_Le(e.readable),Cc=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 us((r==null?void 0:r.headers)||{}),NB(t)?this._body=yw(t,n):typeof t=="string"?this._body=UB.Readable.from([new TextEncoder().encode(t)]):this._body=UB.Readable.from([t||new ArrayBuffer(0)])}get body(){return qB(!this.bodyUsed),qB(NB(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return NB(this._body)?await $ee(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 Bre=Dt(require("http"),1),Ore=Dt(require("https"),1);var ELe=e=>e&&e instanceof ArrayBuffer,ALe=e=>e&&e instanceof Buffer;function kre(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(ELe(e))return e;if(ALe(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 GB=e=>e.startsWith("data:"),SLe=e=>e.startsWith("http:")||e.startsWith("https:");async function fb(e,t){try{if(globalThis.fetch!==fb&&(SLe(e)||GB(e)))return await fetch(e,t);if(GB(e)){let{arrayBuffer:c,mimeType:l}=kre(e);return new Cc(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 CLe(n,t),a=BLe(e,i,r),{status:o,statusText:s}=kLe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=DLe(e,a.get("location"));return await fb(c,t)}return new Cc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Cc(null,{status:400,statusText:String(r),url:e})}}async function CLe(e,t){return await new Promise((r,n)=>{let i=FLe(e,t),a=e.startsWith("https:")?Ore.default.request(i,o=>r(o)):Bre.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function DLe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function FLe(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 kLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function BLe(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=OLe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new us(n)}function OLe(e){return GB(e)?e.length-5:null}var ILe=parseInt(Ire.versions.node.split(".")[0]);FU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=J5;globalThis.loaders.NodeFile=jp;globalThis.loaders.NodeFileSystem=Ew;globalThis.loaders.fetchNode=_w;globalThis.loaders.NodeHash=Aw;globalThis.TextEncoder||(globalThis.TextEncoder=Dv);globalThis.TextDecoder||(globalThis.TextDecoder=cp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Fv&&(globalThis.atob=Fv);!("btoa"in globalThis)&&hD&&(globalThis.btoa=hD);globalThis.loaders.encodeImageNode=OH;globalThis.loaders.parseImageNode=x5;globalThis.loaders.imageFormatsNode=v5;globalThis._parseImageNode=x5;globalThis._imageFormatsNode=v5;globalThis.loaders.readFileAsArrayBuffer=Tre;globalThis.loaders.readFileAsText=Sre;globalThis.loaders.requireFromFile=Cre;globalThis.loaders.requireFromString=rE;ILe<18&&(!("Headers"in globalThis)&&us&&(globalThis.Headers=us),!("Response"in globalThis)&&Cc&&(globalThis.Response=Cc),!("fetch"in globalThis)&&fb&&(globalThis.fetch=fb));var U6e=require("path"),sD=Dt(Qme(),1);var Zr={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var ZS=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:Zr.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 Zr.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case Zr.STRING_TYPE:this.setupStringAttribute(i);break;case Zr.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case Zr.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case Zr.OBJECT_ID_TYPE:return"esriFieldTypeOID";case Zr.STRING_TYPE:return"esriFieldTypeString";case Zr.SHORT_INT_TYPE:return"esriFieldTypeInteger";case Zr.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 Gxt=e=>typeof e=="boolean",xy=e=>typeof e=="function",wd=e=>e!==null&&typeof e=="object",dj=e=>wd(e)&&e.constructor==={}.constructor;var Zme=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",ege=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Eo=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Ao=e=>typeof Blob<"u"&&e instanceof Blob,tge=e=>e&&typeof e=="object"&&e.isBuffer;var zxt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||wd(e)&&xy(e.tee)&&xy(e.cancel)&&xy(e.getReader);var Hxt=e=>wd(e)&&xy(e.read)&&xy(e.pipe)&&Gxt(e.readable),e3=e=>zxt(e)||Hxt(e);var t3=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Vxt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,$xt=/^([-\w.]+\/[-\w.+]+)/;function hj(e,t){return e.toLowerCase()===t.toLowerCase()}function rge(e){let t=$xt.exec(e);return t?t[1]:e}function mj(e){let t=Vxt.exec(e);return t?t[1]:""}var nge=/\?.*/;function ige(e){let t=e.match(nge);return t&&t[0]}function Wm(e){return e.replace(nge,"")}function age(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Ed(e){return Eo(e)?e.url:Ao(e)?e.name||"":typeof e=="string"?e:""}function by(e){if(Eo(e)){let t=e,r=t.headers.get("content-type")||"",n=Wm(t.url);return rge(r)||mj(n)}return Ao(e)?e.type||"":typeof e=="string"?mj(e):""}function oge(e){return Eo(e)?e.headers["content-length"]||-1:Ao(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function r3(e){if(Eo(e))return e;let t={},r=oge(e);r>=0&&(t["content-length"]=String(r));let n=Ed(e),i=by(e);i&&(t["content-type"]=i);let a=await Kxt(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 sge(e){if(!e.ok)throw await Wxt(e)}async function Wxt(e){let t=age(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let i=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new t3(r,n)}async function Kxt(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,${Jxt(r)}`}return null}function Jxt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Xxt(e){return!Yxt(e)&&!Qxt(e)}function Yxt(e){return e.startsWith("http:")||e.startsWith("https:")}function Qxt(e){return e.startsWith("data:")}async function ta(e,t){var r,n;if(typeof e=="string"){let i=su(e);return Xxt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await r3(e)}var gj=new nu({id:"loaders.gl"}),n3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},i3=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 vj={fetch:null,mimeType:void 0,nothrow:!1,log:new i3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:wr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},uge={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 xj(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Km(){let e=xj();return e.globalOptions=e.globalOptions||{...vj},e.globalOptions}function fge(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],Zxt(e,r),tbt(t,e,n)}function Zxt(e,t){cge(e,null,vj,uge,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]||{};cge(n,r.id,i,a,t)}}function cge(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&wd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)gj.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=ebt(s,i);gj.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function ebt(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 tbt(e,t,r){let i={...e.options||{}};return rbt(i,r),i.log===null&&(i.log=new n3),lge(i,Km()),lge(i,t),i}function lge(e,t){for(let r in t)if(r in t){let n=t[r];dj(n)&&dj(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function rbt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function yy(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function bj(e){_t(e,"null loader"),_t(yy(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 nbt=()=>{let e=xj();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function pge(){return nbt()}var ibt=/\.([^.]+)$/;async function mge(e,t=[],r,n){if(!gge(e))return null;let i=dge(e,t,{...r,nothrow:!0},n);if(i)return i;if(Ao(e)&&(e=await e.slice(0,10).arrayBuffer(),i=dge(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(vge(e));return i}function dge(e,t=[],r,n){if(!gge(e))return null;if(t&&!Array.isArray(t))return bj(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...pge()),obt(i);let a=abt(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(vge(e));return a}function abt(e,t,r,n){let i=Ed(e),a=by(e),o=Wm(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=yj(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||sbt(t,o),u=u||(s?`matched url ${o}`:""),s=s||yj(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||cbt(t,e),u=u||(s?`matched initial data ${xge(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||yj(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&w5.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function gge(e){return!(e instanceof Response&&e.status===204)}function vge(e){let t=Ed(e),r=by(e),n="No valid loader found (";n+=t?`${ga.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?xge(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function obt(e){for(let t of e)bj(t)}function sbt(e,t){let r=t&&ibt.exec(t),n=r&&r[1];return n?ubt(e,n):null}function ubt(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 yj(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>hj(t,i))||hj(t,`application/x.${n.id}`))return n;return null}function cbt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(lbt(t,r))return r}else if(ArrayBuffer.isView(t)){if(hge(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&hge(t,0,r))return r;return null}function lbt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function hge(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>fbt(e,t,r,i))}function fbt(e,t,r,n){if(n instanceof ArrayBuffer)return ou(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=_j(e,t,n.length);return n===i;default:return!1}}function xge(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?_j(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?_j(e,0,t):""}function _j(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*bge(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*yge(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*_ge(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 wj(e,t){return wr?pbt(e,t):dbt(e,t)}async function*pbt(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 mc(o)}}catch{r.releaseLock()}}async function*dbt(e,t){for await(let r of e)yield mc(r)}function wge(e,t){if(typeof e=="string")return bge(e,t);if(e instanceof ArrayBuffer)return yge(e,t);if(Ao(e))return _ge(e,t);if(e3(e))return wj(e,t);if(Eo(e))return wj(e.body,t);throw new Error("makeIterator")}var Ege="Cannot convert supplied data type";function hbt(e,t,r){if(t.text&&typeof e=="string")return e;if(tge(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(Ege)}async function Age(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return hbt(e,t,r);if(Ao(e)&&(e=await r3(e)),Eo(e)){let i=e;return await sge(i),t.binary?await i.arrayBuffer():await i.text()}if(e3(e)&&(e=wge(e,r)),Zme(e)||ege(e))return Rp(e);throw new Error(Ege)}function a3(e,t){let r=Km(),n=e||r;return typeof n.fetch=="function"?n.fetch:wd(n.fetch)?i=>ta(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:ta}function Tge(e,t,r){if(r)return r;let n={fetch:a3(t,e),...e};if(n.url){let i=Wm(n.url);n.baseUrl=i,n.queryString=ige(n.url),n.filename=ga.filename(i),n.baseUrl=ga.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function Sge(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 Va(e,t,r,n){t&&!Array.isArray(t)&&!yy(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Ed(e),o=Sge(t,n),s=await mge(e,o,r);return s?(r=fge(r,s,o,i),n=Tge({url:i,_parse:Va,loaders:o},r,n||null),await mbt(s,e,r,n)):null}async function mbt(e,t,r,n){if(k5(e),r=E5(e.options,r),Eo(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 Age(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(O5(e,r))return await I5(e,t,r,n,Va);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw gi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Cge(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 Ej(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 Aj(e,t,r){let n=Cge(t.value),i=r||Dge(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Dge(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 $r(e,t,r,n){let i,a;!Array.isArray(t)&&!yy(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=a3(a),s=e;return typeof e=="string"&&(s=await o(e)),Ao(e)&&(s=await o(e)),Array.isArray(i)?await Va(s,i,a):await Va(s,i,a)}async function Jm(e,t,r){let i={...Km(),...r};return t.encodeURLtoURL?gbt(t,e,i):P5(t,i)?await F5(t,e,i):await t.encode(e,i)}function o3(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 kge(e,t,r,n){if(e=su(e),t=su(t),wr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function gbt(e,t,r){if(wr)throw new Error(`Writer ${e.name} not supported in browser`);let n=Fge("input");await new gc(n,"w").write(t);let a=Fge("output"),o=await kge(n,a,e,r);return(await ta(o)).arrayBuffer()}function Fge(e){return`/tmp/${e}`}var vbt=1/Math.PI*180,xbt=1/180*Math.PI,bbt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...bbt}};var Pr=globalThis.mathgl.config;function Tj(e,{precision:t=Pr.precision}={}){return e=ybt(e),`${parseFloat(e.toPrecision(t))}`}function To(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Sj(e){return Bge(e)}function Cj(e){return Gc(e)}function Bge(e,t){return Fj(e,r=>r*xbt,t)}function Gc(e,t){return Fj(e,r=>r*vbt,t)}function Dj(e,t,r){return Fj(e,n=>Math.max(t,Math.min(r,n)))}function $a(e,t,r){let n=Pr.EPSILON;r&&(Pr.EPSILON=r);try{if(e===t)return!0;if(To(e)&&To(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!$a(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)<=Pr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Pr.EPSILON=n}}function ybt(e){return Math.round(e/Pr.EPSILON)*Pr.EPSILON}function _bt(e){return e.clone?e.clone():new Array(e.length)}function Fj(e,t,r){if(To(e)){let n=e;r=r||_bt(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)}var kf=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:To(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Pr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Tj(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!$a(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(Pr.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function wbt(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 Ut(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Bf(e,t,r=""){if(Pr.debug&&!wbt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function oi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Of=class extends kf{get x(){return this[0]}set x(t){this[0]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(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 Ut(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Ut(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 oi(t>=0&&t<this.ELEMENTS,"index is out of range"),Ut(this[t])}setComponent(t,r){return oi(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 en=typeof Float32Array<"u"?Float32Array:Array,_y=Math.random;function Xm(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var cZt=Math.PI/180;function Ebt(){let e=new en(2);return en!=Float32Array&&(e[0]=0,e[1]=0),e}function Oge(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 Ige(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 s3(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 u3(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 lZt=function(){let e=Ebt();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 c3(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 l3(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 Pge(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 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[3]=t[3],e}function f3(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 Ad=class extends Of{constructor(t=0,r=0){super(2),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(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 Pr.debug&&(Ut(t.x),Ut(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 u3(this,this,t),this.check()}transformAsVector(t){return c3(this,this,t),this.check()}transformByMatrix3(t){return s3(this,this,t),this.check()}transformByMatrix2x3(t){return Ige(this,this,t),this.check()}transformByMatrix2(t){return Oge(this,this,t),this.check()}};var Qm={};Fi(Qm,{add:()=>Dbt,angle:()=>Pj,bezier:()=>Ubt,ceil:()=>Fbt,clone:()=>Tbt,copy:()=>Sbt,create:()=>p3,cross:()=>Td,dist:()=>Xbt,distance:()=>Nge,div:()=>Jbt,divide:()=>qge,dot:()=>wy,equals:()=>$bt,exactEquals:()=>Vbt,floor:()=>kbt,forEach:()=>Zbt,fromValues:()=>d3,hermite:()=>Nbt,inverse:()=>Mbt,len:()=>Rj,length:()=>jge,lerp:()=>Lbt,max:()=>Obt,min:()=>Bbt,mul:()=>Kbt,multiply:()=>Lge,negate:()=>jbt,normalize:()=>kj,random:()=>Gbt,rotateX:()=>Bj,rotateY:()=>Oj,rotateZ:()=>Ij,round:()=>Ibt,scale:()=>Pbt,scaleAndAdd:()=>Rbt,set:()=>Cbt,slerp:()=>qbt,sqrDist:()=>Ybt,sqrLen:()=>Qbt,squaredDistance:()=>Uge,squaredLength:()=>Gge,str:()=>Hbt,sub:()=>Wbt,subtract:()=>Mge,transformMat3:()=>Ey,transformMat4:()=>Sd,transformQuat:()=>Ay,zero:()=>zbt});function p3(){let e=new en(3);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Tbt(e){let t=new en(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function jge(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function d3(e,t,r){let n=new en(3);return n[0]=e,n[1]=t,n[2]=r,n}function Sbt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Cbt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Dbt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Mge(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Lge(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function qge(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Fbt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function kbt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Bbt(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 Obt(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 Ibt(e,t){return e[0]=Xm(t[0]),e[1]=Xm(t[1]),e[2]=Xm(t[2]),e}function Pbt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Rbt(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 Nge(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 Uge(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 Gge(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function jbt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function Mbt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function kj(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 wy(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Td(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 Lbt(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 qbt(e,t,r,n){let i=Math.acos(Math.min(Math.max(wy(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 Nbt(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 Ubt(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 Gbt(e,t){t=t===void 0?1:t;let r=_y()*2*Math.PI,n=_y()*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 Ey(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 Ay(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,h=a*l-n*p,m=n*f-i*l,g=o*2;return l*=g,f*=g,p*=g,d*=2,h*=2,m*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+m,e}function Bj(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 Oj(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 Ij(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 Pj(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&&wy(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function zbt(e){return e[0]=0,e[1]=0,e[2]=0,e}function Hbt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function Vbt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function $bt(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 Wbt=Mge,Kbt=Lge,Jbt=qge,Xbt=Nge,Ybt=Uge,Rj=jge,Qbt=Gge,Zbt=function(){let e=p3();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 jj=[0,0,0],h3,Z=class extends Of{static get ZERO(){return h3||(h3=new Z(0,0,0),Object.freeze(h3)),h3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&To(t)?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(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]=Ut(t)}angle(t){return Pj(this,t)}cross(t){return Td(this,this,t),this.check()}rotateX({radians:t,origin:r=jj}){return Bj(this,this,r,t),this.check()}rotateY({radians:t,origin:r=jj}){return Oj(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=jj}){return Ij(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Sd(this,this,t),this.check()}transformAsVector(t){return l3(this,this,t),this.check()}transformByMatrix3(t){return Ey(this,this,t),this.check()}transformByMatrix2(t){return Pge(this,this,t),this.check()}transformByQuaternion(t){return Ay(this,this,t),this.check()}};var m3,So=class extends Of{static get ZERO(){return m3||(m3=new So(0,0,0,0),Object.freeze(m3)),m3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(n),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(t.z),Ut(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]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}transform(t){return Sd(this,this,t),this.check()}transformByMatrix3(t){return f3(this,this,t),this.check()}transformByMatrix2(t){return Rge(this,this,t),this.check()}transformByQuaternion(t){return Ay(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Zm=class extends kf{toString(){let t="[";if(Pr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=Ut(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 zge(){let e=new en(9);return en!=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 Hge(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 Vge(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,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function $ge(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 Mj(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],h=r[2],m=r[3],g=r[4],b=r[5],y=r[6],w=r[7],T=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=m*n+g*o+b*c,e[4]=m*i+g*s+b*l,e[5]=m*a+g*u+b*f,e[6]=y*n+w*o+T*c,e[7]=y*i+w*s+T*l,e[8]=y*a+w*u+T*f,e}function Wge(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 Kge(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 Lj(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 Jge(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,h=i*u,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[3]=l-b,e[6]=p+g,e[1]=l+b,e[4]=1-c-h,e[7]=d-m,e[2]=p-g,e[5]=d+m,e[8]=1-c-f,e}var qj;(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"})(qj||(qj={}));var eyt=Object.freeze([1,0,0,0,1,0,0,0,1]),rr=class extends Zm{static get IDENTITY(){return ryt()}static get ZERO(){return tyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return qj}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(eyt)}fromObject(t){return this.check()}fromQuaternion(t){return Jge(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 $ge(this)}transpose(){return Hge(this,this),this.check()}invert(){return Vge(this,this),this.check()}multiplyLeft(t){return Mj(this,t,this),this.check()}multiplyRight(t){return Mj(this,this,t),this.check()}rotate(t){return Kge(this,this,t),this.check()}scale(t){return Array.isArray(t)?Lj(this,this,t):Lj(this,this,[t,t]),this.check()}translate(t){return Wge(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=s3(r||[-0,-0],t,this);break;case 3:n=Ey(r||[-0,-0,-0],t,this);break;case 4:n=f3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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)}},g3,v3=null;function tyt(){return g3||(g3=new rr([0,0,0,0,0,0,0,0,0]),Object.freeze(g3)),g3}function ryt(){return v3||(v3=new rr,Object.freeze(v3)),v3}var x3={};Fi(x3,{add:()=>Cyt,adjoint:()=>uyt,clone:()=>iyt,copy:()=>ayt,create:()=>nyt,decompose:()=>xyt,determinant:()=>Gj,equals:()=>Byt,exactEquals:()=>kyt,frob:()=>Syt,fromQuat:()=>Jj,fromQuat2:()=>myt,fromRotation:()=>fyt,fromRotationTranslation:()=>Qge,fromRotationTranslationScale:()=>byt,fromRotationTranslationScaleOrigin:()=>yyt,fromScaling:()=>lyt,fromTranslation:()=>cyt,fromValues:()=>oyt,fromXRotation:()=>pyt,fromYRotation:()=>dyt,fromZRotation:()=>hyt,frustum:()=>Xj,getRotation:()=>vyt,getScaling:()=>Zge,getTranslation:()=>gyt,identity:()=>Yge,invert:()=>Uj,lookAt:()=>Zj,mul:()=>Oyt,multiply:()=>Ty,multiplyScalar:()=>Dyt,multiplyScalarAndAdd:()=>Fyt,ortho:()=>Qj,orthoNO:()=>tve,orthoZO:()=>Eyt,perspective:()=>Yj,perspectiveFromFieldOfView:()=>wyt,perspectiveNO:()=>eve,perspectiveZO:()=>_yt,rotate:()=>Vj,rotateX:()=>$j,rotateY:()=>Wj,rotateZ:()=>Kj,scale:()=>Hj,set:()=>syt,str:()=>Tyt,sub:()=>Iyt,subtract:()=>rve,targetTo:()=>Ayt,translate:()=>zj,transpose:()=>Nj});function nyt(){let e=new en(16);return en!=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 iyt(e){let t=new en(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 ayt(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 oyt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m){let g=new en(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=i,g[5]=a,g[6]=o,g[7]=s,g[8]=u,g[9]=c,g[10]=l,g[11]=f,g[12]=p,g[13]=d,g[14]=h,g[15]=m,g}function syt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){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]=h,e[14]=m,e[15]=g,e}function Yge(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 Nj(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 Uj(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],h=t[12],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g,V=y*G-w*L+T*P+E*I-k*C+B*j;return V?(V=1/V,e[0]=(s*G-u*L+c*P)*V,e[1]=(i*L-n*G-a*P)*V,e[2]=(m*B-g*k+b*E)*V,e[3]=(p*k-f*B-d*E)*V,e[4]=(u*I-o*G-c*C)*V,e[5]=(r*G-i*I+a*C)*V,e[6]=(g*T-h*B-b*w)*V,e[7]=(l*B-p*T+d*w)*V,e[8]=(o*L-s*I+c*j)*V,e[9]=(n*I-r*L-a*j)*V,e[10]=(h*k-m*T+b*y)*V,e[11]=(f*T-l*k-d*y)*V,e[12]=(s*C-o*P-u*j)*V,e[13]=(r*P-n*C+i*j)*V,e[14]=(m*w-h*E-g*y)*V,e[15]=(l*E-f*w+p*y)*V,e):null}function uyt(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],h=t[12],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g;return e[0]=s*G-u*L+c*P,e[1]=i*L-n*G-a*P,e[2]=m*B-g*k+b*E,e[3]=p*k-f*B-d*E,e[4]=u*I-o*G-c*C,e[5]=r*G-i*I+a*C,e[6]=g*T-h*B-b*w,e[7]=l*B-p*T+d*w,e[8]=o*L-s*I+c*j,e[9]=n*I-r*L-a*j,e[10]=h*k-m*T+b*y,e[11]=f*T-l*k-d*y,e[12]=s*C-o*P-u*j,e[13]=r*P-n*C+i*j,e[14]=m*w-h*E-g*y,e[15]=l*E-f*w+p*y,e}function Gj(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],h=e[13],m=e[14],g=e[15],b=t*o-r*a,y=t*s-n*a,w=r*s-n*o,T=c*h-l*d,E=c*m-f*d,k=l*m-f*h,B=t*k-r*E+n*T,j=a*k-o*E+s*T,C=c*w-l*y+f*b,I=d*w-h*y+m*b;return u*B-i*j+g*C-p*I}function Ty(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],h=t[11],m=t[12],g=t[13],b=t[14],y=t[15],w=r[0],T=r[1],E=r[2],k=r[3];return e[0]=w*n+T*s+E*f+k*m,e[1]=w*i+T*u+E*p+k*g,e[2]=w*a+T*c+E*d+k*b,e[3]=w*o+T*l+E*h+k*y,w=r[4],T=r[5],E=r[6],k=r[7],e[4]=w*n+T*s+E*f+k*m,e[5]=w*i+T*u+E*p+k*g,e[6]=w*a+T*c+E*d+k*b,e[7]=w*o+T*l+E*h+k*y,w=r[8],T=r[9],E=r[10],k=r[11],e[8]=w*n+T*s+E*f+k*m,e[9]=w*i+T*u+E*p+k*g,e[10]=w*a+T*c+E*d+k*b,e[11]=w*o+T*l+E*h+k*y,w=r[12],T=r[13],E=r[14],k=r[15],e[12]=w*n+T*s+E*f+k*m,e[13]=w*i+T*u+E*p+k*g,e[14]=w*a+T*c+E*d+k*b,e[15]=w*o+T*l+E*h+k*y,e}function zj(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,m,g,b;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],h=t[8],m=t[9],g=t[10],b=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]=h,e[9]=m,e[10]=g,e[11]=b,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+m*a+t[13],e[14]=u*n+p*i+g*a+t[14],e[15]=c*n+d*i+b*a+t[15]),e}function Hj(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 Vj(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,h,m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X;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],h=t[3],m=t[4],g=t[5],b=t[6],y=t[7],w=t[8],T=t[9],E=t[10],k=t[11],B=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,I=i*a*l-o*c,P=a*a*l+u,L=o*a*l+i*c,G=i*o*l+a*c,V=a*o*l-i*c,X=o*o*l+u,e[0]=f*B+m*j+w*C,e[1]=p*B+g*j+T*C,e[2]=d*B+b*j+E*C,e[3]=h*B+y*j+k*C,e[4]=f*I+m*P+w*L,e[5]=p*I+g*P+T*L,e[6]=d*I+b*P+E*L,e[7]=h*I+y*P+k*L,e[8]=f*G+m*V+w*X,e[9]=p*G+g*V+T*X,e[10]=d*G+b*V+E*X,e[11]=h*G+y*V+k*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function $j(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 Wj(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 Kj(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 cyt(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 lyt(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 fyt(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 pyt(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 dyt(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 hyt(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 Qge(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,h=i*c,m=a*c,g=o*s,b=o*u,y=o*c;return e[0]=1-(d+m),e[1]=f+y,e[2]=p-b,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=p+b,e[9]=h-g,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 myt(e,t){let r=new en(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),Qge(e,t,r),e}function gyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Zge(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 vyt(e,t){let r=new en(3);Zge(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,h=t[10]*a,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-d)/g,e[1]=(p-u)/g,e[2]=(s-c)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/g,e[0]=.25*g,e[1]=(s+c)/g,e[2]=(p+u)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/g,e[0]=(s+c)/g,e[1]=.25*g,e[2]=(f+d)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/g,e[0]=(p+u)/g,e[1]=(f+d)/g,e[2]=.25*g),e}function xyt(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],h=1/r[1],m=1/r[2],g=i*d,b=a*h,y=o*m,w=s*d,T=u*h,E=c*m,k=l*d,B=f*h,j=p*m,C=g+T+j,I=0;return C>0?(I=Math.sqrt(C+1)*2,e[3]=.25*I,e[0]=(E-B)/I,e[1]=(k-y)/I,e[2]=(b-w)/I):g>T&&g>j?(I=Math.sqrt(1+g-T-j)*2,e[3]=(E-B)/I,e[0]=.25*I,e[1]=(b+w)/I,e[2]=(k+y)/I):T>j?(I=Math.sqrt(1+T-g-j)*2,e[3]=(k-y)/I,e[0]=(b+w)/I,e[1]=.25*I,e[2]=(E+B)/I):(I=Math.sqrt(1+j-g-T)*2,e[3]=(b-w)/I,e[0]=(k+y)/I,e[1]=(E+B)/I,e[2]=.25*I),e}function byt(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,h=a*c,m=a*l,g=o*l,b=s*u,y=s*c,w=s*l,T=n[0],E=n[1],k=n[2];return e[0]=(1-(h+g))*T,e[1]=(p+w)*T,e[2]=(d-y)*T,e[3]=0,e[4]=(p-w)*E,e[5]=(1-(f+g))*E,e[6]=(m+b)*E,e[7]=0,e[8]=(d+y)*k,e[9]=(m-b)*k,e[10]=(1-(f+h))*k,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function yyt(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,h=a*f,m=o*l,g=o*f,b=s*f,y=u*c,w=u*l,T=u*f,E=n[0],k=n[1],B=n[2],j=i[0],C=i[1],I=i[2],P=(1-(m+b))*E,L=(d+T)*E,G=(h-w)*E,V=(d-T)*k,X=(1-(p+b))*k,Y=(g+y)*k,he=(h+w)*B,le=(g-y)*B,me=(1-(p+m))*B;return e[0]=P,e[1]=L,e[2]=G,e[3]=0,e[4]=V,e[5]=X,e[6]=Y,e[7]=0,e[8]=he,e[9]=le,e[10]=me,e[11]=0,e[12]=r[0]+j-(P*j+V*C+he*I),e[13]=r[1]+C-(L*j+X*C+le*I),e[14]=r[2]+I-(G*j+Y*C+me*I),e[15]=1,e}function Jj(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,h=i*u,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[1]=l+b,e[2]=p-g,e[3]=0,e[4]=l-b,e[5]=1-c-h,e[6]=d+m,e[7]=0,e[8]=p+g,e[9]=d-m,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Xj(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 eve(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 Yj=eve;function _yt(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 wyt(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 tve(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 Qj=tve;function Eyt(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 Zj(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],m=t[1],g=t[2],b=n[0],y=n[1],w=n[2],T=r[0],E=r[1],k=r[2];return Math.abs(h-T)<1e-6&&Math.abs(m-E)<1e-6&&Math.abs(g-k)<1e-6?Yge(e):(f=h-T,p=m-E,d=g-k,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=y*d-w*p,o=w*f-b*d,s=b*p-y*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*h+o*m+s*g),e[13]=-(u*h+c*m+l*g),e[14]=-(f*h+p*m+d*g),e[15]=1,e)}function Ayt(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 h=u*p-c*f,m=c*l-s*p,g=s*f-u*l;return d=h*h+m*m+g*g,d>0&&(d=1/Math.sqrt(d),h*=d,m*=d,g*=d),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-p*m,e[5]=p*h-l*g,e[6]=l*m-f*h,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 Tyt(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function Syt(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 Cyt(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 rve(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 Dyt(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 Fyt(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 kyt(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 Byt(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],h=e[12],m=e[13],g=e[14],b=e[15],y=t[0],w=t[1],T=t[2],E=t[3],k=t[4],B=t[5],j=t[6],C=t[7],I=t[8],P=t[9],L=t[10],G=t[11],V=t[12],X=t[13],Y=t[14],he=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-w)<=1e-6*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(a-E)<=1e-6*Math.max(1,Math.abs(a),Math.abs(E))&&Math.abs(o-k)<=1e-6*Math.max(1,Math.abs(o),Math.abs(k))&&Math.abs(s-B)<=1e-6*Math.max(1,Math.abs(s),Math.abs(B))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-C)<=1e-6*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(l-I)<=1e-6*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(p-L)<=1e-6*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-V)<=1e-6*Math.max(1,Math.abs(h),Math.abs(V))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-Y)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Y))&&Math.abs(b-he)<=1e-6*Math.max(1,Math.abs(b),Math.abs(he))}var Oyt=Ty,Iyt=rve;function Pyt(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function nve(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 ive(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 ave(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 ove(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function sve(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 uve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function cve(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 lve(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 fve(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 UZt=function(){let e=Pyt();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 rM;(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"})(rM||(rM={}));var Ryt=45*Math.PI/180,jyt=1,eM=.1,tM=500,Myt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),mr=class extends Zm{static get IDENTITY(){return qyt()}static get ZERO(){return Lyt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return rM}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,h,m,g){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]=h,this[14]=m,this[15]=g,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=m,this[12]=i,this[13]=u,this[14]=p,this[15]=g,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(Myt)}fromObject(t){return this.check()}fromQuaternion(t){return Jj(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=eM,far:s=tM}=t;return s===1/0?Nyt(this,r,n,i,a,o):Xj(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 Zj(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=eM,far:s=tM}=t;return Qj(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=Ryt,aspect:n=jyt,focalDistance:i=1,near:a=eM,far:o=tM}=t;dve(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 dve(r),Yj(this,r,n,i,a),this.check()}determinant(){return Gj(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 Nj(this,this),this.check()}invert(){return Uj(this,this),this.check()}multiplyLeft(t){return Ty(this,t,this),this.check()}multiplyRight(t){return Ty(this,this,t),this.check()}rotateX(t){return $j(this,this,t),this.check()}rotateY(t){return Wj(this,this,t),this.check()}rotateZ(t){return Kj(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Vj(this,this,t,r),this.check()}scale(t){return Hj(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return zj(this,this,t),this.check()}transform(t,r){return t.length===4?(r=lve(r||[-0,-0,-0,-0],t,this),Bf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=u3(r||[-0,-0],t,this);break;case 3:i=Sd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=c3(r||[-0,-0],t,this);break;case 3:n=l3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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])}},b3,y3;function Lyt(){return b3||(b3=new mr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(b3)),b3}function qyt(){return y3||(y3=new mr,Object.freeze(y3)),y3}function dve(e){if(e>Math.PI*2)throw Error("expected radians")}function Nyt(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 hve(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function mve(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function nM(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 iM(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 gve(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 vve(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 xve(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 bve(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 Sy(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,h,m,g;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),g=Math.sin(d),h=Math.sin((1-n)*d)/g,m=Math.sin(n*d)/g):(h=1-n,m=n),e[0]=h*i+m*u,e[1]=h*a+m*c,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function yve(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 _ve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function aM(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 wve=nve;var Eve=ive,Ave=uve,Tve=cve,Sve=ave;var Cve=ove;var Dve=sve;var Fve=function(){let e=p3(),t=d3(1,0,0),r=d3(0,1,0);return function(n,i,a){let o=wy(i,a);return o<-.999999?(Td(e,t,i),Rj(e)<1e-6&&Td(e,r,i),kj(e,e),nM(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Td(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Dve(n,n))}}(),ter=function(){let e=hve(),t=hve();return function(r,n,i,a,o,s){return Sy(e,n,o,s),Sy(t,i,a,s),Sy(r,e,t,2*s*(1-s)),r}}(),rer=function(){let e=zge();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],Dve(t,aM(t,e))}}();var Gyt=[0,0,0,1],Co=class extends kf{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 aM(this,t),this.check()}fromAxisRotation(t,r){return nM(this,t,r),this.check()}identity(){return mve(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]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(t)}get z(){return this[2]}set z(t){this[2]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}len(){return Sve(this)}lengthSquared(){return Cve(this)}dot(t){return Ave(this,t)}rotationTo(t,r){return Fve(this,t,r),this.check()}add(t){return wve(this,this,t),this.check()}calculateW(){return bve(this,this),this.check()}conjugate(){return _ve(this,this),this.check()}invert(){return yve(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Tve(this,t,r,n),this.check())}multiplyRight(t){return iM(this,this,t),this.check()}multiplyLeft(t){return iM(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 gve(this,this,t),this.check()}rotateY(t){return vve(this,this,t),this.check()}rotateZ(t){return xve(this,this,t),this.check()}scale(t){return Eve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=Gyt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return Sy(this,i,a,o),this.check()}transformVector4(t,r=new So){return fve(r,t,this),Bf(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 vs={};Fi(vs,{EPSILON1:()=>zyt,EPSILON10:()=>Qyt,EPSILON11:()=>Zyt,EPSILON12:()=>e1t,EPSILON13:()=>t1t,EPSILON14:()=>r1t,EPSILON15:()=>n1t,EPSILON16:()=>i1t,EPSILON17:()=>a1t,EPSILON18:()=>o1t,EPSILON19:()=>s1t,EPSILON2:()=>Hyt,EPSILON20:()=>u1t,EPSILON3:()=>Vyt,EPSILON4:()=>$yt,EPSILON5:()=>Wyt,EPSILON6:()=>Kyt,EPSILON7:()=>Jyt,EPSILON8:()=>Xyt,EPSILON9:()=>Yyt,PI_OVER_FOUR:()=>l1t,PI_OVER_SIX:()=>f1t,PI_OVER_TWO:()=>c1t,TWO_PI:()=>p1t});var zyt=.1,Hyt=.01,Vyt=.001,$yt=1e-4,Wyt=1e-5,Kyt=1e-6,Jyt=1e-7,Xyt=1e-8,Yyt=1e-9,Qyt=1e-10,Zyt=1e-11,e1t=1e-12,t1t=1e-13,r1t=1e-14,n1t=1e-15,i1t=1e-16,a1t=1e-17,o1t=1e-18,s1t=1e-19,u1t=1e-20,c1t=Math.PI/2,l1t=Math.PI/4,f1t=Math.PI/6,p1t=Math.PI*2;var zc=6356752314245179e-9,d1t={radii:[6378137,6378137,zc],radiiSquared:[6378137*6378137,6378137*6378137,zc*zc],oneOverRadii:[1/6378137,1/6378137,1/zc],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(zc*zc)],maximumRadius:Math.max(6378137,6378137,zc),centerToleranceSquared:.1};function _3(e){return e}var Oer=new Z;function h1t(e,t=[],r=_3){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 kve(e,t=[]){return h1t(e,t,Pr._cartographicRadians?_3:Sj)}function m1t(e,t,r=_3){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 Bve(e,t){return m1t(e,t,Pr._cartographicRadians?_3:Cj)}var Ove=1e-14,g1t=new Z,Ive={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"}},oM={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Cy={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},v1t=new Z,x1t=new Z,b1t=new Z;function sM(e,t,r,n,i,a){let o=Ive[t]&&Ive[t][r];oi(o&&(!n||n===o));let s,u,c,l=g1t.copy(i);if($a(l.x,0,Ove)&&$a(l.y,0,Ove)){let p=Math.sign(l.z);s=v1t.fromArray(oM[t]),t!=="east"&&t!=="west"&&s.scale(p),u=x1t.fromArray(oM[r]),r!=="east"&&r!=="west"&&u.scale(p),c=b1t.fromArray(oM[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Cy;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:m,west:g,south:b}=Cy;m.copy(p).scale(-1),g.copy(d).scale(-1),b.copy(h).scale(-1),s=Cy[t],u=Cy[r],c=Cy[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 eg=new Z,y1t=new Z,_1t=new Z;function Pve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;eg.from(e);let o=eg.x,s=eg.y,u=eg.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,m=p+d+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let b=y1t;if(b.copy(e).scale(g),m<a)return b.to(r);let y=i.x,w=i.y,T=i.z,E=_1t;E.set(b.x*y*2,b.y*w*2,b.z*T*2);let k=(1-g)*eg.len()/(.5*E.len()),B=0,j,C,I,P;do{k-=B,j=1/(1+k*y),C=1/(1+k*w),I=1/(1+k*T);let L=j*j,G=C*C,V=I*I,X=L*j,Y=G*C,he=V*I;P=p*L+d*G+h*V-1;let me=-2*(p*X*y+d*Y*w+h*he*T);B=P/me}while(Math.abs(P)>vs.EPSILON12);return eg.scale([j,C,I]).to(r)}var w3=new Z,Rve=new Z,A1t=new Z,xs=new Z,T1t=new Z,E3=new Z,Bt=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=vs.EPSILON1,oi(t>=0),oi(r>=0),oi(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(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=Rve,i=A1t,[,,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]){E3.from(t);let n=this.scaleToGeodeticSurface(E3,xs);if(!n)return;let i=this.geodeticSurfaceNormal(n,Rve),a=T1t;a.copy(E3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Qm.dot(a,E3))*Qm.length(a);return Bve([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new mr){return sM(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new mr){return sM(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return w3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=kve(t),i=n[0],a=n[1],o=Math.cos(a);return w3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),w3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return w3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Pve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){xs.from(t);let n=xs.x,i=xs.y,a=xs.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return xs.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){oi($a(this.radii.x,this.radii.y,vs.EPSILON15)),oi(this.radii.z>0),xs.from(t);let i=xs.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return xs.set(0,0,i).to(n)}};Bt.WGS84=new Bt(6378137,6378137,zc);var si={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Yer=new Z,Qer=new Z;var Dy=new Z,jve=new Z,ra=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Dy.from(r),this.center=new Z().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 ra(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=Dy.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 jve.copy(o).scale((-n+u)/s).add(r),this.center.copy(jve),this.radius=u,this}expand(t){let n=Dy.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=x3.getScaling(Dy,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=Dy.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?si.OUTSIDE:a<n?si.INTERSECTING:si.INSIDE}};var S1t=new Z,C1t=new Z,A3=new Z,T3=new Z,S3=new Z,D1t=new Z,F1t=new Z,Hc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},ui=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new rr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Z(t).normalize(),a=new Z(r).normalize(),o=new Z(n).normalize();return new Co().fromMatrix3(new rr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Co(n),a=new rr().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 Z().from(t),this.halfAxes=a,this}clone(){return new ui(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ra){let r=this.halfAxes,n=r.getColumn(0,A3),i=r.getColumn(1,T3),a=r.getColumn(2,S3),o=S1t.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[Hc.COLUMN0ROW0]+o*i[Hc.COLUMN0ROW1]+s*i[Hc.COLUMN0ROW2])+Math.abs(a*i[Hc.COLUMN1ROW0]+o*i[Hc.COLUMN1ROW1]+s*i[Hc.COLUMN1ROW2])+Math.abs(a*i[Hc.COLUMN2ROW0]+o*i[Hc.COLUMN2ROW1]+s*i[Hc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?si.OUTSIDE:c>=u?si.INSIDE:si.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=C1t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,A3),a=n.getColumn(1,T3),o=n.getColumn(2,S3),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,A3),c=s.getColumn(1,T3),l=s.getColumn(2,S3),f=D1t.copy(u).add(c).add(l).add(o),p=F1t.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,A3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,T3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,S3);return i.transformAsPoint(t),this.halfAxes=new rr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Mve=new Z,Lve=new Z,Vc=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return oi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Mve.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),oi($a(this.normal.len(),1)),this.distance=i,this}clone(){return new Vc(this.normal,this.distance)}equals(t){return $a(this.distance,t.distance)&&$a(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Lve.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=Mve.from(t),i=this.getPointDistance(n),a=Lve.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var qve=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],Nve=new Z,k1t=new Z,Do=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*qve.length;let r=t.center,n=t.radius,i=0;for(let a of qve){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Vc),s||(s=this.planes[i+1]=new Vc);let u=Nve.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=Nve.copy(a).scale(n).add(r),l=k1t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=si.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case si.OUTSIDE:return si.OUTSIDE;case si.INTERSECTING:r=si.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(oi(Number.isFinite(r),"parentPlaneMask is required."),r===Do.MASK_OUTSIDE||r===Do.MASK_INSIDE)return r;let n=Do.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===si.OUTSIDE)return Do.MASK_OUTSIDE;u===si.INTERSECTING&&(n|=o)}return n}};Do.MASK_OUTSIDE=4294967295;Do.MASK_INSIDE=0;Do.MASK_INDETERMINATE=2147483647;var gtr=new Z,vtr=new Z,xtr=new Z,btr=new Z,ytr=new Z;var O1t=new Z,I1t=new Z,P1t=new Z,R1t=new Z,j1t=new Z,M1t=new Z,L1t=new Z,tg=new Z,q1t=new Z,N1t=new Z,U1t=new Z,G1t=new Z;function uM(e,t=new ra){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=L1t.copy(e[0]),n=O1t.copy(r),i=I1t.copy(r),a=P1t.copy(r),o=R1t.copy(r),s=j1t.copy(r),u=M1t.copy(r);for(let k of e){r.copy(k);let B=r.x,j=r.y,C=r.z;B<n.x&&n.copy(r),B>o.x&&o.copy(r),j<i.y&&i.copy(r),j>s.y&&s.copy(r),C<a.z&&a.copy(r),C>u.z&&u.copy(r)}let c=tg.copy(o).subtract(n).magnitudeSquared(),l=tg.copy(s).subtract(i).magnitudeSquared(),f=tg.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,h=c;l>h&&(h=l,p=i,d=s),f>h&&(h=f,p=a,d=u);let m=q1t;m.x=(p.x+d.x)*.5,m.y=(p.y+d.y)*.5,m.z=(p.z+d.z)*.5;let g=tg.copy(d).subtract(m).magnitudeSquared(),b=Math.sqrt(g),y=N1t;y.x=n.x,y.y=i.y,y.z=a.z;let w=U1t;w.x=o.x,w.y=s.y,w.z=u.z;let T=G1t.copy(y).add(w).multiplyByScalar(.5),E=0;for(let k of e){r.copy(k);let B=tg.copy(r).subtract(T).magnitude();B>E&&(E=B);let j=tg.copy(r).subtract(m).magnitudeSquared();if(j>g){let C=Math.sqrt(j);b=(b+C)*.5,g=b*b;let I=C-b;m.x=(b*m.x+I*r.x)/C,m.y=(b*m.y+I*r.y)/C,m.z=(b*m.z+I*r.z)/C}}return b<E?(m.to(t.center),t.radius=b):(T.to(t.center),t.radius=E),t}var ku=new rr,z1t=new rr,H1t=new rr,C3=new rr,Uve=new rr;function fM(e,t={}){let r=vs.EPSILON20,n=10,i=0,a=0,o=z1t,s=H1t;o.identity(),s.copy(e);let u=r*V1t(s);for(;a<n&&$1t(s)>u;)W1t(s,C3),Uve.copy(C3).transpose(),s.multiplyRight(C3),s.multiplyLeft(Uve),o.multiplyRight(C3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function V1t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var cM=[1,0,0],lM=[2,2,1];function $1t(e){let t=0;for(let r=0;r<3;++r){let n=e[ku.getElementIndex(lM[r],cM[r])];t+=2*n*n}return Math.sqrt(t)}function W1t(e,t){let r=vs.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[ku.getElementIndex(lM[c],cM[c])]);l>n&&(i=c,n=l)}let a=cM[i],o=lM[i],s=1,u=0;if(Math.abs(e[ku.getElementIndex(o,a)])>r){let c=e[ku.getElementIndex(o,o)],l=e[ku.getElementIndex(a,a)],f=e[ku.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 rr.IDENTITY.to(t),t[ku.getElementIndex(a,a)]=t[ku.getElementIndex(o,o)]=s,t[ku.getElementIndex(o,a)]=u,t[ku.getElementIndex(a,o)]=-u,t}var If=new Z,J1t=new Z,X1t=new Z,Y1t=new Z,Q1t=new Z,Z1t=new rr,e_t={diagonal:new rr,unitary:new rr};function Fy(e,t=new ui){if(!e||e.length===0)return t.halfAxes=new rr([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(0,0,0);for(let C of e)n.add(C);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let C of e){let I=If.copy(C).subtract(n);a+=I.x*I.x,o+=I.x*I.y,s+=I.x*I.z,u+=I.y*I.y,c+=I.y*I.z,l+=I.z*I.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=Z1t;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}=fM(f,e_t),d=t.halfAxes.copy(p),h=d.getColumn(0,X1t),m=d.getColumn(1,Y1t),g=d.getColumn(2,Q1t),b=-Number.MAX_VALUE,y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,T=Number.MAX_VALUE,E=Number.MAX_VALUE,k=Number.MAX_VALUE;for(let C of e)If.copy(C),b=Math.max(If.dot(h),b),y=Math.max(If.dot(m),y),w=Math.max(If.dot(g),w),T=Math.min(If.dot(h),T),E=Math.min(If.dot(m),E),k=Math.min(If.dot(g),k);h=h.multiplyByScalar(.5*(T+b)),m=m.multiplyByScalar(.5*(E+y)),g=g.multiplyByScalar(.5*(k+w)),t.center.copy(h).add(m).add(g);let B=J1t.set(b-T,y-E,w-k).multiplyByScalar(.5),j=new rr([B[0],0,0,0,B[1],0,0,0,B[2]]);return t.halfAxes.multiplyRight(j),t}function Vve(e){return e!=null}var Qtr=new Z,t_t=new Z,r_t=new Z,n_t=new Z,Cd=new Z,Gve=new Z,zve=new Z,Hve=new Z;function ky(e,t,r){if(_t(e,"3D Tile: boundingVolume must be defined"),e.box)return $ve(e.box,t,r);if(e.region)return a_t(e.region);if(e.sphere)return i_t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function $ve(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Co;l.fromArray(e,6);let f=new Z([1,0,0]),p=new Z([0,1,0]),d=new Z([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 rr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Vve(r)?(r.center=n,r.halfAxes=u,r):new ui(n,u)}function i_t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(t_t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Vve(r)?(r.center=n,r.radius=o,r):new ra(n,o)}function a_t(e){let[t,r,n,i,a,o]=e,s=Bt.WGS84.cartographicToCartesian([Gc(t),Gc(i),a],r_t),u=Bt.WGS84.cartographicToCartesian([Gc(n),Gc(r),o],n_t),c=new Z().addVectors(s,u).multiplyByScalar(.5);return Bt.WGS84.cartesianToCartographic(c,Cd),Bt.WGS84.cartographicToCartesian([Gc(n),Cd[1],Cd[2]],Gve),Bt.WGS84.cartographicToCartesian([Cd[0],Gc(i),Cd[2]],zve),Bt.WGS84.cartographicToCartesian([Cd[0],Cd[1],o],Hve),$ve([...c,...Gve.subtract(c),...zve.subtract(c),...Hve.subtract(c)],new mr)}var rg="4.3.0";var ci={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},nrr=Object.keys(ci),Pf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function pM(e,t,r){_t(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Wve(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 D3="4.3.0";var Kve={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:D3,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 Xve(e,t,r){let n=Yve(t.metadata),i=[],a=o_t(t.attributes);for(let o in e){let s=e[o],u=Jve(o,s,a[o]);i.push(u)}if(r){let o=Jve("indices",r);i.push(o)}return{fields:i,metadata:n}}function o_t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Jve(e,t,r){let n=r?Yve(r.metadata):void 0;return Aj(e,t,n)}function Yve(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Qve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},s_t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},u_t=4,By=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=Ej(u.attributes),l=Xve(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 s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*u_t,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),f_t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=s_t[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=c_t(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 Qve)if(this.draco[o]===i)return Qve[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=l_t(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 c_t(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 l_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function f_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var p_t="1.5.6",d_t="1.4.1",dM=`https://www.gstatic.com/draco/versioned/decoders/${p_t}`,vn={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rf={[vn.DECODER]:`${dM}/${vn.DECODER}`,[vn.DECODER_WASM]:`${dM}/${vn.DECODER_WASM}`,[vn.FALLBACK_DECODER]:`${dM}/${vn.FALLBACK_DECODER}`,[vn.ENCODER]:`https://raw.githubusercontent.com/google/draco/${d_t}/javascript/${vn.ENCODER}`},hM;async function Zve(e){let t=e.modules||{};return t.draco3d?hM||(hM=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):hM||(hM=h_t(e)),await hM}async function h_t(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await au(Rf[vn.FALLBACK_DECODER],"draco",e,vn.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await au(Rf[vn.DECODER],"draco",e,vn.DECODER),await au(Rf[vn.DECODER_WASM],"draco",e,vn.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await m_t(t,r)}function m_t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var mM={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:D3,worker:!0,options:{draco:{},source:null}};var ng={...Kve,parse:g_t};async function g_t(e,t){let{draco:r}=await Zve(t),n=new By(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var v_t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Tn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},mt={...v_t,...Tn};var gM={[Tn.DOUBLE]:Float64Array,[Tn.FLOAT]:Float32Array,[Tn.UNSIGNED_SHORT]:Uint16Array,[Tn.UNSIGNED_INT]:Uint32Array,[Tn.UNSIGNED_BYTE]:Uint8Array,[Tn.BYTE]:Int8Array,[Tn.SHORT]:Int16Array,[Tn.INT]:Int32Array},x_t={DOUBLE:Tn.DOUBLE,FLOAT:Tn.FLOAT,UNSIGNED_SHORT:Tn.UNSIGNED_SHORT,UNSIGNED_INT:Tn.UNSIGNED_INT,UNSIGNED_BYTE:Tn.UNSIGNED_BYTE,BYTE:Tn.BYTE,SHORT:Tn.SHORT,INT:Tn.INT},vM="Failed to convert GL type",Ui=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in gM)if(gM[r]===t)return r;throw new Error(vM)}static fromName(t){let r=x_t[t];if(!r)throw new Error(vM);return r}static getArrayType(t){switch(t){case Tn.UNSIGNED_SHORT_5_6_5:case Tn.UNSIGNED_SHORT_4_4_4_4:case Tn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=gM[t];if(!r)throw new Error(vM);return r}}static getByteSize(t){return Ui.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Ui.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Ui.getByteSize(t));let a=Ui.getArrayType(t);return new a(r,n,i)}};function exe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function xM(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 Irr=1/256;var Prr=new Ad,Rrr=new Z,jrr=new Ad,Mrr=new Ad,Lrr=new Uint8Array(1);function txe(e,t=255){return Dj(e,0,t)/t*2-1}function rxe(e){return e<0?-1:1}function nxe(e,t,r,n){if(exe(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=txe(e,r),n.y=txe(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))*rxe(i),n.y=(1-Math.abs(i))*rxe(n.y)}return n.normalize()}function bM(e,t,r){return nxe(e,t,255,r)}function F3(e){return(e%1+1)%1}var $c=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=mt.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=Ui.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=Ui.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=Ui.createTypedArray(r,n),i[t]=a),a}};var b_t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},y_t={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]]},__t={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 ixe(e,t,r,n){let{componentType:i}=e;_t(e.componentType);let a=typeof i=="string"?Ui.fromName(i):i,o=b_t[e.type],s=y_t[e.type],u=__t[e.type];return r+=e.byteOffset,{values:Ui.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Bu=e=>e!==void 0;function axe(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?w_t(n,r):null}function w_t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Bu(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(Bu(u))for(Bu(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];Bu(c)&&Bu(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 g=o[r].length,b=o[r].instances,y=getBinaryProperties(g,b,t);o[r].instances=combine(y,b)}let d=new Array(p).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=d[n],++d[n];let m={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return T_t(m),m}function ig(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?E_t(e,t,r):A_t(e,t,r)}function E_t(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(Bu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let m=a[d+h];m!==t&&l.push(m)}}return null}function A_t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Bu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function T_t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)oxe(e,i,stack)}function oxe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Bu(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=Bu(n)?n[t]:1,c=Bu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&oxe(e,f,r)}r.pop(t)}function Ta(e){return e!=null}var k3=(e,t)=>e,S_t={HIERARCHY:!0,extensions:!0,extras:!0},Dd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;_t(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)S_t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=axe(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),_t(typeof r=="string",r),this._hierarchy){let n=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ta(n)}return!1}isExactClass(t,r){return _t(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),_t(typeof r=="string",r),Ta(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ta(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),_t(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ta(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ta(n))return k3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ta(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),_t(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];Ta(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=k3(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;_t(this.binary,`Property ${t} requires a batch table binary.`),_t(n.type,`Property ${t} requires a type.`);let i=ixe(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=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ta(s[r])});return Ta(n)}_getPropertyNamesInHierarchy(t,r){ig(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 ig(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ta(u)?Ta(u.typedArray)?this._getBinaryProperty(u,s):k3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=ig(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ta(f)?(_t(s===r,`Inherited property "${n}" is read-only.`),Ta(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=k3(i,!0),!0):!1});return Ta(a)}};var yM=4;function jf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=yM,e.version=n.getUint32(r,!0),r+=yM,e.byteLength=n.getUint32(r,!0),r+=yM,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var ag=4,sxe="b3dm tile in legacy format.";function og(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=ag;let o=n.getUint32(r,!0);r+=ag;let s=n.getUint32(r,!0);r+=ag;let u=n.getUint32(r,!0);return r+=ag,s>=570425344?(r-=ag*2,i=a,s=o,u=0,a=0,o=0,console.warn(sxe)):u>=570425344&&(r-=ag,i=s,s=a,u=o,a=0,o=0,console.warn(sxe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function sg(e,t,r,n){return r=C_t(e,t,r,n),r=D_t(e,t,r,n),r}function C_t(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=pM(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function D_t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=pM(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 _M(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:mt.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=xM(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:mt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:mt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var uxe=new Z;function cxe(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++)bM(t[n*2],t[n*2+1],uxe),uxe.toArray(r,n*3);return{type:mt.FLOAT,size:2,value:r}}return{type:mt.FLOAT,size:2,value:t}}function lxe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,F_t(e,t)):{type:mt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function F_t(e,t){let r=new Z,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 fxe(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),k_t(e);let{featureTable:a,batchTable:o}=B_t(e);return await j_t(e,a,o,n,i),O_t(e,a,n),I_t(e,a,o),P_t(e,a),r}function k_t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function B_t(e){let t=new $c(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",mt.FLOAT,3);let n=R_t(e,t);return{featureTable:t,batchTable:n}}function O_t(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",mt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=lxe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function I_t(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",mt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",mt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",mt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=_M(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",mt.UNSIGNED_BYTE,4))}function P_t(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",mt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",mt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=cxe(e,r)}}function R_t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",mt.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 Dd(i,a,n)}return r}async function j_t(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 M_t(e,l,n,i)}async function M_t(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 Na(t.buffer,ng,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,h=d.range;e.quantizedVolumeScale=new Z(h,h,h),e.quantizedVolumeOffset=new Z(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:_M(e,s,void 0),normals:u,batchIds:c,...p}}var z3={};Fi(z3,{createExtMeshFeatures:()=>G3,decode:()=>w2t,encode:()=>E2t,name:()=>U3});var B3="4.3.0";var pxe,L_t=(pxe=globalThis.loaders)==null?void 0:pxe.parseImageNode,wM=typeof Image<"u",EM=typeof ImageBitmap<"u",q_t=Boolean(L_t),AM=wr?!0:q_t;function dxe(e){switch(e){case"auto":return EM||wM||AM;case"imagebitmap":return EM;case"image":return wM;case"data":return AM;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function hxe(){if(EM)return"imagebitmap";if(wM)return"image";if(AM)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function mxe(e){let t=N_t(e);if(!t)throw new Error("Not an image");return t}function TM(e){return ug(e)}function ug(e){switch(mxe(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 N_t(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 U_t=/^data:image\/svg\+xml/,G_t=/\.svg((\?|#).*)?$/;function O3(e){return e&&(U_t.test(e)||G_t.test(e))}function gxe(e,t){if(O3(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 SM(e,t)}function SM(e,t){if(O3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function I3(e,t,r){let n=gxe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await z_t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function z_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 H_t={},vxe=!0;async function xxe(e,t,r){let n;O3(r)?n=await I3(e,t,r):n=SM(e,r);let i=t&&t.imagebitmap;return await V_t(n,i)}async function V_t(e,t=null){if(($_t(t)||!vxe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),vxe=!1}return await createImageBitmap(e)}function $_t(e){for(let t in e||H_t)return!1;return!0}function bxe(e){return!X_t(e,"ftyp",4)||!(e[8]&96)?null:W_t(e)}function W_t(e){switch(K_t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function K_t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function J_t(e){return[...e].map(t=>t.charCodeAt(0))}function X_t(e,t,r=0){let n=J_t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Ou=!1,Oy=!0;function Fd(e){let t=Iy(e);return Q_t(t)||t2t(t)||Z_t(t)||e2t(t)||Y_t(t)}function Y_t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=bxe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function Q_t(e){let t=Iy(e);return t.byteLength>=24&&t.getUint32(0,Ou)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Ou),height:t.getUint32(20,Ou)}:null}function Z_t(e){let t=Iy(e);return t.byteLength>=10&&t.getUint32(0,Ou)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Oy),height:t.getUint16(8,Oy)}:null}function e2t(e){let t=Iy(e);return t.byteLength>=14&&t.getUint16(0,Ou)===16973&&t.getUint32(2,Oy)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Oy),height:t.getUint32(22,Oy)}:null}function t2t(e){let t=Iy(e);if(!(t.byteLength>=3&&t.getUint16(0,Ou)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=r2t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Ou);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Ou),width:t.getUint16(a+7,Ou)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Ou)}return null}function r2t(){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 Iy(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 yxe(e,t){var i;let{mimeType:r}=Fd(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return _t(n),await n(e,r)}async function _xe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=n2t(i),s;switch(o){case"imagebitmap":s=await xxe(e,t,a);break;case"image":s=await I3(e,t,a);break;case"data":s=await yxe(e,t);break;default:_t(!1)}return i==="data"&&(s=ug(s)),s}function n2t(e){switch(e){case"auto":case"data":return hxe();default:return dxe(e),e}}var i2t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],a2t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],o2t={image:{type:"auto",decode:!0}},cg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:B3,mimeTypes:a2t,extensions:i2t,parse:_xe,tests:[e=>Boolean(Fd(new DataView(e)))],options:o2t};var Axe,wxe=(Axe=globalThis.loaders)==null?void 0:Axe.encodeImageNode;async function Txe(e,t){return t=t||{},t.image=t.image||{},wxe?wxe(e,{type:t.image.mimeType}):s2t(e,t)}var Exe=!0;async function s2t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=TM(e),o=document.createElement("canvas");o.width=i,o.height=a,u2t(e,o);let s=await new Promise(u=>{if(n&&Exe)try{o.toBlob(u,r,n);return}catch{Exe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function u2t(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 CM={name:"Images",id:"image",module:"images",version:B3,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:Txe};var DM={};function FM(e){if(DM[e]===void 0){let t=wr?l2t(e):c2t(e);DM[e]=t}return DM[e]}function c2t(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 l2t(e){switch(e){case"image/avif":case"image/webp":return f2t(e);default:return!0}}function f2t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function Wn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var P3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},R3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var p2t=1.33,Sxe=["SCALAR","VEC2","VEC3","VEC4"],d2t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],h2t=new Map(d2t),m2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},g2t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},v2t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function j3(e){return Sxe[e-1]||Sxe[0]}function Mf(e){let t=h2t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function lg(e,t){let r=v2t[e.componentType],n=m2t[e.type],i=g2t[e.componentType],a=e.count*n,o=e.count*n*i;Wn(o>=0&&o<=t.byteLength);let s=R3[e.componentType],u=P3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Py(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*p2t)}function Cxe(e,t,r){let n=e.bufferViews[r];Wn(n);let i=n.buffer,a=t[i];Wn(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Dxe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(g=e.bufferViews)==null?void 0:g[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}=lg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let h=new u(c);for(let b=0;b<n.count;b++){let y=new u(a,s+b*d,f);h.set(y,b*f)}return h}function x2t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Xt=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||x2t(),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];Wn(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Dxe(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 Wn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return Wn(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=Fd(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;Wn(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ga(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:j3(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:Mf(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;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=j5(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],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_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 Fxe(e){return(e%1+1)%1}var kxe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},b2t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Bxe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Ry(e,t){return Bxe[t]*kxe[e]}function fg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=pg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function pg(e,t,r,n=1){let i=kxe[t],a=b2t[r],o=Bxe[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 dg(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 h=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,m=(d=e.gltf.images)==null?void 0:d[u];if(m&&typeof m.width<"u"){let g=[];for(let b=0;b<a.length;b+=2){let y=y2t(m,h,a,b,t.channels);g.push(y)}return g}}return[]}function M3(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:Mf(o),count:o.length});i.attributes[t]=c}function y2t(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=_2t(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,h=ug(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let m=h.data[d];l|=m<<p.shift}return l}function _2t(e,t,r,n=1){let i=r.width,a=Fxe(e)*(i-1),o=Math.round(a),s=r.height,u=Fxe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function L3(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 q3(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 N3(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 hg="EXT_mesh_features",U3=hg;async function w2t(e,t){let r=new Xt(e);A2t(r,t)}function E2t(e,t){let r=new Xt(e);return S2t(r,t),r.createBinaryChunk(),r.gltf}function A2t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)T2t(e,i,t)}function T2t(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[hg],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=dg(e,u.texture,t):c=[];u.data=c}}function S2t(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let i of n.primitives)C2t(e,i)}function G3(e,t,r,n){t.extensions||(t.extensions={});let i=t.extensions[hg];i||(i={featureIds:[]},t.extensions[hg]=i);let{featureIds:a}=i,o={featureCount:r.length,propertyTable:n,data:r};a.push(o),e.addObjectExtension(t,hg,i)}function C2t(e,t){var i;let r=(i=t.extensions)==null?void 0:i[hg];if(!r)return;let n=r.featureIds;n.forEach((a,o)=>{if(a.data){let{accessorKey:s,index:u}=D2t(t.attributes),c=new Uint32Array(a.data);n[o]={featureCount:c.length,propertyTable:a.propertyTable,attribute:u},e.gltf.buffers.push({arrayBuffer:c.buffer,byteOffset:c.byteOffset,byteLength:c.byteLength});let l=e.addBufferView(c),f=e.addAccessor(l,{size:1,componentType:Mf(c),count:c.length});t.attributes[s]=f}})}function D2t(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(a=>a.indexOf(t)===0),n=-1;for(let a of r){let o=Number(a.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var V3={};Fi(V3,{createExtStructuralMetadata:()=>H3,decode:()=>F2t,encode:()=>k2t,name:()=>Wc});var mg="EXT_structural_metadata",Wc=mg;async function F2t(e,t){let r=new Xt(e);B2t(r,t)}function k2t(e,t){let r=new Xt(e);return W2t(r,t),r.createBinaryChunk(),r.gltf}function B2t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(mg);r&&((i=t.gltf)!=null&&i.loadImages&&O2t(e,r),I2t(e,r))}function O2t(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)R2t(e,r,a,t)}function I2t(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=P2t(i,a);o&&M2t(e,r,o)}}function P2t(e,t){for(let r of e)if(r.class===t)return r;return null}function R2t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[mg],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];j2t(e,u,r,n)}}function j2t(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=dg(e,u,r);l!==null&&(M3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function M2t(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=L2t(e,t,u,i,c);c.data=l}}}function L2t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=q2t(e,r,i,n),c=N2t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=U2t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=N3(n,s,u,c);break}case"ENUM":{a=G2t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function q2t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?fg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function N2t(e,t,r){return typeof t.stringOffsets<"u"?fg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function U2t(e,t,r,n){let i=e.array,a=e.count,o=Ry(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=pg(r,e.type,e.componentType,s):u=r,i?n?L3(u,t,n,r.length,o):a?q3(u,t,a):[]:u}function G2t(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=Ry(t.type,s),c=n.byteLength/u,l=pg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return z2t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?H2t(l,r,p,o):[]}return BM(l,0,r,o)}function z2t(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=BM(t,f,p,o);s.push(d)}return s}function H2t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=BM(e,o,r,n);i.push(s)}return i}function BM(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=V2t(n,o);s?i.push(s.name):i.push("")}return i}function V2t(e,t){for(let r of e.values)if(r.value===t)return r;return null}var $2t="schemaClassId";function W2t(e,t){var n,i;let r=e.getExtension(mg);if(r&&r.propertyTables)for(let a of r.propertyTables){let o=a.class,s=(i=(n=r.schema)==null?void 0:n.classes)==null?void 0:i[o];a.properties&&s&&K2t(a,s,e)}}function K2t(e,t,r){for(let n in e.properties){let i=e.properties[n].data;if(i){let a=t.properties[n];if(a){let o=Y2t(i,a,r);e.properties[n]=o}}}}function H3(e,t,r=$2t){let n=e.getExtension(mg);n||(n=e.addExtension(mg)),n.schema=J2t(t,r,n.schema);let i=X2t(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function J2t(e,t,r){let n=r??{id:"schema_id"},i={properties:{}};for(let a of e){let o={type:a.elementType,componentType:a.componentType};i.properties[a.name]=o}return n.classes={},n.classes[t]=i,n}function X2t(e,t,r){var o;let n={class:t,count:0},i=0,a=(o=r.classes)==null?void 0:o[t];for(let s of e){if(i===0&&(i=s.values.length),i!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(a==null?void 0:a.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=i,n}function Y2t(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:i,stringOffsets:a}=ewt(e);n.stringOffsets=kM(a,r),n.values=kM(i,r)}else if(t.type==="SCALAR"&&t.componentType){let i=Z2t(e,t.componentType);n.values=kM(i,r)}return n}var Q2t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function Z2t(e,t){let r=[];for(let i of e)r.push(Number(i));let n=Q2t[t];if(!n)throw new Error("Illegal component type");return new n(r)}function ewt(e){let t=new TextEncoder,r=[],n=0;for(let u of e){let c=t.encode(u);n+=c.length,r.push(c)}let i=new Uint8Array(n),a=[],o=0;for(let u of r)i.set(u,o),a.push(o),o+=u.length;a.push(o);let s=new Uint32Array(a);return{stringData:i,stringOffsets:s}}function kM(e,t){return t.gltf.buffers.push({arrayBuffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var OM={};Fi(OM,{decode:()=>twt,name:()=>Fo});var Oxe="EXT_feature_metadata",Fo=Oxe;async function twt(e,t){let r=new Xt(e);rwt(r,t)}function rwt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Oxe);r&&((i=t.gltf)!=null&&i.loadImages&&nwt(e,r),iwt(e,r))}function nwt(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=owt(i,a);s&&uwt(e,s,o)}}function iwt(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=awt(i,a);o&&swt(e,r,o)}}function awt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function owt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function swt(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=cwt(e,t,u,i,c);c.data=l}}}function uwt(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=hwt(e,o,n);o.data=s}}}function cwt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=lwt(e,r,i,n),c=fwt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=N3(n,s,u,c):pwt(r)&&(a=dwt(r,n,s,u)),a}function lwt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?fg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function fwt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?fg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function pwt(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 dwt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Ry(o,s),c=r.byteLength/u,l=pg(r,o,s,c);return i?n?L3(l,t,n,r.length,u):a?q3(l,t,a):[]:l}function hwt(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)mwt(e,r,t,i,o);return i}function mwt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=dg(e,a,i);o&&M3(e,t,o,n,i)}var $3="4.3.0";var gg="4.3.0";var Iu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Ixe;async function PM(e){Px(e.modules);let t=A5("basis");return t||(Ixe||(Ixe=gwt(e)),await Ixe)}async function gwt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.TRANSCODER,"textures",e),await au(Iu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await vwt(t,r)}function vwt(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 IM;async function RM(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(IM=IM||xwt(e),await IM)}async function xwt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.ENCODER,"textures",e),await au(Iu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await bwt(t,r)}function bwt(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 ce={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 ywt=["","WEBKIT_","MOZ_"],Pxe={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"},W3=null;function jy(e){if(!W3){e=e||_wt()||void 0,W3=new Set;for(let t of ywt)for(let r in Pxe)if(e&&e.getExtension(`${t}${r}`)){let n=Pxe[r];W3.add(n)}}return W3}function _wt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var jM=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},kd=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var oar=new Uint8Array([0]),na=[171,75,84,88,32,50,48,187,13,10,26,10];function Rxe(e){return new TextDecoder().decode(e)}function jxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,na.length);if(t[0]!==na[0]||t[1]!==na[1]||t[2]!==na[2]||t[3]!==na[3]||t[4]!==na[4]||t[5]!==na[5]||t[6]!==na[6]||t[7]!==na[7]||t[8]!==na[8]||t[9]!==na[9]||t[10]!==na[10]||t[11]!==na[11])throw new Error("Missing KTX 2.0 identifier.");let r=new jM,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new kd(e,na.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),p=a*3*8,d=new kd(e,na.length+n,p,!0);for(let pe=0;pe<a;pe++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new kd(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,b=4,y=(m.descriptorBlockSize/4-g)/b;for(let pe=0;pe<y;pe++){let Ce={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};Ce.channelType&64?(Ce.sampleLower=h._nextInt32(),Ce.sampleUpper=h._nextInt32()):(Ce.sampleLower=h._nextUint32(),Ce.sampleUpper=h._nextUint32()),m.samples[pe]=Ce}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let w=new kd(e,u,c,!0);for(;w._offset<c;){let pe=w._nextUint32(),Ce=w._scan(pe),Be=Rxe(Ce);if(r.keyValue[Be]=w._nextUint8Array(pe-Ce.byteLength-1),Be.match(/^ktx/i)){let N=Rxe(r.keyValue[Be]);r.keyValue[Be]=N.substring(0,N.lastIndexOf("\0"))}let J=pe%4?4-pe%4:0;w._skip(J)}if(f<=0)return r;let T=new kd(e,l,f,!0),E=T._nextUint16(),k=T._nextUint16(),B=T._nextUint32(),j=T._nextUint32(),C=T._nextUint32(),I=T._nextUint32(),P=[];for(let pe=0;pe<a;pe++)P.push({imageFlags:T._nextUint32(),rgbSliceByteOffset:T._nextUint32(),rgbSliceByteLength:T._nextUint32(),alphaSliceByteOffset:T._nextUint32(),alphaSliceByteLength:T._nextUint32()});let L=l+T._offset,G=L+B,V=G+j,X=V+C,Y=new Uint8Array(e.buffer,e.byteOffset+L,B),he=new Uint8Array(e.buffer,e.byteOffset+G,j),le=new Uint8Array(e.buffer,e.byteOffset+V,C),me=new Uint8Array(e.buffer,e.byteOffset+X,I);return r.globalData={endpointCount:E,selectorCount:k,imageDescs:P,endpointsData:Y,selectorsData:he,tablesData:le,extendedData:me},r}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=Ewt(t,n,i,e,o),u=wwt(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 wwt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function Ewt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var Awt={131:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,132:ce.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:ce.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:ce.COMPRESSED_RED_RGTC1_EXT,140:ce.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:ce.COMPRESSED_RED_GREEN_RGTC2_EXT,142:ce.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:ce.COMPRESSED_RGB8_ETC2,148:ce.COMPRESSED_SRGB8_ETC2,149:ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:ce.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:ce.COMPRESSED_RGBA8_ETC2_EAC,152:ce.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:ce.COMPRESSED_R11_EAC,154:ce.COMPRESSED_SIGNED_R11_EAC,155:ce.COMPRESSED_RG11_EAC,156:ce.COMPRESSED_SIGNED_RG11_EAC,157:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,158:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,160:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,162:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,164:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,166:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,168:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,170:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,172:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,174:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,176:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,178:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,180:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,182:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:ce.COMPRESSED_RGBA_ASTC_12x12_KHR,184:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:ce.COMPRESSED_RGBA_ASTC_12x12_KHR};function Mxe(e){return Awt[e]}var Wa=[171,75,84,88,32,50,48,187,13,10,26,10];function K3(e){let t=new Uint8Array(e);return!(t.byteLength<Wa.length||t[0]!==Wa[0]||t[1]!==Wa[1]||t[2]!==Wa[2]||t[3]!==Wa[3]||t[4]!==Wa[4]||t[5]!==Wa[5]||t[6]!==Wa[6]||t[7]!==Wa[7]||t[8]!==Wa[8]||t[9]!==Wa[9]||t[10]!==Wa[10]||t[11]!==Wa[11])}function Lxe(e){let t=new Uint8Array(e),r=jxe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=Mxe(r.vkFormat);return vg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var Twt={etc1:{basisFormat:0,compressed:!0,format:ce.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:ce.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:ce.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:ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:ce.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 J3(e,t){if(t.basis.containerFormat==="auto"){if(K3(e)){let n=await RM(t);return qxe(n.KTX2File,e,t)}let{BasisFile:r}=await PM(t);return MM(r,e,t)}switch(t.basis.module){case"encoder":let r=await RM(t);switch(t.basis.containerFormat){case"ktx2":return qxe(r.KTX2File,e,t);case"basis":default:return MM(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await PM(t);return MM(n,e,t)}}function MM(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(Swt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function Swt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Nxe(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 qxe(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(Cwt(n,o,r));return[a]}finally{n.close(),n.delete()}}function Cwt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Nxe(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 Nxe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=xg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Twt[r]}function xg(){let e=jy();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 Uxe={dataType:null,batchType:null,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"}}},Bd={...Uxe,parse:J3};var Ka={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},Dwt={DXT1:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":ce.COMPRESSED_RGB_ATC_WEBGL,ATCA:ce.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:ce.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Fwt=Hxe,kwt=X3,Bwt=X3,Owt={DXT1:Hxe,DXT3:X3,DXT5:X3,"ATC ":Fwt,ATCA:kwt,ATCI:Bwt};function Gxe(e){return new Uint32Array(e,0,Ka.HEADER_LENGTH)[Ka.MAGIC_NUMBER_INDEX]===Ka.MAGIC_NUMBER}function zxe(e){let t=new Int32Array(e,0,Ka.HEADER_LENGTH),r=t[Ka.HEADER_PF_FOURCC_INDEX];_t(Boolean(t[Ka.HEADER_PF_FLAGS_INDEX]&Ka.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Iwt(r),i=Dwt[n],a=Owt[n];_t(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[Ka.HEADER_FLAGS_INDEX]&Ka.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[Ka.MIPMAPCOUNT_INDEX]));let s=t[Ka.HEADER_WIDTH_INDEX],u=t[Ka.HEADER_HEIGHT_INDEX],c=t[Ka.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return vg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Hxe(e,t){return(e+3>>2)*(t+3>>2)*8}function X3(e,t){return(e+3>>2)*(t+3>>2)*16}function Iwt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var ko={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},Pwt={0:[ce.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[ce.COMPRESSED_RGB_ETC1_WEBGL],7:[ce.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[ce.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[ce.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[ce.COMPRESSED_RGB8_ETC2],23:[ce.COMPRESSED_RGBA8_ETC2_EAC],24:[ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[ce.COMPRESSED_R11_EAC],26:[ce.COMPRESSED_RG11_EAC],27:[ce.COMPRESSED_RGBA_ASTC_4X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[ce.COMPRESSED_RGBA_ASTC_5X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[ce.COMPRESSED_RGBA_ASTC_5X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[ce.COMPRESSED_RGBA_ASTC_6X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[ce.COMPRESSED_RGBA_ASTC_6X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[ce.COMPRESSED_RGBA_ASTC_8X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[ce.COMPRESSED_RGBA_ASTC_8X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[ce.COMPRESSED_RGBA_ASTC_8X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[ce.COMPRESSED_RGBA_ASTC_10X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[ce.COMPRESSED_RGBA_ASTC_10X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[ce.COMPRESSED_RGBA_ASTC_10X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[ce.COMPRESSED_RGBA_ASTC_10X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[ce.COMPRESSED_RGBA_ASTC_12X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[ce.COMPRESSED_RGBA_ASTC_12X12_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Rwt={0:Vxe,1:Vxe,2:$xe,3:$xe,6:My,7:My,9:Ly,11:Ly,22:My,23:Ly,24:My,25:My,26:Ly,27:Ly,28:jwt,29:Mwt,30:Lwt,31:qwt,32:Nwt,33:Uwt,34:Gwt,35:zwt,36:Hwt,37:Vwt,38:$wt,39:Wwt,40:Kwt};function Wxe(e){let r=new Uint32Array(e,0,ko.HEADER_LENGTH)[ko.MAGIC_NUMBER_INDEX];return r===ko.MAGIC_NUMBER||r===ko.MAGIC_NUMBER_EXTRA}function Kxe(e){let t=new Uint32Array(e,0,ko.HEADER_LENGTH),r=t[ko.PIXEL_FORMAT_INDEX],n=t[ko.COLOUR_SPACE_INDEX],i=Pwt[r]||[],a=i.length>1&&n?i[1]:i[0],o=Rwt[r],s=t[ko.MIPMAPCOUNT_INDEX],u=t[ko.WIDTH_INDEX],c=t[ko.HEIGHT_INDEX],l=ko.HEADER_SIZE+t[ko.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return vg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function Vxe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function $xe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function My(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Ly(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function jwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Mwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Lwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function qwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Nwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Uwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Gwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function zwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Hwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function Vwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function $wt(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 Kwt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Jxe(e){if(K3(e))return Lxe(e);if(Gxe(e))return zxe(e);if(Wxe(e))return Kxe(e);throw new Error("Texture container format not recognized")}var Xxe={dataType:null,batchType:null,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}}},Y3={...Xxe,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 J3(e,t))[0]):Jxe(e)}};var LM={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 bg=!0,Yxe=1735152710,UM=12,Q3=8,Jwt=1313821514,Xwt=5130562,Ywt=0,Qwt=0,Zwt=1;function eEt(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 Qxe(e,t=0,r={}){let n=new DataView(e),{magic:i=Yxe}=r,a=n.getUint32(t,!1);return a===i||a===Yxe}function Zxe(e,t,r=0,n={}){let i=new DataView(t),a=eEt(i,r+0),o=i.getUint32(r+4,bg),s=i.getUint32(r+8,bg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=UM,e.version){case 1:return tEt(e,i,r);case 2:return rEt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function tEt(e,t,r){_t(e.header.byteLength>UM+Q3);let n=t.getUint32(r+0,bg),i=t.getUint32(r+4,bg);return r+=Q3,_t(i===Ywt),qM(e,t,r,n),r+=n,r+=NM(e,t,r,e.header.byteLength),r}function rEt(e,t,r,n){return _t(e.header.byteLength>UM+Q3),nEt(e,t,r,n),r+e.header.byteLength}function nEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,bg),a=t.getUint32(r+4,bg);switch(r+=Q3,a){case Jwt:qM(e,t,r,i);break;case Xwt:NM(e,t,r,i);break;case Qwt:n.strict||qM(e,t,r,i);break;case Zwt:n.strict||NM(e,t,r,i);break;default:break}r+=Ga(i,4)}return r}function qM(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ga(n,4)}function NM(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ga(n,4)}function GM(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 HM={};Fi(HM,{decode:()=>mEt,name:()=>hEt});var iEt="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",aEt="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",oEt=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]),sEt=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]),uEt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},cEt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function ebe(e,t,r,n,i,a="NONE"){let o=await lEt();dEt(o,o.exports[cEt[i]],e,t,r,n,o.exports[uEt[a||"NONE"]])}var zM;async function lEt(){return zM||(zM=fEt()),zM}async function fEt(){let e=iEt;WebAssembly.validate(oEt)&&(e=aEt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(pEt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function pEt(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?sEt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function dEt(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 Z3="EXT_meshopt_compression",hEt=Z3;async function mEt(e,t){var i,a;let r=new Xt(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(gEt(r,o));await Promise.all(n),r.removeExtension(Z3)}async function gEt(e,t){let r=e.getObjectExtension(t,Z3);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 ebe(p,o,a,f,s,u),e.removeObjectExtension(t,Z3)}}var VM={};Fi(VM,{name:()=>vEt,preprocess:()=>xEt});var yg="EXT_texture_webp",vEt=yg;function xEt(e,t){let r=new Xt(e);if(!FM("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 $M={};Fi($M,{name:()=>bEt,preprocess:()=>yEt});var e8="KHR_texture_basisu",bEt=e8;function yEt(e,t){let r=new Xt(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,e8);a&&(i.source=a.source,r.removeObjectExtension(i,e8))}r.removeExtension(e8)}var KM={};Fi(KM,{decode:()=>TEt,encode:()=>SEt,name:()=>EEt,preprocess:()=>AEt});function tbe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=WM(n);t[r]=i}}return t}function WM(e){let{buffer:t,size:r,count:n}=_Et(e);return{value:t,size:r,byteOffset:0,count:n,type:j3(r),componentType:Mf(t)}}function _Et(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=wEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function wEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Lf="KHR_draco_mesh_compression",EEt=Lf;function AEt(e,t,r){let n=new Xt(e);for(let i of rbe(n))n.getObjectExtension(i,Lf)}async function TEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new Xt(e),i=[];for(let o of rbe(n))n.getObjectExtension(o,Lf)&&i.push(CEt(n,o,t,r));await Promise.all(i),n.removeExtension(Lf)}function SEt(e,t={}){let r=new Xt(e);for(let n of r.json.meshes||[])DEt(n,t),r.addRequiredExtension(Lf)}async function CEt(e,t,r,n){let i=e.getObjectExtension(t,Lf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=Pp(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Na(o,ng,s,n),c=tbe(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=WM(u.indices)),e.removeObjectExtension(t,Lf),FEt(t)}function DEt(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:{[Lf]:{bufferView:u,attributes:s}}}]}}function FEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*rbe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var JM={};Fi(JM,{decode:()=>IEt,name:()=>kEt});var r8="KHR_texture_transform",kEt=r8,t8=new Z,BEt=new rr,OEt=new rr;async function IEt(e,t){var a;if(!new Xt(e).hasExtension(r8)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)PEt(o,e)}function PEt(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[r8])&&REt(t,e,c,i)}function REt(e,t,r,n){let i=jEt(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&&MEt(e,s,i)}}function jEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[r8],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=NEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function MEt(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:h,length:m}=lg(c,l),g=R3[c.componentType],b=P3[c.type],y=l.byteStride||g*b,w=new Float32Array(m);for(let T=0;T<c.count;T++){let E=new h(f,d+T*y,2);t8.set(E[0],E[1],1),t8.transformByMatrix3(a),w.set([t8[0],t8[1]],T*b)}n===i?LEt(c,l,e.buffers,w):qEt(i,c,t,e,w)}}}}function LEt(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 qEt(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 NEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new rr().set(1,0,0,0,1,0,t[0],t[1],1),a=BEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=OEt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var XM={};Fi(XM,{decode:()=>GEt,encode:()=>zEt,name:()=>UEt});var Od="KHR_lights_punctual",UEt=Od;async function GEt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(Od);n&&(t.json.lights=n.lights,t.removeExtension(Od));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,Od);a&&(i.light=a.light),t.removeObjectExtension(i,Od)}}async function zEt(e){let t=new Xt(e),{json:r}=t;if(r.lights){let n=t.addExtension(Od);Wn(!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,Od,n)}delete t.json.lights}}var YM={};Fi(YM,{decode:()=>VEt,encode:()=>$Et,name:()=>HEt});var qy="KHR_materials_unlit",HEt=qy;async function VEt(e){let t=new Xt(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,qy);t.removeExtension(qy)}function $Et(e){let t=new Xt(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,qy,{}),t.addExtension(qy))}var QM={};Fi(QM,{decode:()=>KEt,encode:()=>JEt,name:()=>WEt});var Ny="KHR_techniques_webgl",WEt=Ny;async function KEt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(Ny);if(n){let i=XEt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Ny);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=YEt(a.technique,t)),t.removeObjectExtension(a,Ny)}t.removeExtension(Ny)}}async function JEt(e,t){}function XEt(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 YEt(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 nbe=[V3,z3,HM,VM,$M,KM,XM,YM,QM,JM,OM],QEt=[V3,z3];function ibe(e,t={},r){var i;let n=nbe.filter(a=>sbe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function abe(e,t={},r){var i;let n=nbe.filter(a=>sbe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function obe(e,t={}){var r;for(let n of QEt)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function sbe(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 ZM="KHR_binary_glTF";function ube(e){let t=new Xt(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,ZM);i&&Object.assign(n,i),t.removeObjectExtension(n,ZM)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(ZM)}var cbe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},eAt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},eL=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),ube(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 cbe)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 cbe)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=eAt[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 eL().normalize(e,t)}async function fbe(e,t,r=0,n,i){var a,o,s;return tAt(e,t,r,n),lbe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),ibe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await rAt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await nAt(e,n,i),await abe(e,n,i),e}function tAt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!Qxe(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=R5(t);else if(t instanceof ArrayBuffer){let o={};r=Zxe(o,t,r,n.glb),Wn(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else Wn(!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 rAt(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;Wn(u);let c=GM(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 nAt(e,t,r){let n=iAt(e),i=e.json.images||[],a=[];for(let o of n)a.push(aAt(e,i[o],o,t,r));return await Promise.all(a)}function iAt(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 aAt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=GM(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Cxe(e.json,e.buffers,t.bufferView);a=Pp(s.buffer,s.byteOffset,s.byteLength)}Wn(a,"glTF image has no data");let o=await Na(a,[cg,Bd],{...n,mimeType:t.mimeType,basis:n.basis||{format:xg()}},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 Kc={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:oAt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function oAt(e,t={},r){t={...Kc.options,...t},t.gltf={...Kc.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await fbe({},e,n,t,r)}var sAt=1179937895,uAt=1313821514,cAt=5130562,Pu=!0;function pbe(e,t,r=0,n={}){let{magic:i=sAt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Pu),t.setUint32(r+4,a,Pu),t.setUint32(r+8,0,Pu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,uAt,Pu)),r+=8;let f=JSON.stringify(o);if(r=u0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Pu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,cAt,Pu)),r+=8,r=xw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Pu)}}if(t){let p=r-u;t.setUint32(c,p,Pu)}return r}function tL(e,t,r,n){return lAt(e),pbe(e,t,r,n)}function lAt(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var rL={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>dbe(e,t),encodeSync:dbe};function dbe(e,t={}){let{byteOffset:r=0}=t,n=obe(e),i=tL(n,null,r,t),a=new ArrayBuffer(i),o=new DataView(a);return tL(n,o,r,t),a}var fAt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},pAt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Bo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},dAt={magFilter:Bo.TEXTURE_MAG_FILTER,minFilter:Bo.TEXTURE_MIN_FILTER,wrapS:Bo.TEXTURE_WRAP_S,wrapT:Bo.TEXTURE_WRAP_T},hAt={[Bo.TEXTURE_MAG_FILTER]:Bo.LINEAR,[Bo.TEXTURE_MIN_FILTER]:Bo.NEAREST_MIPMAP_LINEAR,[Bo.TEXTURE_WRAP_S]:Bo.REPEAT,[Bo.TEXTURE_WRAP_T]:Bo.REPEAT};function mAt(){return{id:"default-sampler",parameters:hAt}}function gAt(e){return pAt[e]}function vAt(e){return fAt[e]}var nL=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return Wn(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=gAt(t.componentType),i=vAt(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}=lg(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):mAt(),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 dAt[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 Uy(e,t){return new nL().postProcess(e,t)}var n8={URI:0,EMBEDDED:1};function i8(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=Pp(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 a8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(xAt(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 Na(e.gltfArrayBuffer,Kc,r,n);e.gltf=Uy(a),e.gpuMemoryUsageInBytes=Py(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function xAt(e,t,r){switch(t){case n8.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 n8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function hbe(e,t,r,n,i){var o;r=bAt(e,t,r,n,i),await a8(e,n8.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 bAt(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),r=i8(e,t,r,n);let a=new $c(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",mt.FLOAT,3),r}async function mbe(e,t,r,n,i){return r=yAt(e,t,r,n,i),await a8(e,e.gltfFormat||0,n,i),r}function yAt(e,t,r,n,i){var c;if(r=jf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=og(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=sg(e,t,r,n),r=i8(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 $c(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",mt.FLOAT,3);let u=new Dd(e.batchTableJson,e.batchTableBinary,s);return _At(e,o,u,s),r}function _At(e,t,r,n){let i=new Array(n),a=new Z,o=new Z,s=new Z,u=new Z,c=new rr,l=new Co,f=new Z,p={},d=new mr,h=[],m=[],g=[],b=[];for(let y=0;y<n;y++){let w;if(t.hasProperty("POSITION"))w=t.getProperty("POSITION",mt.FLOAT,3,y,a);else if(t.hasProperty("POSITION_QUANTIZED")){w=t.getProperty("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3,y,a);let I=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let L=65535;for(let G=0;G<3;G++)w[G]=w[G]/L*P[G]+I[G]}if(!w)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(w),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",mt.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",mt.FLOAT,3,y,m);let T=!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",mt.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",mt.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(Bt.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}T&&(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 E=t.getProperty("SCALE",mt.FLOAT,1,y,g);Number.isFinite(E)&&f.multiplyByScalar(E);let k=t.getProperty("SCALE_NON_UNIFORM",mt.FLOAT,3,y,h);k&&f.scale(k),p.scale=f;let B=t.getProperty("BATCH_ID",mt.UNSIGNED_SHORT,1,y,b);B===void 0&&(B=y);let j=new mr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(j),d.scale(p.scale);let C=d.clone();i[y]={modelMatrix:C,batchId:B}}e.instances=i}async function gbe(e,t,r,n,i,a){r=jf(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 vbe(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 Na(t,Kc,r,n);e.gltf=Uy(o),e.gpuMemoryUsageInBytes=Py(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function iL(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Wve(e,t),i.type){case ci.COMPOSITE:return await gbe(i,e,t,r,n,iL);case ci.BATCHED_3D_MODEL:return await hbe(i,e,t,r,n);case ci.GLTF:return await vbe(i,e,r,n);case ci.INSTANCED_3D_MODEL:return await mbe(i,e,t,r,n);case ci.POINT_CLOUD:return await fxe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function aL(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=xbe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=xbe(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await o8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await o8(c,p,f,r);else await o8(c,c.contentAvailability,f,r);return await o8(c,c.childSubtreeAvailability,f,r),c}async function o8(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 xbe(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var s8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:rg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:aL,options:{}};var Oo=null;try{Oo=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 Nr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Nr.prototype.__isLong__;Object.defineProperty(Nr.prototype,"__isLong__",{value:!0});function Gi(e){return(e&&e.__isLong__)===!0}function bbe(e){var t=Math.clz32(e&-e);return e?31-t:t}Nr.isLong=Gi;var ybe={},_be={};function Id(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=_be[e],n)?n:(r=fr(e,0,!0),i&&(_be[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=ybe[e],n)?n:(r=fr(e,e<0?-1:0,!1),i&&(ybe[e]=r),r))}Nr.fromInt=Id;function Io(e,t){if(isNaN(e))return t?Jc:bs;if(t){if(e<0)return Jc;if(e>=Tbe)return Dbe}else{if(e<=-Ebe)return Sa;if(e+1>=Ebe)return Cbe}return e<0?Io(-e,t).neg():fr(e%wg|0,e/wg|0,t)}Nr.fromNumber=Io;function fr(e,t,r){return new Nr(e,t,r)}Nr.fromBits=fr;var u8=Math.pow;function sL(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?Jc:bs;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 sL(e.substring(1),t,r).neg();for(var i=Io(u8(r,8)),a=bs,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=Io(u8(r,s));a=a.mul(c).add(Io(u))}else a=a.mul(i),a=a.add(Io(u))}return a.unsigned=t,a}Nr.fromString=sL;function ys(e,t){return typeof e=="number"?Io(e,t):typeof e=="string"?sL(e,t):fr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Nr.fromValue=ys;var wbe=1<<16,wAt=1<<24,wg=wbe*wbe,Tbe=wg*wg,Ebe=Tbe/2,Abe=Id(wAt),bs=Id(0);Nr.ZERO=bs;var Jc=Id(0,!0);Nr.UZERO=Jc;var _g=Id(1);Nr.ONE=_g;var Sbe=Id(1,!0);Nr.UONE=Sbe;var oL=Id(-1);Nr.NEG_ONE=oL;var Cbe=fr(-1,2147483647,!1);Nr.MAX_VALUE=Cbe;var Dbe=fr(-1,-1,!0);Nr.MAX_UNSIGNED_VALUE=Dbe;var Sa=fr(0,-2147483648,!1);Nr.MIN_VALUE=Sa;var Se=Nr.prototype;Se.toInt=function(){return this.unsigned?this.low>>>0:this.low};Se.toNumber=function(){return this.unsigned?(this.high>>>0)*wg+(this.low>>>0):this.high*wg+(this.low>>>0)};Se.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(Sa)){var r=Io(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=Io(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}};Se.getHighBits=function(){return this.high};Se.getHighBitsUnsigned=function(){return this.high>>>0};Se.getLowBits=function(){return this.low};Se.getLowBitsUnsigned=function(){return this.low>>>0};Se.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Sa)?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};Se.isZero=function(){return this.high===0&&this.low===0};Se.eqz=Se.isZero;Se.isNegative=function(){return!this.unsigned&&this.high<0};Se.isPositive=function(){return this.unsigned||this.high>=0};Se.isOdd=function(){return(this.low&1)===1};Se.isEven=function(){return(this.low&1)===0};Se.equals=function(t){return Gi(t)||(t=ys(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Se.eq=Se.equals;Se.notEquals=function(t){return!this.eq(t)};Se.neq=Se.notEquals;Se.ne=Se.notEquals;Se.lessThan=function(t){return this.comp(t)<0};Se.lt=Se.lessThan;Se.lessThanOrEqual=function(t){return this.comp(t)<=0};Se.lte=Se.lessThanOrEqual;Se.le=Se.lessThanOrEqual;Se.greaterThan=function(t){return this.comp(t)>0};Se.gt=Se.greaterThan;Se.greaterThanOrEqual=function(t){return this.comp(t)>=0};Se.gte=Se.greaterThanOrEqual;Se.ge=Se.greaterThanOrEqual;Se.compare=function(t){if(Gi(t)||(t=ys(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};Se.comp=Se.compare;Se.negate=function(){return!this.unsigned&&this.eq(Sa)?Sa:this.not().add(_g)};Se.neg=Se.negate;Se.add=function(t){Gi(t)||(t=ys(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,fr(p<<16|d,l<<16|f,this.unsigned)};Se.subtract=function(t){return Gi(t)||(t=ys(t)),this.add(t.neg())};Se.sub=Se.subtract;Se.multiply=function(t){if(this.isZero())return this;if(Gi(t)||(t=ys(t)),Oo){var r=Oo.mul(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Jc:bs;if(this.eq(Sa))return t.isOdd()?Sa:bs;if(t.eq(Sa))return this.isOdd()?Sa:bs;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(Abe)&&t.lt(Abe))return Io(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,h=0;return h+=o*l,d+=h>>>16,h&=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,fr(d<<16|h,f<<16|p,this.unsigned)};Se.mul=Se.multiply;Se.divide=function(t){if(Gi(t)||(t=ys(t)),t.isZero())throw Error("division by zero");if(Oo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Oo.div_u:Oo.div_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Jc:bs;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Jc;if(t.gt(this.shru(1)))return Sbe;a=Jc}else{if(this.eq(Sa)){if(t.eq(_g)||t.eq(oL))return Sa;if(t.eq(Sa))return _g;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(bs)?t.isNegative()?_g:oL:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Sa))return this.unsigned?Jc:bs;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=bs}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=Io(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Io(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=_g),a=a.add(c),i=i.sub(l)}return a};Se.div=Se.divide;Se.modulo=function(t){if(Gi(t)||(t=ys(t)),Oo){var r=(this.unsigned?Oo.rem_u:Oo.rem_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Se.mod=Se.modulo;Se.rem=Se.modulo;Se.not=function(){return fr(~this.low,~this.high,this.unsigned)};Se.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Se.clz=Se.countLeadingZeros;Se.countTrailingZeros=function(){return this.low?bbe(this.low):bbe(this.high)+32};Se.ctz=Se.countTrailingZeros;Se.and=function(t){return Gi(t)||(t=ys(t)),fr(this.low&t.low,this.high&t.high,this.unsigned)};Se.or=function(t){return Gi(t)||(t=ys(t)),fr(this.low|t.low,this.high|t.high,this.unsigned)};Se.xor=function(t){return Gi(t)||(t=ys(t)),fr(this.low^t.low,this.high^t.high,this.unsigned)};Se.shiftLeft=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):fr(0,this.low<<t-32,this.unsigned)};Se.shl=Se.shiftLeft;Se.shiftRight=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):fr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Se.shr=Se.shiftRight;Se.shiftRightUnsigned=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?fr(this.high,0,this.unsigned):fr(this.high>>>t-32,0,this.unsigned)};Se.shru=Se.shiftRightUnsigned;Se.shr_u=Se.shiftRightUnsigned;Se.rotateLeft=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,fr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Se.rotl=Se.rotateLeft;Se.rotateRight=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,fr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Se.rotr=Se.rotateRight;Se.toSigned=function(){return this.unsigned?fr(this.low,this.high,!1):this};Se.toUnsigned=function(){return this.unsigned?this:fr(this.low,this.high,!0)};Se.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Se.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]};Se.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]};Nr.fromBytes=function(t,r,n){return n?Nr.fromBytesLE(t,r):Nr.fromBytesBE(t,r)};Nr.fromBytesLE=function(t,r){return new Nr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Nr.fromBytesBE=function(t,r){return new Nr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var Eg=Nr;var EAt=16;function Gy(e){e==="X"&&(e="");let t=e.padEnd(EAt,"0");return Eg.fromString(t,!0,16)}function uL(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 cL(e,t){let r=AAt(e).shiftRightUnsigned(2);return e.add(Eg.fromNumber(2*t+1-4).multiply(r))}function AAt(e){return e.and(e.not().add(1))}var TAt=3,SAt=30,CAt=2*SAt+1,Fbe=180/Math.PI;function Bbe(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);DAt(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 Obe(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<TAt+CAt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=Eg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=Eg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function lL(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function kbe(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function fL(e){return[kbe(e[0]),kbe(e[1])]}function pL(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 dL([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Fbe,n*Fbe]}function DAt(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 Ibe(e){let t=lL(e.ij,e.level,[.5,.5]),r=fL(t),n=pL(e.face,r);return dL(n)}var FAt=100;function hL(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(FAt*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 h=0;h<a;h++){l[0]+=p,l[1]+=d;let m=lL(r,n,l),g=fL(m),b=pL(t,g),y=dL(b);Math.abs(y[1])>89.999&&(y[0]=u);let w=y[0]-u;y[0]+=w>180?-360:w<-180?360:0,o[s++]=y[0],o[s++]=y[1],u=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Ag(e){let t=kAt(e);return Bbe(t)}function kAt(e){if(e.indexOf("/")>0)return e;let t=Gy(e);return Obe(t)}function mL(e){let t=Ag(e);return Ibe(t)}function Rbe(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=Ag(a),s=hL(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=Pbe(r)}else{let r=hL(e);t=Pbe(r)}return t}function Pbe(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 gL(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=Ag(e),a=Rbe(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new Z(o,c,r)),l.push(new Z(u,c,r)),l.push(new Z(u,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,c,n)),l.push(new Z(u,c,n)),l.push(new Z(u,s,n)),l.push(new Z(o,s,n)),l}function c8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=gL(t,r),i=mL(t),a=i[0],o=i[1],s=Bt.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new Z(s[0],s[1],s[2]);n.push(u);let c=Fy(n);return[...c.center,...c.halfAxes]}var BAt=4,OAt=8,IAt={QUADTREE:BAt,OCTREE:OAt};function PAt(e,t,r){if(e!=null&&e.box){let n=Gy(e.s2VolumeInfo.token),i=cL(n,t),a=uL(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 xL(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:i=0,implicitOptions:a,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:u,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:p,basePath:d}=a,h={children:[],lodMetricValue:0,contentUrl:""};if(!l)return y5.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let b=IAt[u],y=Math.log2(b),w=i&1,T=i>>1&1,E=i>>2&1,k=Pd(n.localX,w,1),B=Pd(n.localY,T,1),j=Pd(n.localZ,E,1),C=Pd(r.x,k,m),I=Pd(r.y,B,m),P=Pd(r.z,j,m),L=Pd(n.mortonIndex,i,y),G=m===c&&vL(t.childSubtreeAvailability,L),V,X,Y,he;if(G){let pe=`${d}/${p}`,Ce=l8(pe,g,C,I,P);V=await $r(Ce,s8,o),he=0,X={level:g,x:C,y:I,z:P},Y={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else V=t,he=(b**m-1)/(b-1)+L,X=r,Y={mortonIndex:L,localLevel:m,localX:k,localY:B,localZ:j};if(!vL(V.tileAvailability,he))return h;vL(V.contentAvailability,he)&&(h.contentUrl=l8(f,g,C,I,P));for(let pe=0;pe<b;pe++){let Ce=PAt(s,pe,u),Be=await xL({subtree:V,subtreeData:X,parentData:Y,childIndex:pe,implicitOptions:a,loaderOptions:o,s2VolumeBox:Ce});(Be.contentUrl||Be.children.length)&&h.children.push(Be)}return h.contentUrl||h.children.length?RAt(h,{level:g,x:C,y:I,z:P},a,s):h}function vL(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&y5.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?LAt(t,r.explicitBitstream):!1}function RAt(e,t,r,n){let{basePath:i,refine:a,getRefine:o,lodMetricType:s,getTileType:u,rootLodMetricValue:c,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${i}/`,""),p=c/2**t.level,d=n!=null&&n.box?{box:n.box}:l,h=jAt(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(a),type:u(e),lodMetricType:s,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:h}}function jAt(e,t,r){if(e.region){let{level:n,x:i,y:a,z:o}=t,[s,u,c,l,f,p]=e.region,d=2**n,h=(c-s)/d,[m,g]=[s+h*i,s+h*(i+1)],b=(l-u)/d,[y,w]=[u+b*a,u+b*(a+1)],T,E;if(r==="OCTREE"){let k=(p-f)/d;[T,E]=[f+k*o,f+k*(o+1)]}else[T,E]=[f,p];return{region:[m,y,g,w,T,E]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Pd(e,t,r){return(e<<r)+t}function l8(e,t,r,n,i){let a=MAt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function MAt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function LAt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function yL(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 _L(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function bL(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 ga.resolve(t,e)}function jbe(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=bL(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:yL(e,r),refine:_L(e.refine)}}async function qbe(e,t,r){let n=null,i=Lbe(e.root);i&&e.root?n=await Mbe(e.root,e,t,i,r):n=jbe(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=Lbe(c),f;l?f=await Mbe(c,e,t,l,r):f=jbe(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function Mbe(e,t,r,n,i){var T,E,k;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=l8(c,0,0,0,0),f=bL(l,r),p=await $r(f,s8,i),d=(T=e.content)==null?void 0:T.uri,h=d?bL(d,r):"",m=(E=t==null?void 0:t.root)==null?void 0:E.refine,g=e.geometricError,b=(k=e.boundingVolume.extensions)==null?void 0:k["3DTILES_bounding_volume_S2"];if(b){let j={box:c8(b),s2VolumeInfo:b};e.boundingVolume=j}let y=e.boundingVolume,w={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:yL,getRefine:_L};return await qAt(e,r,p,w,i)}async function qAt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await xL({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:yL(e,s),refine:_L(e.refine),content:u||e.content,children:a}}function Lbe(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 Ru={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:NAt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function NAt(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?UAt(e,t,r):GAt(e,t,r)}async function UAt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=zAt(i),o=await qbe(n,a,t||{});return{...n,shape:"tileset3d",loader:Ru,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 GAt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await iL(e,0,t,r,n.content),n.content}function zAt(e){return ga.dirname(e)}var Nbe="https://api.cesium.com/v1/assets";async function Ube(e,t){if(!t){let a=await HAt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await VAt(e,t),{type:n,url:i}=r;return _t(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function HAt(e){_t(e);let t=Nbe,r={Authorization:`Bearer ${e}`},n=await ta(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function VAt(e,t){_t(e,t);let r={Authorization:`Bearer ${e}`},n=`${Nbe}/${t}`,i=await ta(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await ta(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function $At(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 Ube(r,n)}var f8={...Ru,id:"cesium-ion",name:"Cesium Ion",preload:$At,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=f8,Ru.parse(e,t,r)),options:{"cesium-ion":{...Ru.options["3d-tiles"],accessToken:null}}};var X2e=Dt(J2e(),1),p8t="4.3.0",lq={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:p8t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:d8t};async function d8t(e,t={}){let r=[],n={};try{let i=new X2e.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=h8t(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 h8t(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 m8t=1024,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=-1,i=e.length-4n;do{let a=i;i-=BigInt(m8t),i=i>=0n?i:0n;let o=new Uint8Array(await e.slice(i,a));for(let s=o.length-1;s>-1;s--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=o[s],r.every((u,c)=>u===t[c])){n=s;break}}while(n===-1&&i>0n);return i+BigInt(n)};var g8t=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 v8t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));Y2e[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return hn(...r)}function Ai(e,t,r,n){Y2e[t](e,Number(r),n)}var Y2e={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)}},v8t=[{size:2,default:new DataView(g8t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var Q2e=new Uint8Array([80,75,5,6]),Z2e=new Uint8Array([80,75,6,7]),ewe=new Uint8Array([80,75,6,6]),twe=8n,x8t=10n,rwe=12n,nwe=16n,b8t=22n,iwe=8n,awe=24n,y8t=32n,owe=40n,swe=48n,_8t=56n,nC=async e=>{let t=await Jd(e,Q2e),r=BigInt(await e.getUint16(t+twe)),n=BigInt(await e.getUint32(t+rwe)),i=BigInt(await e.getUint32(t+nwe)),a=t-20n,o=0n,s=await e.slice(a,a+4n);if(ou(s,Z2e)){o=await e.getBigUint64(a+iwe);let u=await e.slice(o,o+4n);if(!ou(u,ewe.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(o+awe),n=await e.getBigUint64(o+owe),i=await e.getBigUint64(o+swe)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function uwe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(Ai(a,2,o+twe,i),Ai(a,2,o+x8t,i)),n-r<=4294967295&&Ai(a,4,o+rwe,n-r),r<4294967295&&Ai(a,4,o+nwe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;Ai(a,8,s+iwe,n),Ai(a,8,swe,r),Ai(a,8,awe,i),Ai(a,8,y8t,i),Ai(a,8,owe,n-r)}return new Uint8Array(a.buffer)}function cwe(e){let t=new DataView(new ArrayBuffer(Number(b8t)));for(let i of w8t)Ai(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=A8t(e),n=E8t(e);return hn(n,r,t.buffer)}var w8t=[{offset:0,size:4,default:new DataView(Q2e.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 E8t(e){let t=new DataView(new ArrayBuffer(Number(_8t)));for(let r of S8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function A8t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of T8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var T8t=[{offset:0,size:4,default:new DataView(Z2e.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],S8t=[{offset:0,size:4,default:new DataView(ewe.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 C8t=20,D8t=24,F8t=28,k8t=30,B8t=32,O8t=42,A1=46n,Yd=new Uint8Array([80,75,1,2]),Xd=async(e,t)=>{if(e>=t.length)return null;let r=new DataView(await t.slice(e,e+A1)),n=r.buffer.slice(0,4);if(!ou(n,Yd.buffer))return null;let i=BigInt(r.getUint32(C8t,!0)),a=BigInt(r.getUint32(D8t,!0)),o=r.getUint16(k8t,!0),s=BigInt(r.getUint16(B8t,!0)),u=r.getUint16(F8t,!0),c=await t.slice(e+A1,e+A1+BigInt(u+o)),l=c.slice(0,u),f=new TextDecoder().decode(l),p=e+A1+BigInt(u),d=r.getUint32(O8t,!0),h=BigInt(d),m=new DataView(c.slice(u,c.byteLength)),g={uncompressedSize:a,compressedSize:i,localHeaderOffset:h,startDisk:s},b=I8t(g,m);return{...g,...b,extraFieldLength:o,fileNameLength:u,fileName:f,extraOffset:p}};async function*zu(e){let{cdStartOffset:t,cdByteSize:r}=await nC(e),n=new Vx(new DataView(await e.slice(t,t+r))),i=await Xd(0n,n);for(;i;)yield i,i=await Xd(i.extraOffset+BigInt(i.extraFieldLength),n)}var lwe=(...e)=>e[0]+e[1]*16,I8t=(e,t)=>{let r=P8t(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)=>lwe(c[u],c[u+1])===1&&lwe(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},P8t=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 fq(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(A1)));for(let s of R8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var R8t=[{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 j8t=8,M8t=18,L8t=22,q8t=26,N8t=28,T1=30n,pq=new Uint8Array([80,75,3,4]),Ss=async(e,t)=>{let r=new DataView(await t.slice(e,e+T1)),n=r.buffer.slice(0,4);if(!ou(n,pq))return null;let i=r.getUint16(q8t,!0),a=r.getUint16(N8t,!0),o=await t.slice(e+T1,e+T1+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+T1+BigInt(i+a),f=r.getUint16(j8t,!0),p=BigInt(r.getUint32(M8t,!0)),d=BigInt(r.getUint32(L8t,!0)),h=4;return d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function dq(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(T1)));for(let s of U8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var U8t=[{offset:0,size:4,default:new DataView(pq.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 G8t(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 pwe(e,t,r){let n=parseInt(await new $x().hash(t,"hex"),16),i=dq({crc32:n,fileName:e,length:t.byteLength}),a=fq({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(hn(i,t)),new Uint8Array(a)]}async function hq(e,t,r){let n=new za(e,!0),[i,a,o]=await G8t(n),s=n.length,[u,c]=await pwe(r,t,s);await n.append(u);let l=hn(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(uwe(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function mq(e,t,r){let n=z8t(e),i=new gc(t,"w"),a=[],o=[];for await(let l of n)await fwe(l,i,o,a);if(r){let l=await r(a);await fwe(l,i,o)}let s=(await i.stat()).bigsize,u=hn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(cwe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function fwe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await pwe(e.path,e.file,i);await t.append(a),r.push(o)}function z8t(e){async function*t(){let r=await dwe(e);for(let n of r){let i=await(await ta(ga.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function dwe(e,t="",r){let n=r||new Hx({}),i=await n.readdir(iC(e,t)),a=[];for(let o of i){let s=iC(e,t,o);if((await n.stat(s)).isDirectory){let u=await dwe(e,iC(t,o));a.push(...u)}else a.push(iC(t,o))}return a}function iC(...e){let t=e.filter(r=>r.length);return ga.join(...t)}var Xg=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){Px(t)}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 Rp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var S1=class extends Xg{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=Dt(Y7(),1),ol=Dt(require("zlib"),1),sl=class extends Xg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await c0(ol.default.gzip)(t):await c0(ol.default.deflate)(t);return mc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await c0(ol.default.gunzip)(t):await c0(ol.default.inflate)(t);return mc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gzipSync(t):ol.default.deflateSync(t);return mc(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(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gunzipSync(t):ol.default.inflateSync(t);return mc(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 C1=class extends sl{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 hwe={0:async e=>e,8:async e=>await new sl({raw:!0}).decompress(e)},ul=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!wr)this.fileProvider=new za(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof cl?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):N5(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=zu(this.fileProvider);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.fileProvider)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await Ss(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=hwe[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=zu(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 cl=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new ul(this.fileProvider).fetch(t)).arrayBuffer()}};function D1(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=H8t(e,n,16);r[a]=i}return r}function H8t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function gq(e){let t=zu(e);return V8t(t)}async function V8t(e){let t=new cu,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 F1(e){let t=new cu,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(hn(W8t(u),K8t(a.localHeaderOffset)))}let i=n.sort($8t);return vw(i)}function $8t(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 W8t(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 K8t(e){return new BigUint64Array([e]).buffer}var J8t={0:e=>new S1().decompress(e),8:e=>new sl({raw:!0}).decompress(e)},k1=class extends cl{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 cu().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Ss(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=J8t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Xf(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return _t(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 Yf(e,t,r){e&&e.setUint32(t+8,r,!0)}function mwe(e,t,r,n,i){e={magic:Pf.COMPOSITE,tiles:[],...e};let a=r;r+=Xf(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 Yf(t,a,r-a),r}function gwe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ga(s.length,8),l=u?Ga(u.length,8):0;e={magic:Pf.BATCHED_MODEL,...e};let f=r;r=Xf(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=u0(t,r,s,8),a&&(r=u0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Ux(t,r,p,p.byteLength)),Yf(t,f,r-f),r}function vwe(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:Pf.INSTANCED_MODEL,...e};let f=r;return r=Xf(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+=s0(t,r,c,l),r+=s0(t,r,o,s),Yf(t,f,r-f),r}var X8t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function xwe(e,t,r,n){let{featureTableJson:i=X8t}=e,a=JSON.stringify(i);a=M5(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Pf.POINT_CLOUD,...e};let c=r;return r+=Xf(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+=s0(t,r,a,o),r+=Ux(t,r,s,u),Yf(t,c,r-c),r}function xq(e,t){let r=vq(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return vq(e,i,0,t),n}function vq(e,t,r,n){switch(_t(typeof e.type=="string"),e.type){case ci.COMPOSITE:return mwe(e,t,r,n,vq);case ci.POINT_CLOUD:return xwe(e,t,r,n);case ci.BATCHED_3D_MODEL:return gwe(e,t,r,n);case ci.INSTANCED_3D_MODEL:return vwe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var bq={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>bwe(e,t),encodeSync:bwe};function bwe(e,t){return xq(e,t)}var Go=require("path");var ywe=Dt(require("crypto")),oC=new Uint8Array(256),aC=oC.length;function yq(){return aC>oC.length-16&&(ywe.default.randomFillSync(oC),aC=0),oC.slice(aC,aC+=16)}var Ti=[];for(let e=0;e<256;++e)Ti.push((e+256).toString(16).slice(1));function _we(e,t=0){return Ti[e[t+0]]+Ti[e[t+1]]+Ti[e[t+2]]+Ti[e[t+3]]+"-"+Ti[e[t+4]]+Ti[e[t+5]]+"-"+Ti[e[t+6]]+Ti[e[t+7]]+"-"+Ti[e[t+8]]+Ti[e[t+9]]+"-"+Ti[e[t+10]]+Ti[e[t+11]]+Ti[e[t+12]]+Ti[e[t+13]]+Ti[e[t+14]]+Ti[e[t+15]]}var wwe=Dt(require("crypto")),_q={randomUUID:wwe.default.randomUUID};function Y8t(e,t,r){if(_q.randomUUID&&!t&&!e)return _q.randomUUID();e=e||{};let n=e.random||(e.rng||yq)();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 _we(n)}var Hu=Y8t;var fh=Dt(require("process"),1),ZC=Dt(Cs(),1),eD=Dt(Aq(),1);var cC=require("path"),Lwe=Dt(Cs(),1);var Pwe=()=>({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"),Yg=require("path");var Rwe=require("zlib"),sC=require("fs");function uC(e){let t=`${e}.gz`,r=(0,Rwe.createGzip)(),n=(0,sC.createReadStream)(e),i=(0,sC.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 Da(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,Yg.join)(e,r);try{await Zd.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Vu(e,t,r="index.json",n=!0,i){let a=await Da(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await uC(a);return await P1(a),o}return a}async function Qg(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,Yg.join)(e,t);$r(o,L5).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function O1(e){try{return await Zd.promises.stat(e),!0}catch{return!1}}function I1(e){return Zd.promises.rm(e,{recursive:!0})}function P1(e){return Zd.promises.unlink(e)}function jwe(e){return(0,Yg.isAbsolute)(e)?e:(0,Yg.join)(process.cwd(),e)}async function Mwe(e,t){try{await Zd.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Si=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=(0,cC.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,cC.join)(r,n);return await O1(i)?(console.log(`load ${i}.`),await Qg(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),Si.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;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?Si.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,Lwe.default)({nodeCount:this.nodesCounter},Pwe()),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}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,cC.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()}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}),Si.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 R1=require("path"),lC=require("fs");function Zg(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return qwe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return qwe(r,n)}function qwe(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=jwe(r);try{if(t){let s=(0,R1.join)(i,`${n}.slpk`);return(await lC.promises.stat(s)).size}let a=(0,R1.join)(i,n);return await Nwe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function Nwe(e){let t=0,r=await lC.promises.readdir(e);for(let n of r){let i=await lC.promises.stat((0,R1.join)(e,n));i.isDirectory()?t+=await Nwe((0,R1.join)(e,n)):t+=i.size}return t}var iEe=Dt(Aq(),1);var eh=3,ev=9;function Gwe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/ev;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=uCt(o),c=cCt({...u,...e}),l=lCt(c);return fCt(l,u.featureCount)}function uCt(e){let t=1,r=1,n=Uwe(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=Uwe(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 Uwe(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 cCt(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),h=0,m=0,g=0,b=0,y=0;for(let w=0;w<t.length;w++){let T=s[w*2],E=s[w*2+1],k=j1("positions",T,E),B=j1("normals",T,E),j=j1("colors",T,E),C=j1("uvRegions",T,E),I=j1("texCoords",T,E);u.push({featureId:t[w],positions:c.subarray(h,h+k),normals:l.subarray(m,m+B),colors:f.subarray(g,g+j),uvRegions:d.subarray(b,b+C),texCoords:p.subarray(y,y+I)}),h+=k,m+=B,g+=j,b+=C,y+=I}return u}function j1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*ev;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function lCt(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=zwe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function fCt(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/ev-1+o),i.push(f.positions.length/ev+o),o+=f.positions.length/ev,a+=1}let s=zwe(e);return i.push(s.positions.length/ev-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function zwe(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ua(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ua(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ua(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ua(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ua(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function pC(e,t){let r,n,i,a=Bt.WGS84.cartesianToCartographic(e.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof ui?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Co().fromMatrix3(new rr([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 Hwe(e,t){let r=pCt(e),n=Fy(r),i=uM(r),a=Bt.WGS84.cartesianToCartographic(i.center,new Z),o=Bt.WGS84.cartesianToCartographic(n.center,new Z);return t&&(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 pCt(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function Vwe(e){let t;e instanceof ra?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Bt.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),a=Bt.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);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 Tq(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new rr([t,0,0,0,t,0,0,0,t]);return new ui(r,n)}function $we(e,t,r){var s,u,c,l,f,p,d,h;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=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(m=>{var y,w;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(w=m==null?void 0:m.image)==null?void 0:w.data,b=new Uint8Array(g.length);return b.set(g),{data:b,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];Wwe(n);let{cartographicOrigin:a,modelMatrix:o}=hCt(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function dCt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function hCt(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new mr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new mr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new mr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(a),u=Bt.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:u}}function Wwe(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:dCt(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&&Wwe(n.children)}}function Kwe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Fo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function Jwe(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 Fo:return gCt(e,o,r,n);case U3:return mCt(e,o);default:return[]}return[]}function mCt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function gCt(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 vCt(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 h=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,m=e[h].value;return xCt(a,m,r)}return n?e[n].value:[]}function vCt(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 xCt(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],h=t[p+1],m=Math.min(F3(d)*o.width|0,o.width-1),b=(Math.min(F3(h)*o.height|0,o.height-1)*o.width+m)*o.components+u,y=new Uint8Array(o.data)[b];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function Xwe(e,t){let r={};for(let n in t){let i=t[n];r[n]=bCt(i,e)}return r}function bCt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function Ywe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function yCt(e){return typeof e=="string"||typeof e=="bigint"?Zr.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?Zr.SHORT_INT_TYPE:Zr.DOUBLE_TYPE:Zr.STRING_TYPE}function Qwe(e){let t={};for(let r in e){let n=e[r][0],i=yCt(n);t[r]=i}return t}var Zwe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Fo])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let h=n.properties[d],m=_Ct(h);r[d]=m}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[Wc])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let h=i.properties[d],m=wCt(h);r[d]=m}return r}return null},_Ct=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=Zr.STRING_TYPE;break;default:t=Zr.STRING_TYPE;break}return t},wCt=e=>{let t;if(e.array)t=Zr.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=Zr.STRING_TYPE;break;default:t=Zr.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 ECt=1,ACt=1,Ds=3,M1=2,TCt=4,SCt="string",CCt="Int32",DCt="Float64",FCt="Oid32",eEe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Qf=new Z;async function Sq({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:p}){var w;let d=u,h=await HCt((w=e.gltf)==null?void 0:w.materials,c),m=$we(e,t,r),g=Kwe(e,p),b=await OCt(m,h,d,g);u&&kCt(b,l);let y=[];for(let T of h){let E=T.mergedMaterials[0].originalMaterialId;if(!b.has(E))continue;let k=b.get(E);if(!k)continue;let{material:B,texture:j}=T,C=await n();y.push(await BCt({convertedAttributes:k,material:B,texture:j,tileContent:e,nodeId:C,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function kCt(e,t){for(let r of e.values()){let n=Hwe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Ds){let o=r.positions.subarray(a,a+Ds);Bt.WGS84.cartesianToCartographic(Array.from(o),Qf),t&&(Qf[2]=Qf[2]-t.getHeight(Qf[1],Qf[0])),Qf=Qf.subtract(i),r.positions.set(Qf,a)}}}async function BCt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var I;let l=e.boundingVolumes,f=e.positions.length/Ds,{faceRange:p,featureIds:d,positions:h,normals:m,colors:g,uvRegions:b,texCoords:y,featureCount:w}=Gwe(e),T={};o&&(T=tDt(d,e.featureIndices,a,o));let E=new Uint32Array(2),k=lDt(d);E.set([f,w],0);let B=new Uint8Array(hn(E.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,b,k.buffer,p.buffer)),j=u?fDt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:b,featureIds:d,faceRange:p},c):null,C=[];return s&&o&&(C=aDt(d,T,o,s)),{nodeId:i,geometry:B,compressedGeometry:j,texture:r,hasUvRegions:Boolean(b.length),sharedResources:XCt(((I=n.gltf)==null?void 0:I.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:C,featureCount:w,boundingVolumes:l}}async function OCt(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)}aEe({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture: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 aEe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)PCt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function ICt(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 PCt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=ICt(e,o),c=e.mesh;c&&RCt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),aEe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function RCt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture: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:h})=>{var m;return h===((m=c.material)==null?void 0:m.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),_t(l!==null,"Primitive - material mapping failed"),_t(c.mode===void 0||c.mode===mt.TRIANGLES||c.mode===mt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=jCt(c);l.positions=Ua(l.positions,tEe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:MCt,useCartesianPositions:a})),l.normals=Ua(l.normals,tEe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:LCt,useCartesianPositions:!1})),l.texCoords=Ua(l.texCoords,qCt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Ua(l.colors,NCt(p.COLOR_0,d)),f&&(l.uvRegions=Ua(l.uvRegions,UCt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(GCt(zCt(p,c,t,s),d))}}function jCt(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/Ds)}if(t&&e.mode===mt.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 tEe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Ds);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Ds,s=t.subarray(o,o+Ds),u=new Z(Array.from(s));u=n(u,e),i[a*Ds]=u.x,i[a*Ds+1]=u.y,i[a*Ds+2]=u.z}return i}function MCt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Bt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function LCt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function qCt(e,t){let r=new Float32Array(t.length*M1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*M1,a=e.subarray(i,i+M1);r[n*M1]=a[0],r[n*M1+1]=a[1]}return r}function NCt(e,t){let r=(e==null?void 0:e.components)||TCt,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 UCt(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 GCt(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 zCt(e,t,r,n){let i=Jwe(e,t,r,n);if(i.length)return i;for(let a=0;a<eEe.length;a++){let o=eEe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function HCt(e=[],t){let r=[];for(let n of e)r.push(WCt(n));return t&&(r=await VCt(r)),r}async function VCt(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 $Ct(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:JCt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function $Ct(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 WCt(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:KCt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||ECt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||ACt}},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:Hu();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 KCt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function JCt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function XCt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=YCt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function YCt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=ZCt(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:QCt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function QCt(e,t=1){let r=.00015686274509803922,n=new So(0,0,0,1),i=new So(1,1,1,1),a=new So(r,r,r,0),o=new So(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 ZCt(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:eDt(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 eDt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.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 tDt(e,t,r,n){let i=rDt(e,n,r);return rEe(t,i),rEe(e,i),i}function rDt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=iDt(i,t,r);n[a.toString()]=o}return n}function nDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function iDt(e,t,r){let n=nDt(t,e),i=(0,iEe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function rEe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function aDt(e,t,r,n){let i=[],o=Ywe(e,r)?Xwe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=sDt(u,n);if(c){let l=s[u],f=oDt(c,l);i.push(f)}}return i}function oDt(e,t){let r;switch(e){case FCt:case CCt:r=uDt(t);break;case DCt:r=cDt(t);break;case SCt:r=nEe(t);break;default:r=nEe(t)}return r}function sDt(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 uDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return hn(t.buffer,r.buffer)}function cDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return hn(t.buffer,r.buffer,n.buffer)}function nEe(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 hn(t.buffer,a.buffer,n.buffer,...i)}function lDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function fDt(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 g=0;g<f.length;g++)f.set([g],g);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=pDt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,m["uv-region"]={"i3s-attribute-type":"uv-region"}),Jm({attributes:h,indices:f},mM,{...mM.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function pDt(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)*Ds;r.fill(n,i,o),n++,i=o+1}return r}function oEe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=mDt(e);switch(i){case Wc:return r=dDt(a,t),r;case Fo:return r=hDt(a,t),r;default:return null}}function dDt(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 hDt(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 mDt(e){var a,o,s,u;let t=[Fo,Wc];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 uEe=Dt(Cs(),1),cEe=require("path");var sEe=()=>({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 lEe(e,t,r){let n={serviceItemId:Hu().replace(/-/gi,""),layerName:e,layers0:t},i=(0,uEe.default)(n,sEe()),a=(0,cEe.join)(r,"SceneServer");await Da(a,JSON.stringify(i))}var Cq=16;function fEe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*Cq/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 Dq(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=Cq),e.mbs[3]*2*Cq/r}var gDt=[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],vDt=372,xDt=[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],bDt=372,yDt=[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],_Dt=12,Fq=(3+1)*(3+2)/2,wDt=2,tv=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],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=EDt(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(Fq);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 h=[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)],m=xDt;s!==0&&(m=s===this.options._height-2?yDt:gDt);let g=vDt;s!==0&&(g=s===this.options._height-2?bDt:240);for(let b=0;b<Fq;++b){p[b]=0;for(let y=0;y<_Dt;++y)p[b]+=h[y]*m[Fq*y+b];p[b]/=g}}if(!this.options.cubic){let h=(1-i)*u+i*c,m=(1-i)*l+i*f,g=(1-a)*h+a*m,b=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,b}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+wDt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function EDt(e,t){t=Math.abs(t);let r=pEe(e,t);return 2*Math.abs(r)===t?r-=pEe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function pEe(e,t){return e-Math.floor(e/t)*t}var ADt=10,TDt=65535;function kq(e,t){let r=SDt(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 b=n.value.line;if(b.length)if(b[0]==="#"){let y=b.split(" "),w=y[0],T=y[1];if(w!=="#"||!T)continue;let E=y.length>2?y.slice(2):[];if(T==="Description")u=E.join(" ");else if(T==="DateTime")c=E.join(" ");else if(T==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(y[2],10)}else if(T==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(y[2])}else T===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):T===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=b.split(" ");if(y=y.filter(w=>w!==""),l=parseInt(y[0],10),f=parseInt(y[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==TDt)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 m=l/360,g=(f-1)/180;return new tv({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*SDt(e){let t=0;do{let r=e.indexOf(ADt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:dEe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:dEe(n)}}}while(t<e.length);return{offset:t,line:""}}function dEe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var CDt="4.3.0";var mC={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:CDt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>kq(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var rv=Dt(Cs(),1);var hEe={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 DDt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),FDt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),kDt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),BDt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),mEe=()=>({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,rv.default)(e,DDt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,rv.default)(e,hEe)},fullExtent:{path:"fullExtent",transform:e=>(0,rv.default)(e,BDt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,rv.default)(e,FDt())},nodePages:{path:"nodePages",transform:e=>(0,rv.default)(e,kDt())},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 Bq=Dt(Cs(),1),ODt=()=>({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}}}),IDt=()=>({"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}}}),gEe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,Bq.default)(e,ODt())];return e.draco&&t.push((0,Bq.default)({geometryConfig:e},IDt())),t}}});var L1=Dt(Cs(),1),PDt=()=>({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}}),RDt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,L1.default)(r,PDt())}}),jDt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),MDt=()=>({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,L1.default)(n,jDt()))}}),vEe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:LDt},textureDefinitions:{path:"textureDefinitionInfos",transform:qDt}});function LDt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,L1.default)(a,RDt());return n}function qDt(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,L1.default)(a,MDt())}return n}var NDt=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 bEe(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 UDt(t,e),GDt(t,e),t}function UDt(e,t){var o;let r=zDt(t.parentNode.obb),n=HDt(t);if(VDt(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 GDt(e,t){var a;let r=xEe(t.mbs),n=xEe(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 xEe(e){return new ra([e[0],e[1],e[2]],e[3])}function zDt(e){let{center:t,halfSize:r,quaternion:n}=e;return new ui().fromCenterHalfSizeQuaternion(t,r,n)}function HDt(e){let t=e.obb.halfSize,r=NDt,n=Bt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new Z(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 VDt(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=Bt.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 yEe=Dt(require("process"),1),$Dt=4*1024*1024*1024,nv=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),yEe.default.memoryUsage().rss>$Dt&&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 iv="Tile converter does not work in browser, only in node js environment",Zf=".dump.json";var Iq=require("path"),Pq=Dt(Cs(),1);var _Ee=Dt(Cs(),1),wEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),WDt=()=>({href:{path:"href"}}),KDt=()=>({id:{path:"id"},...WDt(),...wEe()}),Oq=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...wEe(),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,_Ee.default)(e,KDt()),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 Fs=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,Iq.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Vu(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,Iq.join)(this.converter.layers0Path,"nodes",t);return await Qg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Fs.createRootNodeIndexDocument(t);return await new Fs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Fs.createNodeIndexDocument(t,r,n,i,a);return await new Fs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Hu().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,Pq.default)(r,Oq())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,h;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,Pq.default)(u,Oq());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 m=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let b=0;b<g;b++){let y=t.converter.layers0.attributeStorageInfo[b].key;c.attributeData.push({href:`./attributes/${y}/0`})}}return c}};var Rq=async(e,t,r)=>{let n=q1(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])},jq=async(e,t,r)=>{let n=q1(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 za(a),s=await JDt(o),u=new k1(o,s,a),c=new ul(u),l=await $r(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await $r(e,t,r)}function q1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function JDt(e){let t,r=await Jd(e,Yd),n=await Xd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Ss(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=D1(o)}return t}var xC=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await xC({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var XDt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],EEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Va(e.gltfArrayBuffer,Kc,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=YDt(n),a=QDt(n);return{meshTopologyTypes:i,metadataClasses:a}},YDt=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(XDt[i])}return t},QDt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Fo])==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[Wc])==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 TEe=Dt(require("process"),1);var ZDt=.2,av=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||TEe.default.hrtime.bigint,this.threshold=t.threshold||ZDt}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?Zg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var a6e=require("util");var sp=require("path"),o6e=Dt(require("process"),1),s6e=Dt(n6e(),1);var i6e={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:h=!1,outputVersion:m="1.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:h,outputVersion:m};let g=(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`);if(await O1(g))try{let b=await Qg((0,sp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Zf}`),{options:y,tilesConverted:w,textureSetDefinitions:T,attributeMetadataInfo:E,materialDefinitions:k}=b;if(new s6e.default().compile(i6e)(b)&&(0,a6e.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=T,this.attributeMetadataInfo=E,this.materialDefinitions=k,this.restored=!0;return}}catch(b){console.log("Can't open dump file",b)}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=o6e.default.hrtime();await Da((0,sp.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}${Zf}.${r[0]}.${r[1]}`),await Mwe((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await O1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))&&await P1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}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];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}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 c6e,EOt=(c6e=fh.default.env)==null?void 0:c6e.IonToken,u6e=64,AOt="3DTILES",TOt="3DObject",SOt=1800,COt="https://",up="phase1-count",yv=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=Ru;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new nv(new lh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new ZS,this.nodePages=new Si(Da,u6e,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(wr)return console.log(iv),iv;this.conversionStartTime=fh.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:m},this.progresses[up]=new av,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(COt)!==-1?f8:Ru,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new nv(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await $r(n,mC),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Vu);try{let b=await this._fetchPreloadOptions(),y=i;b.url&&(y=b.url),b.headers&&(this.loadOptions.fetch={headers:b.headers}),this.sourceTileset=await vC(y,this.Loader,this.loadOptions),(this.Loader===Ru||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(b){throw b}finally{await this.writeQueue.finalize(),qi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await xC({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[up].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(q1(t))return await Rq(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[up].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await jq(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 EEe(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,Go.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,Go.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Go.join)(this.layers0Path,"nodepages"):n;try{await I1(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,eD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=ky(a.boundingVolume,new mr(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[up].startMonitoring();let u=await Fs.createRootNode(s,this);await xC({tile:a,traversalProps:{transform:new mr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[up].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=TOt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,ZC.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),gEe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),lEe(r,this.layers0,n);for(let p of this.compressList||[])await uC(p),await P1(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=Vwe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Hu().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Hu().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:u6e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,ZC.default)(o,mEe())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Vu(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Go.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await mq(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await F1(i)}));try{await I1(t)}catch{}}async convertTile(t,r){let n=q1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await Rq(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[up].stepsDone+=1;let f="Calculating time left...",p=this.progresses[up].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[up].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${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=fEe(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 Fs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Fs(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=ky(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 jq(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=ky(r.boundingVolume,n,null),o=pC(a,this.geoidHeightModel),s=oEe(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({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable: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 h of u||[p]){let{node:m,nodeInPage:g,nodeData:b}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=bEe(b),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await Sq({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass: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`),Si.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Si.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Si.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Si.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Si.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Si.updateVertexCountByNodeId(p,o)),Si.updateNodeAttributeByNodeId(p),s&&Si.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,Go.join)(this.layers0Path,"nodes",r),l=(0,Go.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,Go.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Vu(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,Go.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Vu(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,ZC.default)(t,vEe()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,Go.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Vu(c,u,"sharedResource.json")})}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({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Jm({...t.image,data:l},LM,{...LM.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({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Jm(t.image.data[0],CM);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}default:}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({textureData:t,name:r,format:n,childPath:i,slpkChildPath:a,sourceId:o,nodeId:s}){let u=(0,Go.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Vu(u,t,`${r}.${n}`,c)})}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]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,Go.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Vu(l,c,"0.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,eD.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,eD.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=Zwe(t.gltf,this.options.metadataClass)):r&&(n=Qwe(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({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=fh.default.hrtime(this.conversionStartTime),s=Zg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${AOt}`),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||EOt}},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]<SOt)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){let r=1;t.refine===r&&(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 R6e=require("path"),TU=Dt(require("process"),1),j6e=Dt(Cs(),1);function bU(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 l6e={UInt8:mt.UNSIGNED_BYTE,UInt16:mt.UNSIGNED_SHORT,Float32:mt.FLOAT,UInt32:mt.UNSIGNED_INT,UInt64:mt.DOUBLE};function _v(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 f6e="String",p6e="Oid32",d6e="Float64",h6e="Int16";function tD(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function wv(e,t=null){return t?`${e}?token=${t}`:e}function m6e(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 g6e(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 rD=new Z([0,0,0]);function FOt(e){switch(e){case"ktx-etc2":case"dds":return Y3;case"ktx2":return Bd;case"jpg":case"png":default:return cg}}var kOt="i3s-attribute-type";async function y6e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new mr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=wv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=FOt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===cg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Na(f,[],p,i);a.texture=d}catch{let h=await Va(f,u,p,i);a.texture=h}}else if(u===Y3||u===Bd){let p=await $r(f,u,t.textureLoaderOptions);u===Bd&&(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=qOt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await BOt(e,a,t,r,n)}async function BOt(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 Va(e,ng,{draco:{attributeNameEntry:kOt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:b,["feature-index"]:y,["uv-region"]:w}=d.attributes;o={position:h,normal:m,color:g,uv0:b,uvRegion:w,id:y},OOt(o,d);let T=zOt(y);T&&GOt(o,T)}else{let{vertexAttributes:d,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,b=POt(e,n);u=b.byteOffset,s=b.vertexCount,c=b.featureCount;let{attributes:y,byteOffset:w}=x6e(e,u,d,s,h),{attributes:T}=x6e(e,w,m,c,g);UOt(T),o=IOt(y,T)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=jOt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=LOt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:v6e(o.color),texCoords:o.uv0,uvRegions:v6e(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 OOt(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 IOt(e,t){return{...e,...t}}function v6e(e){return e&&(e.normalized=!0,e)}function POt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=bU(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=_v(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=_v(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function x6e(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*_v(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=ROt(c,n*u,_v(s));else{let f=bU(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:l6e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*_v(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function ROt(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 jOt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new mr,o=new Z(r[0],r[1],r[2]),s=new Z;return Bt.WGS84.cartographicToCartesian(o,s),Bt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=MOt(n,i,o),a}function MOt(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)Bt.WGS84.cartographicToCartesian(n.subarray(o,o+3),rD),n[o]=rD.x,n[o+1]=rD.y,n[o+2]=rD.z;return n}function LOt(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 mr;return i[0]=r,i[5]=n,i}function qOt(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=b6e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=b6e(r.pbrMetallicRoughness.baseColorFactor)),t&&NOt(r,t),r}function b6e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function NOt(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 UOt(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,h=u+d*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function GOt(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 zOt(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 HOt="4.3.0",_6e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:HOt,mimeTypes:["application/octet-stream"],parse:VOt,extensions:["bin"],options:{"i3s-content":{}}};async function VOt(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 y6e(e,s,u,t,r)}var $Ot="4.3.0",w6e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:$Ot,mimeTypes:["application/json"],parse:WOt,extensions:["json"],options:{i3s:{}}};async function WOt(e,t){return JSON.parse(new TextDecoder().decode(e))}var h_=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=wv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:$r(a,w6e,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:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=h;let{textureData:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);u=g,c=m.format||c,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=g6e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return yU({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:xg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=jy();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 E6e(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=m6e(r,e));let o=e.children||[];return yU({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function yU(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Bt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Bt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new ui().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 A6e(e,t,r){let n=tD(r.url||""),i,a;if(e.nodePages)i=new h_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=wv(`${n}/nodes/root`,o.token);a=await $r(s,ml,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:ml,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var KOt="4.3.0",JOt=/layers\/[0-9]+$/,XOt=/\.slpk$/,YOt=/nodes\/([0-9-]+|root)$/,QOt="504b0304",ZOt="PointCloud",ml={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:KOt,mimeTypes:["application/octet-stream"],parse:eIt,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 eIt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},iIt(e)===QOt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=tD(n),o;t.i3s.isTileset==="auto"?o=JOt.test(a)||XOt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=YOt.test(a):s=t.i3s.isTileHeader,o?e=await rIt(e,t,r):s?e=await nIt(e,r):e=await tIt(e,t),e}async function tIt(e,t){return await Va(e,_6e,t)}async function rIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===ZOt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await A6e(n,t,r)}async function nIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),E6e(e,t)}function iIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var aIt=[{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",".ktx2"]},{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"]}],nD=class extends cl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new cu;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=aIt.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 C1().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 Ss(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 _U(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 gq(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Ss(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=D1(u)}return new nD(e,a,r)}function S6e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?oIt(n,e):null}:{}}function oIt(e,t){switch(e){case f6e:return cIt(t);case p6e:return T6e(t);case d6e:return uIt(t);case h6e:return sIt(t);default:return T6e(t)}}function T6e(e){return new Uint32Array(e,4)}function sIt(e){return new Int16Array(e,4)}function uIt(e){return new Float64Array(e,8)}function cIt(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 lIt="4.3.0";var wU={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:lIt,mimeTypes:["application/binary"],parse:async(e,t)=>S6e(e,t),extensions:["bin"],options:{},binary:!0};function EU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Bt.WGS84.cartographicToCartesian(r,new Z),i=new ui().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var iD=Dt(Cs(),1),fIt=()=>({version:{path:"version",default:"1.0"}}),C6e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,iD.default)(t,C6e()))}}),D6e=()=>({asset:{path:"asset",transform:e=>(0,iD.default)(e,fIt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,iD.default)(e,C6e())}});function AU(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function F6e(e,t){let r=new Float32Array(e.length),n=dIt(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=pIt([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 pIt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function dIt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var hIt=new mr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),k6e=new Z,B6e="KHR_materials_unlit",mIt=1,gIt=1,aD=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?ci.BATCHED_3D_MODEL:ci.GLTF}async convert(t,r=null,n){let i=await this.buildGLTF(t,r,n);return this.tileType===ci.BATCHED_3D_MODEL?o3({gltfEncoded:new Uint8Array(i),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},bq):i}async buildGLTF(t,r,n){let{tileContent:i,textureFormat:a,box:o}=t,{material:s,attributes:u,indices:c,modelMatrix:l}=i,f=new Xt,p=await this._addI3sTextureToGLTF(i,a,f),d=s==null?void 0:s.pbrMetallicRoughness;d&&(d.metallicFactor===void 0||d.metallicFactor===mIt)&&(d.roughnessFactor===void 0||d.roughnessFactor===gIt)&&(f.addObjectExtension(s,B6e,{}),f.addExtension(B6e));let h=this._convertI3sMaterialToGLTFMaterial(s,p),m=f.addMaterial(h),g=u.positions,b=g.value;u.uvRegions&&u.texCoords&&(u.texCoords.value=F6e(u.texCoords.value,u.uvRegions.value));let y=new Z(o),w=Bt.WGS84.cartesianToCartographic(y,new Z);u.positions.value=this._normalizePositions(b,y,w,l),this._createBatchIds(i,r),u.normals&&!this._checkNormals(u.normals.value)&&delete u.normals;let T=c||dC(b.length/g.size),E=f.addMesh({attributes:u,indices:T,material:m,mode:4});this.tileType===ci.GLTF&&this._createMetadataExtensions(f,E,r,n,i);let k=this._generateTransformMatrix(y),B=f.addNode({meshIndex:E,matrix:k}),j=f.addScene({nodeIndices:[B]});return f.setDefaultScene(j),f.createBinaryChunk(),o3(f.gltf,rL,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,i,a){var c;let o=this._createPropertyAttibutes(n,i),s=H3(t,o),u=t.getMesh(r);for(let l of u.primitives)(c=a.attributes._BATCHID)!=null&&c.value&&G3(t,l,a.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let i in t){let a=this._convertAttributeStorageInfoToPropertyAttribute(i,r,t);a&&n.push(a)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let i=n[t],a=r.find(l=>l.name===t);if(!a)return null;let o=a.attributeValues;if(!(o!=null&&o.valueType))return null;let s,u;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",u="UINT32";break;case"int32":s="SCALAR",u="INT32";break;case"uint32":s="SCALAR",u="UINT32";break;case"int16":s="SCALAR",u="INT16";break;case"uint16":s="SCALAR",u="UINT16";break;case"float64":s="SCALAR",u="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let c={name:t,elementType:s,componentType:u,values:[]};return AU(i)?c.values=Array.from(i):i!==null&&(c.values=i),c}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 Z(r),c=new Z(Array.from(s)).transform(i).add(n);Bt.WGS84.cartographicToCartesian(c,k6e),c=k6e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new mr().translate(t).multiplyLeft(hIt)}_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 O6e=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 m_(t.contentUrl,ml,i,n)};async function I6e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new za(r),i=await _U(n,void 0,r);return new ul(i)}return null}async function m_(e,t,r,n){return n!==null?await $r(e,t,{...r,fetch:n.fetch.bind(n)}):await $r(e,t,r)}async function P6e(e){if(!(e!=null&&e.fileProvider))return 0;let t=new Set,r=zu(e.fileProvider);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var vIt="I3S",Ev=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;fileExt;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 av,this.fileExt=""}async convert(t){var m;if(wr)return console.log(iv),iv;let{inputUrl:r,outputPath:n,outputVersion:i,tilesetName:a,maxDepth:o,egmFilePath:s,inquirer:u,analyze:c}=t;this.conversionStartTime=TU.default.hrtime(),this.options={maxDepth:o,inquirer:u,outputVersion:i},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await $r(s,mC),console.log("Loading egm file completed!"),this.slpkFilesystem=await I6e(r);let l=!0;if((c||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||c)||(this.progress.startMonitoring(),this.sourceTileset=await m_(r,ml,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=Tq(f.mbs)),this.tilesetPath=(0,R6e.join)(`${n}`,`${a}`),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 I1(this.tilesetPath)}catch{}let p={boundingVolume:{box:EU(f.obb,this.geoidHeightModel)},geometricError:Dq(f),children:[],refine:"REPLACE"};await this._addChildren(f,p,1);let d=(0,j6e.default)({asset:{version:i},root:p},D6e());await Da(this.tilesetPath,JSON.stringify(d),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:a}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),qi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await P6e(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}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await O6e(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:h}=this._createChildAndBoundingVolume(o),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},b=await new aD({outputVersion:this.options.outputVersion}).convert(m,p,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Da(this.tilesetPath,new Uint8Array(b),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,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 m_(a,ml,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=Tq(t.mbs));let r={box:EU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:Dq(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,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(m_(s,wU,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=TU.default.hrtime(this.conversionStartTime),i=Zg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${vIt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Av=require("path");var xIt="4.3.0",bIt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",oD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await $r(bIt,lq,{}),n=process.cwd();t&&(n=(0,Av.join)(n,t)),await Da(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(Rf[vn.DECODER],"draco",vn.DECODER),await this.installFromUrl(Rf[vn.DECODER_WASM],"draco",vn.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rf[vn.ENCODER],"draco",vn.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Iu.TRANSCODER,"libs"),await this.installFromNpm("textures",Iu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Iu.ENCODER,"libs"),await this.installFromNpm("textures",Iu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new o0,a=(0,Av.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,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let i=await ta(`https://unpkg.com/@loaders.gl/${t}@${xIt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,Av.join)(process.cwd(),"modules",t,"dist",n);await Da(o,a,r)}async installFromUrl(t,r,n){let a=await(await ta(t)).arrayBuffer();if(!a)return;let o=(0,Av.join)(process.cwd(),"modules",r,"dist","libs");await Da(o,a,n)}};function Rs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function M6e(e,t){let r=Rs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function L6e(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 q6e(e,t){let r=Rs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function js(e,t){let r=Rs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var G6e=require("fs/promises"),SU={I3S:"I3S",_3DTILES:"3DTILES"};async function yIt(){let[,,...e]=process.argv;e.length===0&&CU();let t=L6e(e),r=wIt(t);if(r.installDependencies){new oD().install("deps");return}if(r.addHash){let i=N6e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await sD.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,G6e.copyFile)(i.tileset,a);let o=await F1(zu(new za(a)));await hq(a,o,"@specialIndexFileHASH128@");return}let n=N6e(r);await _It(n)}yIt().catch(e=>{console.log(e),process.exit(1)});function CU(){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("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log("--output-version [3dtile version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. 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 _It(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case SU.I3S:await new Ev().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:sD.default});break;case SU._3DTILES:await new yv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,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:sD.default});break;default:CU()}}function N6e(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]")},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(SU).includes(i.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:i=>t||Boolean(i)&&Object.values(["1.0","1.1"]).includes(i)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},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 wIt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,U6e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Rs(n,e);break;case"--tileset":t.tileset=M6e(n,e);break;case"--name":t.name=Rs(n,e);break;case"--output":t.output=Rs(n,e);break;case"--output-version":t.outputVersion=Rs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=js(n,e);break;case"--split-nodes":t.mergeMaterials=js(n,e);break;case"--max-depth":t.maxDepth=q6e(n,e);break;case"--add-hash":t.addHash=js(n,e);break;case"--egm":t.egm=Rs(n,e);break;case"--token":t.token=Rs(n,e);break;case"--no-draco":t.draco=js(n,e);break;case"--validate":t.validate=js(n,e);break;case"--install-dependencies":t.installDependencies=js(n,e);break;case"--generate-textures":t.generateTextures=js(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=js(n,e);break;case"--analyze":t.analyze=js(n,e);break;case"--quiet":t.quiet=js(n,e);break;case"--metadata-class":t.metadataClass=Rs(n,e);break;case"--help":CU();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
160
+ `).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var Mee={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},o0=class{id;props={...Mee};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Mee,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await jee(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=Lee.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 O5(e,t){return!qi.isSupported()||!ri&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function I5(e,t,r,n,i){let a=e.id,o=Nx(e,r),u=qi.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",mMe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function mMe(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 P5(e,t){return!qi.isSupported()||!wr&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Nee(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?qee(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?qee(e,0,t):""}function qee(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 R5(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Nee(e)}"`)}}function ou(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 hn(...e){return vw(e)}function vw(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 Ua(...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 Pp(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 Ga(e,t){return _t(e>=0),_t(t>0),e+(t-1)&~(t-1)}function j5(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+Ga(n.byteLength,4)}function M5(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 s0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Ux(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function xw(e,t,r,n){let i=Ga(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 u0(e,t,r,n){let a=new TextEncoder().encode(r);return t=xw(e,t,a,n),t}async function Rp(e){let t=[];for await(let r of e)t.push(r);return hn(...t)}var gMe="",Uee={};function su(e){for(let t in Uee)if(e.startsWith(t)){let r=Uee[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${gMe}${e}`),e}var vMe="4.3.1",L5={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:vMe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Gee,parse:async e=>Gee(new TextDecoder().decode(e)),options:{}};function Gee(e){return JSON.parse(e)}function zee(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Hee(e){return e&&typeof e=="object"&&e.isBuffer}function mc(e){if(Hee(e))return zee(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 c0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var ga={};Fi(ga,{dirname:()=>yMe,filename:()=>bMe,join:()=>_Me,resolve:()=>wMe});function Vee(){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 bMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function yMe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function _Me(...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 wMe(...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=Vee()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Gx)}return r=EMe(r,!n),n?`/${r}`:r.length>0?r:"."}var Gx=47,q5=46;function EMe(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===Gx)break;a=Gx}if(a===Gx){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==q5||r.charCodeAt(r.length-2)!==q5){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Gx;--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===q5&&i!==-1?++i:i=-1}return r}var zx=new Error("Not implemented"),gc=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 wr?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 zx}async write(t,r,n){throw zx}async stat(){throw zx}async truncate(t){throw zx}async append(t){throw zx}async close(){}};var l0=new Error("Not implemented"),Hx=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw wr?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 l0}async openWritableFile(t,r,n){throw l0}async readdir(t=".",r){throw l0}async stat(t,r){throw l0}async unlink(t){throw l0}async fetch(t,r){throw l0}};var N5=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var za=class{file;constructor(t,r=!1){this.file=new gc(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 f0=e=>{if(e>Number.MAX_SAFE_INTEGER)throw new Error("Offset is out of bounds");return Number(e)},Vx=class{file;constructor(t){this.file=t}async destroy(){}async getUint8(t){return this.file.getUint8(f0(t))}async getUint16(t){return this.file.getUint16(f0(t),!0)}async getUint32(t){return this.file.getUint32(f0(t),!0)}async getBigUint64(t){return this.file.getBigUint64(f0(t),!0)}async slice(t,r){return this.file.buffer.slice(f0(t),f0(r))}get length(){return BigInt(this.file.byteLength)}};var vc=Dt(require("fs"),1),jp=class{handle;size;bigsize;url;constructor(t,r,n){t=su(t),this.handle=vc.default.openSync(t,r,n);let i=vc.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)=>{vc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{vc.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)=>{vc.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)=>vc.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);vc.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)=>vc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var ww=Dt(require("fs/promises"),1);var G5=Dt(require("fs"),1),U5=require("stream");var bw=Dt(require("zlib"),1),SMe=e=>e&&e instanceof ArrayBuffer,CMe=e=>e&&e instanceof Buffer;function yw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(bw.default.createBrotliDecompress());case"gzip":return e.pipe(bw.default.createGunzip());case"deflate":return e.pipe(bw.default.createDeflate());default:return e}}async function $ee(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(FMe(i))}),e.on("end",()=>{let i=DMe(t);r(i)})})}function DMe(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 FMe(e){if(SMe(e))return e;if(CMe(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 kMe=e=>typeof e=="boolean",Wee=e=>typeof e=="function",BMe=e=>e!==null&&typeof e=="object",OMe=e=>BMe(e)&&Wee(e.read)&&Wee(e.pipe)&&kMe(e.readable);async function _w(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=su(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=G5.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;OMe(a)?o=yw(a,i):typeof a=="string"?o=U5.Readable.from([new TextEncoder().encode(a)]):o=U5.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=IMe(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 IMe(e){let t={};if(!t["content-length"]){let r=G5.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 Ew=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await ww.default.readdir(t,r)}async stat(t){let r=await ww.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await ww.default.unlink(t)}async fetch(t,r){return await _w(t,r)}async openReadableFile(t,r="r"){return new jp(t,r)}async openWritableFile(t,r="w",n){return new jp(t,r,n)}};var xc=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 Rp(t)}};var p0=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}},PMe=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 PMe}function Kee(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+=jMe(n[i])}return t}function jMe(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 Jee(e);case"base64":return Yee(Jee(e));default:throw new Error(t)}}function Xee(e,t){switch(t){case"hex":return e;case"base64":return Yee(e);default:throw new Error(t)}}function Yee(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Kee(r)||""}function Jee(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var $x=class extends xc{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 p0;n.update(t);let i=n.finalize();return z5(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new p0;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 Zee=typeof atob=="function"?atob:typeof Buffer=="function"?zMe:tte,MMe=Zee("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),H5=WebAssembly&&Zee!==tte?GMe(MMe).buffer:!1,uu=HMe(),V5=240*16*16,ete=Math.floor(V5*16*1.066666667),LMe=268435456-65536,Qee="Parameter must be Buffer, ArrayBuffer or Uint8Array",qMe="Parameter exceeds max size of 255.9 Mbytes";H5||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function $5(e){var t,r,n,i,a,o,s,u,c,l;let f=UMe(),p=NMe(),d={},h=new Date().getTime();return d.then=function(y){return s=y,g(),d},d.catch=function(y){return u=y,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:b(new TypeError(Qee)):b(new TypeError(Qee)),o&&(a=o.length,H5&&a>ete?a>LMe?b(new Error(qMe)):(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(H5,n).then(m)):g(f(o))),d;function m(y){g(p(o,y.instance.exports,r))}function g(y){var w=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(w)&&(s(w,l-h),s=u=null):Boolean(y)&&(c=y)}function b(y){typeof u=="function"&&u(y)}}function NMe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X,Y,he,le,me,pe,Ce=new Date().getTime(),Be=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Oe=0,Le=h.length*8,Je;for(Je=xe(h,p),p[Le>>>5]|=128<<Le%32,p[(Le+64>>>9<<4)+14]=Le,Je=(Le+64>>>9<<4)+15,me=p;Oe<Je;)Je>Oe+ete?(n(J),a(N),s(K),c(Q),t(V5),Oe=Oe+V5*16,J=r(),N=i(),K=o(),Q=u(),Be++):(X=J,Y=N,he=K,le=Q,m=me[Oe+0]>>>0,g=me[Oe+1]>>>0,b=me[Oe+2]>>>0,y=me[Oe+3]>>>0,w=me[Oe+4]>>>0,T=me[Oe+5]>>>0,E=me[Oe+6]>>>0,k=me[Oe+7]>>>0,B=me[Oe+8]>>>0,j=me[Oe+9]>>>0,C=me[Oe+10]>>>0,I=me[Oe+11]>>>0,P=me[Oe+12]>>>0,L=me[Oe+13]>>>0,G=me[Oe+14]>>>0,V=me[Oe+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+m-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+g-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+b+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+y-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+w-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+T+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+E-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+k-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+B+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+j-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+C-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+I-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+P+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+L-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+V+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+g-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+E-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+I+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+m-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+T-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+C+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+V-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+w-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+j+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+y-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+B+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+L-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+b-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+k+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+P-1926607734)+K,J=ie(4,28,J+(N^K^Q)+T-378558)+N,Q=ie(11,21,Q+(J^N^K)+B-2022574463)+J,K=ie(16,16,K+(Q^J^N)+I+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+g-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+w+1272893353)+J,K=ie(16,16,K+(Q^J^N)+k-155497632)+Q,N=ie(23,9,N+(K^Q^J)+C-1094730640)+K,J=ie(4,28,J+(N^K^Q)+L+681279174)+N,Q=ie(11,21,Q+(J^N^K)+m-358537222)+J,K=ie(16,16,K+(Q^J^N)+y-722521979)+Q,N=ie(23,9,N+(K^Q^J)+E+76029189)+K,J=ie(4,28,J+(N^K^Q)+j-640364487)+N,Q=ie(11,21,Q+(J^N^K)+P-421815835)+J,K=ie(16,16,K+(Q^J^N)+V+530742520)+Q,N=ie(23,9,N+(K^Q^J)+b-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+m-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+k+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+T-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+P+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+y-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+C-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+g-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+B+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+V-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+E-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+L+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+w-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+I-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+b+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+j-343485551)+K,Oe=Oe+16,J=J+X>>>0,N=N+Y>>>0,K=K+he>>>0,Q=Q+le>>>0);return uu.endian([J,N,K,Q]);function ie(ge,Ye,Ae){return Ae<<ge|Ae>>>Ye}function xe(ge,Ye){for(var Ae=-1,nt=Math.floor((ge.length-1)/4),bt=0,Dr,re,Ie,$e;nt-8>Ae++;)bt=Ae<<2,Ye[Ae]=ge[bt+0]|ge[bt+1]<<8|ge[bt+2]<<16|ge[bt+3]<<24;for(Ae--;nt>Ae++;)bt=Ae<<2,Dr=typeof ge[bt+0]>"u"?0:ge[bt+0],re=typeof ge[bt+1]>"u"?0:ge[bt+1],Ie=typeof ge[bt+2]>"u"?0:ge[bt+2],$e=typeof ge[bt+3]>"u"?0:ge[bt+3],Ye[Ae]=Dr|re<<8|Ie<<16|$e<<24;return nt+1}};return function(h,m,g,b){var y;return t=m.loops,e=m.loop,r=m.getA,i=m.getB,o=m.getC,u=m.getD,l=m.getX,n=m.setA,a=m.setB,s=m.setC,c=m.setD,f=m.setX,p=g,y=uu.wordsToBytes(d(h)),b&&b.asBytes?y:uu.bytesconvertNumberToHex(y)}}function UMe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,m,g,b,y,w,T,E,k,B,j=new Date().getTime(),C=1732584193,I=-271733879,P=-1732584194,L=271733878,G=t.length*8;B=uu.bytesToWords(t);for(var V=0;V<B.length;V++)B[V]=(B[V]<<8|B[V]>>>24)&16711935|(B[V]<<24|B[V]>>>8)&4278255360;B[G>>>5]|=128<<G%32,B[(G+64>>>9<<4)+14]=G;for(var X=0;X<B.length;X+=16)w=C,T=I,E=P,k=L,n=B[X+0]>>>0,i=B[X+1]>>>0,a=B[X+2]>>>0,o=B[X+3]>>>0,s=B[X+4]>>>0,u=B[X+5]>>>0,c=B[X+6]>>>0,l=B[X+7]>>>0,f=B[X+8]>>>0,p=B[X+9]>>>0,d=B[X+10]>>>0,h=B[X+11]>>>0,m=B[X+12]>>>0,g=B[X+13]>>>0,b=B[X+14]>>>0,y=B[X+15]>>>0,C=Y(7,25,C+(I&P|~I&L)+n-680876936)+I,L=Y(12,20,L+(C&I|~C&P)+i-389564586)+C,P=Y(17,15,P+(L&C|~L&I)+a+606105819)+L,I=Y(22,10,I+(P&L|~P&C)+o-1044525330)+P,C=Y(7,25,C+(I&P|~I&L)+s-176418897)+I,L=Y(12,20,L+(C&I|~C&P)+u+1200080426)+C,P=Y(17,15,P+(L&C|~L&I)+c-1473231341)+L,I=Y(22,10,I+(P&L|~P&C)+l-45705983)+P,C=Y(7,25,C+(I&P|~I&L)+f+1770035416)+I,L=Y(12,20,L+(C&I|~C&P)+p-1958414417)+C,P=Y(17,15,P+(L&C|~L&I)+d-42063)+L,I=Y(22,10,I+(P&L|~P&C)+h-1990404162)+P,C=Y(7,25,C+(I&P|~I&L)+m+1804603682)+I,L=Y(12,20,L+(C&I|~C&P)+g-40341101)+C,P=Y(17,15,P+(L&C|~L&I)+b-1502002290)+L,I=Y(22,10,I+(P&L|~P&C)+y+1236535329)+P,C=Y(5,27,C+(I&L|P&~L)+i-165796510)+I,L=Y(9,23,L+(C&P|I&~P)+c-1069501632)+C,P=Y(14,18,P+(L&I|C&~I)+h+643717713)+L,I=Y(20,12,I+(P&C|L&~C)+n-373897302)+P,C=Y(5,27,C+(I&L|P&~L)+u-701558691)+I,L=Y(9,23,L+(C&P|I&~P)+d+38016083)+C,P=Y(14,18,P+(L&I|C&~I)+y-660478335)+L,I=Y(20,12,I+(P&C|L&~C)+s-405537848)+P,C=Y(5,27,C+(I&L|P&~L)+p+568446438)+I,L=Y(9,23,L+(C&P|I&~P)+b-1019803690)+C,P=Y(14,18,P+(L&I|C&~I)+o-187363961)+L,I=Y(20,12,I+(P&C|L&~C)+f+1163531501)+P,C=Y(5,27,C+(I&L|P&~L)+g-1444681467)+I,L=Y(9,23,L+(C&P|I&~P)+a-51403784)+C,P=Y(14,18,P+(L&I|C&~I)+l+1735328473)+L,I=Y(20,12,I+(P&C|L&~C)+m-1926607734)+P,C=Y(4,28,C+(I^P^L)+u-378558)+I,L=Y(11,21,L+(C^I^P)+f-2022574463)+C,P=Y(16,16,P+(L^C^I)+h+1839030562)+L,I=Y(23,9,I+(P^L^C)+b-35309556)+P,C=Y(4,28,C+(I^P^L)+i-1530992060)+I,L=Y(11,21,L+(C^I^P)+s+1272893353)+C,P=Y(16,16,P+(L^C^I)+l-155497632)+L,I=Y(23,9,I+(P^L^C)+d-1094730640)+P,C=Y(4,28,C+(I^P^L)+g+681279174)+I,L=Y(11,21,L+(C^I^P)+n-358537222)+C,P=Y(16,16,P+(L^C^I)+o-722521979)+L,I=Y(23,9,I+(P^L^C)+c+76029189)+P,C=Y(4,28,C+(I^P^L)+p-640364487)+I,L=Y(11,21,L+(C^I^P)+m-421815835)+C,P=Y(16,16,P+(L^C^I)+y+530742520)+L,I=Y(23,9,I+(P^L^C)+a-995338651)+P,C=Y(6,26,C+(P^(I|~L))+n-198630844)+I,L=Y(10,22,L+(I^(C|~P))+l+1126891415)+C,P=Y(15,17,P+(C^(L|~I))+b-1416354905)+L,I=Y(21,11,I+(L^(P|~C))+u-57434055)+P,C=Y(6,26,C+(P^(I|~L))+m+1700485571)+I,L=Y(10,22,L+(I^(C|~P))+o-1894986606)+C,P=Y(15,17,P+(C^(L|~I))+d-1051523)+L,I=Y(21,11,I+(L^(P|~C))+i-2054922799)+P,C=Y(6,26,C+(P^(I|~L))+f+1873313359)+I,L=Y(10,22,L+(I^(C|~P))+y-30611744)+C,P=Y(15,17,P+(C^(L|~I))+c-1560198380)+L,I=Y(21,11,I+(L^(P|~C))+g+1309151649)+P,C=Y(6,26,C+(P^(I|~L))+s-145523070)+I,L=Y(10,22,L+(I^(C|~P))+h-1120210379)+C,P=Y(15,17,P+(C^(L|~I))+a+718787259)+L,I=Y(21,11,I+(L^(P|~C))+p-343485551)+P,C=C+w>>>0,I=I+T>>>0,P=P+E>>>0,L=L+k>>>0;return uu.endian([C,I,P,L]);function Y(he,le,me){return me<<he|me>>>le}};return function(t,r){var n=uu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:uu.bytesconvertNumberToHex(n);return i}}function GMe(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 zMe(e){return Buffer.from(e,"base64").toString("binary")}function tte(e){return e}function HMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return uu.rotl(t,8)&16711935|uu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=uu.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 cu=class extends xc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>$5(t).then(a).catch(o));return Xee(i,r)}};var Wx=Dt(require("crypto"),1),Aw=class extends xc{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(!Wx.createHash)throw new Error("crypto.createHash not available");let u=(s=Wx.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(!Wx.createHash)throw new Error("crypto.createHash not available");let n=(u=Wx.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 Ire=require("process");var rte=Dt(require("stream"),1),W5=class{},VMe=rte.Readable||W5;function J5(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new K5(r,t)}var K5=class extends VMe{_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}};function Zx(){}function En(e){return typeof e=="object"&&e!==null||typeof e=="function"}var wte=Zx;function er(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var mB=Promise,$Me=Promise.resolve.bind(mB),WMe=Promise.prototype.then,KMe=Promise.reject.bind(mB),JMe=$Me;function Pn(e){return new mB(e)}function tr(e){return Pn(t=>t(e))}function it(e){return KMe(e)}function du(e,t,r){return WMe.call(e,t,r)}function va(e,t,r){du(du(e,t,r),void 0,wte)}function X5(e,t){va(e,t)}function aB(e,t){va(e,void 0,t)}function Ac(e,t,r){return du(e,t,r)}function y0(e){du(e,void 0,wte)}var Gp=e=>{if(typeof queueMicrotask=="function")Gp=queueMicrotask;else{let t=tr(void 0);Gp=r=>du(t,r)}return Gp(e)};function zp(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Sc(e,t,r){try{return tr(zp(e,t,r))}catch(n){return it(n)}}var xa=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},Ete=Symbol("[[AbortSteps]]"),Ate=Symbol("[[ErrorSteps]]"),gB=Symbol("[[CancelSteps]]"),vB=Symbol("[[PullSteps]]"),xB=Symbol("[[ReleaseSteps]]");function Tte(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?oB(e):t._state==="closed"?function(r){oB(r),Cte(r)}(e):Ste(e,t._storedError)}function bB(e,t){return os(e._ownerReadableStream,t)}function Ec(e){let t=e._ownerReadableStream;t._state==="readable"?yB(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){Ste(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[xB](),t._reader=void 0,e._ownerReadableStream=void 0}function qw(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function oB(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Ste(e,t){oB(e),yB(e,t)}function yB(e,t){e._closedPromise_reject!==void 0&&(y0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Cte(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var nte=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},XMe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function hu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function go(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Dte(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Tc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function sB(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function _B(e){return Number(e)}function ite(e){return e===0?0:e}function wB(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=ite(n),!nte(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return ite(XMe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return nte(n)&&n!==0?n:0}function EB(e,t){if(!zl(e))throw new TypeError(`${t} is not a ReadableStream.`)}function m0(e){return new bc(e)}function Fte(e,t){e._reader._readRequests.push(t)}function AB(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function Ww(e){return e._reader._readRequests.length}function kte(e){let t=e._reader;return t!==void 0&&!!Hl(t)}var bc=class{constructor(t){if(Tc(t,1,"ReadableStreamDefaultReader"),EB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Tte(this,t),this._readRequests=new xa}get closed(){return Hl(this)?this._closedPromise:it(Tw("closed"))}cancel(t=void 0){return Hl(this)?this._ownerReadableStream===void 0?it(qw("cancel")):bB(this,t):it(Tw("cancel"))}read(){if(!Hl(this))return it(Tw("read"));if(this._ownerReadableStream===void 0)return it(qw("read from"));let t,r,n=Pn((i,a)=>{t=i,r=a});return eb(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!Hl(this))throw Tw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");Bte(t,r)}(this)}};function Hl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof bc}function eb(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[vB](t)}function Bte(e,t){let r=e._readRequests;e._readRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Tw(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var Y5,Q5,Z5;function Jx(e){return e.slice()}function Ote(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(bc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(bc.prototype.cancel,"cancel"),er(bc.prototype.read,"read"),er(bc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var Hp=e=>(Hp=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,Hp(e)),Vp=e=>(Vp=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Vp(e));function Ite(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Ote(i,0,e,t,n),i}function Xx(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function ate(e){try{let t=e.done,r=e.value;return du(JMe(r),n=>({done:t,value:n}))}catch(t){return it(t)}}var ub=(Z5=(Y5=Symbol.asyncIterator)!==null&&Y5!==void 0?Y5:(Q5=Symbol.for)===null||Q5===void 0?void 0:Q5.call(Symbol,"Symbol.asyncIterator"))!==null&&Z5!==void 0?Z5:"@@asyncIterator";function Pte(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Xx(e,ub))===void 0)return function(i){let a={next(){let o;try{o=Rte(i)}catch(s){return it(s)}return ate(o)},return(o){let s;try{let u=Xx(i.iterator,"return");if(u===void 0)return tr({done:!0,value:o});s=zp(u,i.iterator,[o])}catch(u){return it(u)}return En(s)?ate(s):it(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Pte(e,"sync",Xx(e,Symbol.iterator)))}else r=Xx(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=zp(r,e,[]);if(!En(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Rte(e){let t=zp(e.nextMethod,e.iterator,[]);if(!En(t))throw new TypeError("The iterator.next() method must return an object");return t}var Nw=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Ac(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Ac(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Pn((a,o)=>{r=a,n=o});return eb(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,Gp(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Ec(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=bB(r,t);return Ec(r),Ac(n,()=>({value:t,done:!0}))}return Ec(r),tr({value:t,done:!0})}},jte={next(){return ote(this)?this._asyncIteratorImpl.next():it(ste("next"))},return(e){return ote(this)?this._asyncIteratorImpl.return(e):it(ste("return"))},[ub](){return this}};function ote(e){if(!En(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof Nw}catch{return!1}}function ste(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(jte,ub,{enumerable:!1});var Mte=Number.isNaN||function(e){return e!=e};function ute(e){let t=Ite(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function uB(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function TB(e,t,r){if(typeof(n=r)!="number"||Mte(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Wl(e){e._queue=new xa,e._queueTotalSize=0}function Lte(e){return e===DataView}var Vl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!eB(this))throw tB("view");return this._view}respond(t){if(!eB(this))throw tB("respond");if(Tc(t,1,"respond"),t=wB(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Vp(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Rw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!eB(this))throw tB("respondWithNewView");if(Tc(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Vp(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");jw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Vl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),er(Vl.prototype.respond,"respond"),er(Vl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Vl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var fu=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Np(this))throw Kx("byobRequest");return fB(this)}get desiredSize(){if(!Np(this))throw Kx("desiredSize");return Kte(this)}close(){if(!Np(this))throw Kx("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);Yx(this)}enqueue(t){if(!Np(this))throw Kx("enqueue");if(Tc(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Pw(this,t)}error(t=void 0){if(!Np(this))throw Kx("error");mo(this,t)}[gB](t){qte(this),Wl(this);let r=this._cancelAlgorithm(t);return Kw(this),r}[vB](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void Wte(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}Fte(r,t),Kp(this)}[xB](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new xa,this._pendingPullIntos.push(t)}}};function Np(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof fu}function eB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Vl}function Kp(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(kte(n)&&Ww(n)>0||CB(n)&&Yte(n)>0||Kte(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Kp(e)),null),r=>(mo(e,r),null))}}function qte(e){SB(e),e._pendingPullIntos=new xa}function cB(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Nte(t);t.readerType==="default"?AB(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Nte(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Iw(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Ute(e,t,r,n){let i;try{i=Ite(t,r,r+n)}catch(a){throw mo(e,a),a}Iw(e,i,0,n)}function Gte(e,t){t.bytesFilled>0&&Ute(e,t.buffer,t.byteOffset,t.bytesFilled),g0(e)}function zte(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Ote(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,Hte(e,c,t),i-=c}return a}function Hte(e,t,r){r.bytesFilled+=t}function Vte(e){e._queueTotalSize===0&&e._closeRequested?(Kw(e),cb(e._controlledReadableByteStream)):Kp(e)}function SB(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function lB(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();zte(e,t)&&(g0(e),cB(e._controlledReadableByteStream,t))}}function YMe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Lte(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=Hp(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void cte(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(zte(e,f)){let p=Nte(f);return Vte(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return mo(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),cte(i,n),Kp(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function $te(e,t){let r=e._pendingPullIntos.peek();SB(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&g0(n);let a=n._controlledReadableByteStream;if(CB(a))for(;Yte(a)>0;)cB(a,g0(n))}(e,r):function(n,i,a){if(Hte(0,i,a),a.readerType==="none")return Gte(n,a),void lB(n);if(a.bytesFilled<a.minimumFill)return;g0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Ute(n,a.buffer,s-o,o)}a.bytesFilled-=o,cB(n._controlledReadableByteStream,a),lB(n)}(e,t,r),Kp(e)}function g0(e){return e._pendingPullIntos.shift()}function Kw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Yx(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!=0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw mo(e,n),n}}Kw(e),cb(t)}}function Pw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(Vp(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=Hp(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Vp(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");SB(e),s.buffer=Hp(s.buffer),s.readerType==="none"&&Gte(e,s)}kte(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;Wte(s,u._readRequests.shift())}}(e),Ww(r)===0?Iw(e,o,i,a):(e._pendingPullIntos.length>0&&g0(e),AB(r,new Uint8Array(o,i,a),!1))):CB(r)?(Iw(e,o,i,a),lB(e)):Iw(e,o,i,a),Kp(e)}function mo(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(qte(e),Wl(e),Kw(e),vre(r,t))}function Wte(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Vte(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function fB(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(Vl.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Kte(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Rw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=Hp(r.buffer),$te(e,t)}function jw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=Hp(t.buffer),$te(e,n)}function Jte(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,Wl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new xa,e._readableStreamController=t,va(tr(r()),()=>(t._started=!0,Kp(t),null),s=>(mo(t,s),null))}function tB(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Kx(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function QMe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Xte(e){return new yc(e)}function cte(e,t){e._reader._readIntoRequests.push(t)}function Yte(e){return e._reader._readIntoRequests.length}function CB(e){let t=e._reader;return t!==void 0&&!!Up(t)}Object.defineProperties(fu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),er(fu.prototype.close,"close"),er(fu.prototype.enqueue,"enqueue"),er(fu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fu.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var yc=class{constructor(t){if(Tc(t,1,"ReadableStreamBYOBReader"),EB(t,"First parameter"),$l(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Np(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Tte(this,t),this._readIntoRequests=new xa}get closed(){return Up(this)?this._closedPromise:it(Sw("closed"))}cancel(t=void 0){return Up(this)?this._ownerReadableStream===void 0?it(qw("cancel")):bB(this,t):it(Sw("cancel"))}read(t,r={}){if(!Up(this))return it(Sw("read"));if(!ArrayBuffer.isView(t))return it(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return it(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return it(new TypeError("view's buffer must have non-zero byteLength"));if(Vp(t.buffer))return it(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return hu(u,c),{min:wB((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return it(u)}let i=n.min;if(i===0)return it(new TypeError("options.min must be greater than 0"));if(function(u){return Lte(u.constructor)}(t)){if(i>t.byteLength)return it(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return it(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return it(qw("read from"));let a,o,s=Pn((u,c)=>{a=u,o=c});return Qte(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!Up(this))throw Sw("releaseLock");this._ownerReadableStream!==void 0&&function(t){Ec(t);let r=new TypeError("Reader was released");Zte(t,r)}(this)}};function Up(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof yc}function Qte(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):YMe(i._readableStreamController,t,r,n)}function Zte(e,t){let r=e._readIntoRequests;e._readIntoRequests=new xa,r.forEach(n=>{n._errorSteps(t)})}function Sw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function tb(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Mte(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Uw(e){let{size:t}=e;return t||(()=>1)}function Gw(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:_B(r),size:n===void 0?void 0:ZMe(n,`${t} has member 'size' that`)}}function ZMe(e,t){return go(e,t),r=>_B(e(r))}function eLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function tLe(e,t,r){return go(e,r),()=>Sc(e,t,[])}function rLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function nLe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function ere(e,t){if(!h0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(yc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),er(yc.prototype.cancel,"cancel"),er(yc.prototype.read,"read"),er(yc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var iLe=typeof AbortController=="function",_c=class{constructor(t={},r={}){t===void 0?t=null:Dte(t,"First parameter");let n=Gw(r,"Second parameter"),i=function(o,s){hu(o,s);let u=o==null?void 0:o.abort,c=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,p=o==null?void 0:o.write;return{abort:u===void 0?void 0:eLe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:tLe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:rLe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:nLe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(rre(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=Uw(n);(function(o,s,u,c){let l=Object.create($p.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?m=>s.write(m,l):()=>tr(void 0),d=s.close!==void 0?()=>s.close():()=>tr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>tr(void 0),cre(o,l,f,p,d,h,u,c)})(this,i,tb(n,1),a)}get locked(){if(!h0(this))throw Dw("locked");return v0(this)}abort(t=void 0){return h0(this)?v0(this)?it(new TypeError("Cannot abort a stream that already has a writer")):zw(this,t):it(Dw("abort"))}close(){return h0(this)?v0(this)?it(new TypeError("Cannot close a stream that already has a writer")):mu(this)?it(new TypeError("Cannot close an already-closing stream")):nre(this):it(Dw("close"))}getWriter(){if(!h0(this))throw Dw("getWriter");return tre(this)}};function tre(e){return new lu(e)}function rre(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new xa,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function h0(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof _c}function v0(e){return e._writer!==void 0}function zw(e,t){var r;if(e._state==="closed"||e._state==="errored")return tr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return tr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Pn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||DB(e,t),a}function nre(e){let t=e._state;if(t==="closed"||t==="errored")return it(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Pn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&IB(n),TB(i=e._writableStreamController,ure,0),Jw(i),r}function pB(e,t){e._state!=="writable"?FB(e):DB(e,t)}function DB(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&are(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&FB(e)}function FB(e){e._state="errored",e._writableStreamController[Ate]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new xa,e._pendingAbortRequest===void 0)return void Cw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void Cw(e);va(e._writableStreamController[Ete](r._reason),()=>(r._resolve(),Cw(e),null),n=>(r._reject(n),Cw(e),null))}function mu(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function Cw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&OB(t,e._storedError)}function kB(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){Xw(n)}(r):IB(r)),e._backpressure=t}Object.defineProperties(_c.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),er(_c.prototype.abort,"abort"),er(_c.prototype.close,"close"),er(_c.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(_c.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var lu=class{constructor(t){if(Tc(t,1,"WritableStreamDefaultWriter"),ere(t,"First parameter"),v0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!mu(t)&&t._backpressure?Xw(this):lte(this),Mw(this);else if(r==="erroring")dB(this,t._storedError),Mw(this);else if(r==="closed")lte(this),Mw(n=this),dre(n);else{let i=t._storedError;dB(this,i),pre(this,i)}var n}get closed(){return Mp(this)?this._closedPromise:it(Lp("closed"))}get desiredSize(){if(!Mp(this))throw Lp("desiredSize");if(this._ownerWritableStream===void 0)throw Qx("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:lre(r._writableStreamController)}(this)}get ready(){return Mp(this)?this._readyPromise:it(Lp("ready"))}abort(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Qx("abort")):function(r,n){return zw(r._ownerWritableStream,n)}(this,t):it(Lp("abort"))}close(){if(!Mp(this))return it(Lp("close"));let t=this._ownerWritableStream;return t===void 0?it(Qx("close")):mu(t)?it(new TypeError("Cannot close an already-closing stream")):ire(this)}releaseLock(){if(!Mp(this))throw Lp("releaseLock");this._ownerWritableStream!==void 0&&ore(this)}write(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?it(Qx("write to")):sre(this,t):it(Lp("write"))}};function Mp(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof lu}function ire(e){return nre(e._ownerWritableStream)}function aLe(e,t){e._closedPromiseState==="pending"?OB(e,t):function(r,n){pre(r,n)}(e,t)}function are(e,t){e._readyPromiseState==="pending"?hre(e,t):function(r,n){dB(r,n)}(e,t)}function ore(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");are(e,r),aLe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function sre(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return rb(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return it(Qx("write to"));let a=r._state;if(a==="errored")return it(r._storedError);if(mu(r)||a==="closed")return it(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return it(r._storedError);let o=function(s){return Pn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{TB(s,u,c)}catch(f){return void rb(s,f)}let l=s._controlledWritableStream;!mu(l)&&l._state==="writable"&&kB(l,BB(s)),Jw(s)}(n,t,i),o}Object.defineProperties(lu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),er(lu.prototype.abort,"abort"),er(lu.prototype.close,"close"),er(lu.prototype.releaseLock,"releaseLock"),er(lu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(lu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var ure={},$p=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!rB(this))throw nB("abortReason");return this._abortReason}get signal(){if(!rB(this))throw nB("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!rB(this))throw nB("error");this._controlledWritableStream._state==="writable"&&fre(this,t)}[Ete](t){let r=this._abortAlgorithm(t);return Hw(this),r}[Ate](){Wl(this)}};function rB(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof $p}function cre(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Wl(t),t._abortReason=void 0,t._abortController=function(){if(iLe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=BB(t);kB(e,u),va(tr(r()),()=>(t._started=!0,Jw(t),null),c=>(t._started=!0,pB(e,c),null))}function Hw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function lre(e){return e._strategyHWM-e._queueTotalSize}function Jw(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void FB(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===ure?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),uB(n);let a=n._closeAlgorithm();Hw(n),va(a,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&dre(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),pB(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);va(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(uB(n),!mu(a)&&s==="writable"){let u=BB(n);kB(a,u)}return Jw(n),null},s=>(a._state==="writable"&&Hw(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,pB(u,c)}(a,s),null))}(e,r)}function rb(e,t){e._controlledWritableStream._state==="writable"&&fre(e,t)}function BB(e){return lre(e)<=0}function fre(e,t){let r=e._controlledWritableStream;Hw(e),DB(r,t)}function Dw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function nB(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Lp(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Qx(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function Mw(e){e._closedPromise=Pn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function pre(e,t){Mw(e),OB(e,t)}function OB(e,t){e._closedPromise_reject!==void 0&&(y0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function dre(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Xw(e){e._readyPromise=Pn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function dB(e,t){Xw(e),hre(e,t)}function lte(e){Xw(e),IB(e)}function hre(e,t){e._readyPromise_reject!==void 0&&(y0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function IB(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties($p.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($p.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var fte=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,oLe=function(){let e=fte==null?void 0:fte.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return er(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function pte(e,t,r,n,i,a){let o=m0(e),s=tre(t);e._disturbed=!0;let u=!1,c=tr(void 0);return Pn((l,f)=>{let p;if(a!==void 0){if(p=()=>{let E=a.reason!==void 0?a.reason:new oLe("Aborted","AbortError"),k=[];n||k.push(()=>t._state==="writable"?zw(t,E):tr(void 0)),i||k.push(()=>e._state==="readable"?os(e,E):tr(void 0)),y(()=>Promise.all(k.map(B=>B())),!0,E)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,m;if(b(e,o._closedPromise,E=>(n?w(!0,E):y(()=>zw(t,E),!0,E),null)),b(t,s._closedPromise,E=>(i?w(!0,E):y(()=>os(e,E),!0,E),null)),d=e,h=o._closedPromise,m=()=>(r?w():y(()=>function(E){let k=E._ownerWritableStream,B=k._state;return mu(k)||B==="closed"?tr(void 0):B==="errored"?it(k._storedError):ire(E)}(s)),null),d._state==="closed"?m():X5(h,m),mu(t)||t._state==="closed"){let E=new TypeError("the destination writable stream closed before all data could be piped to it");i?w(!0,E):y(()=>os(e,E),!0,E)}function g(){let E=c;return du(c,()=>E!==c?g():void 0)}function b(E,k,B){E._state==="errored"?B(E._storedError):aB(k,B)}function y(E,k,B){function j(){return va(E(),()=>T(k,B),C=>T(!0,C)),null}u||(u=!0,t._state!=="writable"||mu(t)?j():X5(g(),j))}function w(E,k){u||(u=!0,t._state!=="writable"||mu(t)?T(E,k):X5(g(),()=>T(E,k)))}function T(E,k){return ore(s),Ec(o),a!==void 0&&a.removeEventListener("abort",p),E?f(k):l(void 0),null}y0(Pn((E,k)=>{(function B(j){j?E():du(u?tr(!0):du(s._readyPromise,()=>Pn((C,I)=>{eb(o,{_chunkSteps:P=>{c=du(sre(s,P),void 0,Zx),C(!1)},_closeSteps:()=>C(!0),_errorSteps:I})})),B,k)})(!1)}))})}var pu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Fw(this))throw kw("desiredSize");return PB(this)}close(){if(!Fw(this))throw kw("close");if(!b0(this))throw new TypeError("The stream is not in a state that permits close");Wp(this)}enqueue(t=void 0){if(!Fw(this))throw kw("enqueue");if(!b0(this))throw new TypeError("The stream is not in a state that permits enqueue");return x0(this,t)}error(t=void 0){if(!Fw(this))throw kw("error");ss(this,t)}[gB](t){Wl(this);let r=this._cancelAlgorithm(t);return Vw(this),r}[vB](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=uB(this);this._closeRequested&&this._queue.length===0?(Vw(this),cb(r)):nb(this),t._chunkSteps(n)}else Fte(r,t),nb(this)}[xB](){}};function Fw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof pu}function nb(e){if(mre(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,va(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,nb(e)),null),t=>(ss(e,t),null))}}function mre(e){let t=e._controlledReadableStream;return!b0(e)||!e._started?!1:$l(t)&&Ww(t)>0?!0:PB(e)>0}function Vw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Wp(e){if(!b0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Vw(e),cb(t))}function x0(e,t){if(!b0(e))return;let r=e._controlledReadableStream;if($l(r)&&Ww(r)>0)AB(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw ss(e,i),i}try{TB(e,t,n)}catch(i){throw ss(e,i),i}}nb(e)}function ss(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Wl(e),Vw(e),vre(r,t))}function PB(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function b0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function gre(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Wl(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,va(tr(r()),()=>(t._started=!0,nb(t),null),s=>(ss(t,s),null))}function kw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function sLe(e,t){return Np(e._readableStreamController)?function(r){let n,i,a,o,s,u=m0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Pn(B=>{s=B});function m(B){aB(B._closedPromise,j=>(B!==u||(mo(a._readableStreamController,j),mo(o._readableStreamController,j),p&&d||s(void 0)),null))}function g(){Up(u)&&(Ec(u),u=m0(r),m(u)),eb(u,{_chunkSteps:B=>{Gp(()=>{l=!1,f=!1;let j=B,C=B;if(!p&&!d)try{C=ute(B)}catch(I){return mo(a._readableStreamController,I),mo(o._readableStreamController,I),void s(os(r,I))}p||Pw(a._readableStreamController,j),d||Pw(o._readableStreamController,C),c=!1,l?y():f&&w()})},_closeSteps:()=>{c=!1,p||Yx(a._readableStreamController),d||Yx(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&Rw(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Rw(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function b(B,j){Hl(u)&&(Ec(u),u=Xte(r),m(u));let C=j?o:a,I=j?a:o;Qte(u,B,1,{_chunkSteps:P=>{Gp(()=>{l=!1,f=!1;let L=j?d:p;if(j?p:d)L||jw(C._readableStreamController,P);else{let G;try{G=ute(P)}catch(V){return mo(C._readableStreamController,V),mo(I._readableStreamController,V),void s(os(r,V))}L||jw(C._readableStreamController,P),Pw(I._readableStreamController,G)}c=!1,l?y():f&&w()})},_closeSteps:P=>{c=!1;let L=j?d:p,G=j?p:d;L||Yx(C._readableStreamController),G||Yx(I._readableStreamController),P!==void 0&&(L||jw(C._readableStreamController,P),!G&&I._readableStreamController._pendingPullIntos.length>0&&Rw(I._readableStreamController,0)),L&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function y(){if(c)return l=!0,tr(void 0);c=!0;let B=fB(a._readableStreamController);return B===null?g():b(B._view,!1),tr(void 0)}function w(){if(c)return f=!0,tr(void 0);c=!0;let B=fB(o._readableStreamController);return B===null?g():b(B._view,!0),tr(void 0)}function T(B){if(p=!0,n=B,d){let j=Jx([n,i]),C=os(r,j);s(C)}return h}function E(B){if(d=!0,i=B,p){let j=Jx([n,i]),C=os(r,j);s(C)}return h}function k(){}return a=hte(k,y,T),o=hte(k,w,E),m(u),[a,o]}(e):function(r,n){let i=m0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Pn(w=>{c=w});function m(){return l?(f=!0,tr(void 0)):(l=!0,eb(i,{_chunkSteps:w=>{Gp(()=>{f=!1;let T=w,E=w;p||x0(s._readableStreamController,T),d||x0(u._readableStreamController,E),l=!1,f&&m()})},_closeSteps:()=>{l=!1,p||Wp(s._readableStreamController),d||Wp(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),tr(void 0))}function g(w){if(p=!0,a=w,d){let T=Jx([a,o]),E=os(r,T);c(E)}return h}function b(w){if(d=!0,o=w,p){let T=Jx([a,o]),E=os(r,T);c(E)}return h}function y(){}return s=ib(y,m,g),u=ib(y,m,b),aB(i._closedPromise,w=>(ss(s._readableStreamController,w),ss(u._readableStreamController,w),p&&d||c(void 0),null)),[s,u]}(e)}function uLe(e){return En(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return it(s)}return Ac(o,s=>{if(!En(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Wp(n._readableStreamController);else{let u=s.value;x0(n._readableStreamController,u)}})}function a(o){try{return tr(r.cancel(o))}catch(s){return it(s)}}return n=ib(Zx,i,a,0),n}(e.getReader()):function(r){let n,i=Pte(r,"async");function a(){let s;try{s=Rte(i)}catch(u){return it(u)}return Ac(tr(s),u=>{if(!En(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)Wp(n._readableStreamController);else{let c=u.value;x0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Xx(u,"return")}catch(l){return it(l)}return c===void 0?tr(void 0):Ac(Sc(c,u,[s]),l=>{if(!En(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=ib(Zx,a,o,0),n}(e);var t}function cLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function lLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function fLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function pLe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function dte(e,t){hu(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(pu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),er(pu.prototype.close,"close"),er(pu.prototype.enqueue,"enqueue"),er(pu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var $n=class{constructor(t={},r={}){t===void 0?t=null:Dte(t,"First parameter");let n=Gw(r,"Second parameter"),i=function(a,o){hu(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,p=s==null?void 0:s.type;return{autoAllocateChunkSize:u===void 0?void 0:wB(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:cLe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:lLe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:fLe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:pLe(p,`${o} has member 'type' that`)}}(t,"First parameter");if(RB(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(fu.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>tr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>tr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Jte(a,u,c,l,f,s,p)})(this,i,tb(n,0))}else{let a=Uw(n);(function(o,s,u,c){let l=Object.create(pu.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>tr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>tr(void 0),gre(o,l,f,p,d,u,c)})(this,i,tb(n,1),a)}}get locked(){if(!zl(this))throw qp("locked");return $l(this)}cancel(t=void 0){return zl(this)?$l(this)?it(new TypeError("Cannot cancel a stream that already has a reader")):os(this,t):it(qp("cancel"))}getReader(t=void 0){if(!zl(this))throw qp("getReader");return function(r,n){hu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:QMe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?m0(this):Xte(this)}pipeThrough(t,r={}){if(!zl(this))throw qp("pipeThrough");Tc(t,1,"pipeThrough");let n=function(a,o){hu(a,o);let s=a==null?void 0:a.readable;sB(s,"readable","ReadableWritablePair"),EB(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return sB(u,"writable","ReadableWritablePair"),ere(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=dte(r,"Second parameter");if($l(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(v0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return y0(pte(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!zl(this))return it(qp("pipeTo"));if(t===void 0)return it("Parameter 1 is required in 'pipeTo'.");if(!h0(t))return it(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=dte(r,"Second parameter")}catch(i){return it(i)}return $l(this)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):v0(t)?it(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):pte(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!zl(this))throw qp("tee");return Jx(sLe(this))}values(t=void 0){if(!zl(this))throw qp("values");return function(r,n){let i=m0(r),a=new Nw(i,n),o=Object.create(jte);return o._asyncIteratorImpl=a,o}(this,function(r,n){hu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[ub](t){return this.values(t)}static from(t){return uLe(t)}};function ib(e,t,r,n=1,i=()=>1){let a=Object.create($n.prototype);return RB(a),gre(a,Object.create(pu.prototype),e,t,r,n,i),a}function hte(e,t,r){let n=Object.create($n.prototype);return RB(n),Jte(n,Object.create(fu.prototype),e,t,r,0,void 0),n}function RB(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function zl(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof $n}function $l(e){return e._reader!==void 0}function os(e,t){if(e._disturbed=!0,e._state==="closed")return tr(void 0);if(e._state==="errored")return it(e._storedError);cb(e);let r=e._reader;if(r!==void 0&&Up(r)){let n=r._readIntoRequests;r._readIntoRequests=new xa,n.forEach(i=>{i._closeSteps(void 0)})}return Ac(e._readableStreamController[gB](t),Zx)}function cb(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Cte(t),Hl(t))){let r=t._readRequests;t._readRequests=new xa,r.forEach(n=>{n._closeSteps()})}}function vre(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(yB(r,t),Hl(r)?Bte(r,t):Zte(r,t))}function qp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function xre(e,t){hu(e,t);let r=e==null?void 0:e.highWaterMark;return sB(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:_B(r)}}Object.defineProperties($n,{from:{enumerable:!0}}),Object.defineProperties($n.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),er($n.from,"from"),er($n.prototype.cancel,"cancel"),er($n.prototype.getReader,"getReader"),er($n.prototype.pipeThrough,"pipeThrough"),er($n.prototype.pipeTo,"pipeTo"),er($n.prototype.tee,"tee"),er($n.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($n.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty($n.prototype,ub,{value:$n.prototype.values,writable:!0,configurable:!0});var bre=e=>e.byteLength;er(bre,"size");var ab=class{constructor(t){Tc(t,1,"ByteLengthQueuingStrategy"),t=xre(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!gte(this))throw mte("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!gte(this))throw mte("size");return bre}};function mte(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function gte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ab}Object.defineProperties(ab.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ab.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var yre=()=>1;er(yre,"size");var ob=class{constructor(t){Tc(t,1,"CountQueuingStrategy"),t=xre(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!xte(this))throw vte("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!xte(this))throw vte("size");return yre}};function vte(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function xte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof ob}function dLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}function hLe(e,t,r){return go(e,r),n=>zp(e,t,[n])}function mLe(e,t,r){return go(e,r),(n,i)=>Sc(e,t,[n,i])}function gLe(e,t,r){return go(e,r),n=>Sc(e,t,[n])}Object.defineProperties(ob.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ob.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var sb=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=Gw(r,"Second parameter"),a=Gw(n,"Third parameter"),o=function(p,d){hu(p,d);let h=p==null?void 0:p.cancel,m=p==null?void 0:p.flush,g=p==null?void 0:p.readableType,b=p==null?void 0:p.start,y=p==null?void 0:p.transform,w=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:gLe(h,p,`${d} has member 'cancel' that`),flush:m===void 0?void 0:dLe(m,p,`${d} has member 'flush' that`),readableType:g,start:b===void 0?void 0:hLe(b,p,`${d} has member 'start' that`),transform:y===void 0?void 0:mLe(y,p,`${d} has member 'transform' that`),writableType:w}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=tb(a,0),u=Uw(a),c=tb(i,1),l=Uw(i),f;(function(p,d,h,m,g,b){function y(){return d}function w(j){return function(C,I){let P=C._transformStreamController;return C._backpressure?Ac(C._backpressureChangePromise,()=>{let L=C._writable;if(L._state==="erroring")throw L._storedError;return yte(P,I)}):yte(P,I)}(p,j)}function T(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._readable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Lw(P),va(G,()=>(L._state==="errored"?d0(P,L._storedError):(ss(L._readableStreamController,I),iB(P)),null),V=>(ss(L._readableStreamController,V),d0(P,V),null)),P._finishPromise}(p,j)}function E(){return function(j){let C=j._transformStreamController;if(C._finishPromise!==void 0)return C._finishPromise;let I=j._readable;C._finishPromise=Pn((L,G)=>{C._finishPromise_resolve=L,C._finishPromise_reject=G});let P=C._flushAlgorithm();return Lw(C),va(P,()=>(I._state==="errored"?d0(C,I._storedError):(Wp(I._readableStreamController),iB(C)),null),L=>(ss(I._readableStreamController,L),d0(C,L),null)),C._finishPromise}(p)}function k(){return function(j){return $w(j,!1),j._backpressureChangePromise}(p)}function B(j){return function(C,I){let P=C._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let L=C._writable;P._finishPromise=Pn((V,X)=>{P._finishPromise_resolve=V,P._finishPromise_reject=X});let G=P._cancelAlgorithm(I);return Lw(P),va(G,()=>(L._state==="errored"?d0(P,L._storedError):(rb(L._writableStreamController,I),hB(C),iB(P)),null),V=>(rb(L._writableStreamController,V),hB(C),d0(P,V),null)),P._finishPromise}(p,j)}p._writable=function(j,C,I,P,L=1,G=()=>1){let V=Object.create(_c.prototype);return rre(V),cre(V,Object.create($p.prototype),j,C,I,P,L,G),V}(y,w,E,T,h,m),p._readable=ib(y,k,B,g,b),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,$w(p,!0),p._transformStreamController=void 0})(this,Pn(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(wc.prototype),m,g,b;m=d.transform!==void 0?y=>d.transform(y,h):y=>{try{return wre(h,y),tr(void 0)}catch(w){return it(w)}},g=d.flush!==void 0?()=>d.flush(h):()=>tr(void 0),b=d.cancel!==void 0?y=>d.cancel(y):()=>tr(void 0),function(y,w,T,E,k){w._controlledTransformStream=y,y._transformStreamController=w,w._transformAlgorithm=T,w._flushAlgorithm=E,w._cancelAlgorithm=k,w._finishPromise=void 0,w._finishPromise_resolve=void 0,w._finishPromise_reject=void 0}(p,h,m,g,b)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!bte(this))throw _te("readable");return this._readable}get writable(){if(!bte(this))throw _te("writable");return this._writable}};function bte(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof sb}function _re(e,t){ss(e._readable._readableStreamController,t),jB(e,t)}function jB(e,t){Lw(e._transformStreamController),rb(e._writable._writableStreamController,t),hB(e)}function hB(e){e._backpressure&&$w(e,!1)}function $w(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Pn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(sb.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sb.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var wc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Bw(this))throw Ow("desiredSize");return PB(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!Bw(this))throw Ow("enqueue");wre(this,t)}error(t=void 0){if(!Bw(this))throw Ow("error");var r;r=t,_re(this._controlledTransformStream,r)}terminate(){if(!Bw(this))throw Ow("terminate");(function(t){let r=t._controlledTransformStream;Wp(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");jB(r,n)})(this)}};function Bw(e){return!!En(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof wc}function Lw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function wre(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!b0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{x0(n,t)}catch(a){throw jB(r,a),r._readable._storedError}(function(a){return!mre(a)})(n)!==r._backpressure&&$w(r,!0)}function yte(e,t){return Ac(e._transformAlgorithm(t),void 0,r=>{throw _re(e._controlledTransformStream,r),r})}function Ow(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function iB(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function d0(e,t){e._finishPromise_reject!==void 0&&(y0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function _te(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(wc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),er(wc.prototype.enqueue,"enqueue"),er(wc.prototype.error,"error"),er(wc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(wc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Yw=class extends $n{};var Qw=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 Zw=class extends Yw{_chunks;constructor(t){super(new Qw(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Jp=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 Jp)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=vLe(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 Jp([],{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 h=p.subarray(o,Math.min(d,s));if(f.push(h),l+=h.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 Zw(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 vLe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function xLe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Jp),globalThis.Blob}var bLe=xLe();var eE=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,${Fv(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var tE=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 Ere(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=eE),typeof File>"u"&&!globalThis.File&&(globalThis.File=tE),global}var yLe=Ere();var MB=Dt(require("module"),1),Are=Dt(require("path"),1),nE=Dt(require("fs"),1);async function Tre(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():nE.default.readFileSync(e).buffer}async function Sre(e){return e.startsWith("http")?await(await fetch(e)).text():nE.default.readFileSync(e,"utf8")}async function Cre(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return rE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=nE.default.readFileSync(e,"utf8");return rE(t)}function rE(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=MB.default._nodeModulePaths(Are.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new MB.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 us=class{map;constructor(t){this.map={},t instanceof us?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=lb(t),r=Dre(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[lb(t)]}get(t){return t=lb(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(lb(t))}set(t,r){this.map[lb(t)]=Dre(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)}),LB(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),LB(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),LB(t)}*[Symbol.iterator](){yield*this.entries()}};function lb(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 Dre(e){return typeof e!="string"&&(e=String(e)),e}function LB(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function qB(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var UB=Dt(require("stream"),1),_Le=e=>typeof e=="boolean",Fre=e=>typeof e=="function",wLe=e=>e!==null&&typeof e=="object",NB=e=>wLe(e)&&Fre(e.read)&&Fre(e.pipe)&&_Le(e.readable),Cc=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 us((r==null?void 0:r.headers)||{}),NB(t)?this._body=yw(t,n):typeof t=="string"?this._body=UB.Readable.from([new TextEncoder().encode(t)]):this._body=UB.Readable.from([t||new ArrayBuffer(0)])}get body(){return qB(!this.bodyUsed),qB(NB(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return NB(this._body)?await $ee(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 Bre=Dt(require("http"),1),Ore=Dt(require("https"),1);var ELe=e=>e&&e instanceof ArrayBuffer,ALe=e=>e&&e instanceof Buffer;function kre(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(ELe(e))return e;if(ALe(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 GB=e=>e.startsWith("data:"),SLe=e=>e.startsWith("http:")||e.startsWith("https:");async function fb(e,t){try{if(globalThis.fetch!==fb&&(SLe(e)||GB(e)))return await fetch(e,t);if(GB(e)){let{arrayBuffer:c,mimeType:l}=kre(e);return new Cc(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 CLe(n,t),a=BLe(e,i,r),{status:o,statusText:s}=kLe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=DLe(e,a.get("location"));return await fb(c,t)}return new Cc(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new Cc(null,{status:400,statusText:String(r),url:e})}}async function CLe(e,t){return await new Promise((r,n)=>{let i=FLe(e,t),a=e.startsWith("https:")?Ore.default.request(i,o=>r(o)):Bre.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function DLe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function FLe(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 kLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function BLe(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=OLe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new us(n)}function OLe(e){return GB(e)?e.length-5:null}var ILe=parseInt(Ire.versions.node.split(".")[0]);FU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=J5;globalThis.loaders.NodeFile=jp;globalThis.loaders.NodeFileSystem=Ew;globalThis.loaders.fetchNode=_w;globalThis.loaders.NodeHash=Aw;globalThis.TextEncoder||(globalThis.TextEncoder=Dv);globalThis.TextDecoder||(globalThis.TextDecoder=cp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Fv&&(globalThis.atob=Fv);!("btoa"in globalThis)&&hD&&(globalThis.btoa=hD);globalThis.loaders.encodeImageNode=OH;globalThis.loaders.parseImageNode=x5;globalThis.loaders.imageFormatsNode=v5;globalThis._parseImageNode=x5;globalThis._imageFormatsNode=v5;globalThis.loaders.readFileAsArrayBuffer=Tre;globalThis.loaders.readFileAsText=Sre;globalThis.loaders.requireFromFile=Cre;globalThis.loaders.requireFromString=rE;ILe<18&&(!("Headers"in globalThis)&&us&&(globalThis.Headers=us),!("Response"in globalThis)&&Cc&&(globalThis.Response=Cc),!("fetch"in globalThis)&&fb&&(globalThis.fetch=fb));var U6e=require("path"),sD=Dt(Qme(),1);var Zr={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var ZS=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:Zr.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 Zr.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case Zr.STRING_TYPE:this.setupStringAttribute(i);break;case Zr.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case Zr.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case Zr.OBJECT_ID_TYPE:return"esriFieldTypeOID";case Zr.STRING_TYPE:return"esriFieldTypeString";case Zr.SHORT_INT_TYPE:return"esriFieldTypeInteger";case Zr.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 Gxt=e=>typeof e=="boolean",xy=e=>typeof e=="function",wd=e=>e!==null&&typeof e=="object",dj=e=>wd(e)&&e.constructor==={}.constructor;var Zme=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",ege=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Eo=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Ao=e=>typeof Blob<"u"&&e instanceof Blob,tge=e=>e&&typeof e=="object"&&e.isBuffer;var zxt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||wd(e)&&xy(e.tee)&&xy(e.cancel)&&xy(e.getReader);var Hxt=e=>wd(e)&&xy(e.read)&&xy(e.pipe)&&Gxt(e.readable),e3=e=>zxt(e)||Hxt(e);var t3=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Vxt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,$xt=/^([-\w.]+\/[-\w.+]+)/;function hj(e,t){return e.toLowerCase()===t.toLowerCase()}function rge(e){let t=$xt.exec(e);return t?t[1]:e}function mj(e){let t=Vxt.exec(e);return t?t[1]:""}var nge=/\?.*/;function ige(e){let t=e.match(nge);return t&&t[0]}function Wm(e){return e.replace(nge,"")}function age(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Ed(e){return Eo(e)?e.url:Ao(e)?e.name||"":typeof e=="string"?e:""}function by(e){if(Eo(e)){let t=e,r=t.headers.get("content-type")||"",n=Wm(t.url);return rge(r)||mj(n)}return Ao(e)?e.type||"":typeof e=="string"?mj(e):""}function oge(e){return Eo(e)?e.headers["content-length"]||-1:Ao(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function r3(e){if(Eo(e))return e;let t={},r=oge(e);r>=0&&(t["content-length"]=String(r));let n=Ed(e),i=by(e);i&&(t["content-type"]=i);let a=await Kxt(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 sge(e){if(!e.ok)throw await Wxt(e)}async function Wxt(e){let t=age(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let i=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new t3(r,n)}async function Kxt(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,${Jxt(r)}`}return null}function Jxt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Xxt(e){return!Yxt(e)&&!Qxt(e)}function Yxt(e){return e.startsWith("http:")||e.startsWith("https:")}function Qxt(e){return e.startsWith("data:")}async function ta(e,t){var r,n;if(typeof e=="string"){let i=su(e);return Xxt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await r3(e)}var gj=new nu({id:"loaders.gl"}),n3=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},i3=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 vj={fetch:null,mimeType:void 0,nothrow:!1,log:new i3,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:wr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},uge={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 xj(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Km(){let e=xj();return e.globalOptions=e.globalOptions||{...vj},e.globalOptions}function fge(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],Zxt(e,r),tbt(t,e,n)}function Zxt(e,t){cge(e,null,vj,uge,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]||{};cge(n,r.id,i,a,t)}}function cge(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&wd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)gj.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=ebt(s,i);gj.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function ebt(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 tbt(e,t,r){let i={...e.options||{}};return rbt(i,r),i.log===null&&(i.log=new n3),lge(i,Km()),lge(i,t),i}function lge(e,t){for(let r in t)if(r in t){let n=t[r];dj(n)&&dj(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function rbt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function yy(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function bj(e){_t(e,"null loader"),_t(yy(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 nbt=()=>{let e=xj();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function pge(){return nbt()}var ibt=/\.([^.]+)$/;async function mge(e,t=[],r,n){if(!gge(e))return null;let i=dge(e,t,{...r,nothrow:!0},n);if(i)return i;if(Ao(e)&&(e=await e.slice(0,10).arrayBuffer(),i=dge(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(vge(e));return i}function dge(e,t=[],r,n){if(!gge(e))return null;if(t&&!Array.isArray(t))return bj(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...pge()),obt(i);let a=abt(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(vge(e));return a}function abt(e,t,r,n){let i=Ed(e),a=by(e),o=Wm(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=yj(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||sbt(t,o),u=u||(s?`matched url ${o}`:""),s=s||yj(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||cbt(t,e),u=u||(s?`matched initial data ${xge(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||yj(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&w5.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function gge(e){return!(e instanceof Response&&e.status===204)}function vge(e){let t=Ed(e),r=by(e),n="No valid loader found (";n+=t?`${ga.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?xge(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function obt(e){for(let t of e)bj(t)}function sbt(e,t){let r=t&&ibt.exec(t),n=r&&r[1];return n?ubt(e,n):null}function ubt(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 yj(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>hj(t,i))||hj(t,`application/x.${n.id}`))return n;return null}function cbt(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(lbt(t,r))return r}else if(ArrayBuffer.isView(t)){if(hge(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&hge(t,0,r))return r;return null}function lbt(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function hge(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>fbt(e,t,r,i))}function fbt(e,t,r,n){if(n instanceof ArrayBuffer)return ou(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=_j(e,t,n.length);return n===i;default:return!1}}function xge(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?_j(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?_j(e,0,t):""}function _j(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*bge(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*yge(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*_ge(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 wj(e,t){return wr?pbt(e,t):dbt(e,t)}async function*pbt(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 mc(o)}}catch{r.releaseLock()}}async function*dbt(e,t){for await(let r of e)yield mc(r)}function wge(e,t){if(typeof e=="string")return bge(e,t);if(e instanceof ArrayBuffer)return yge(e,t);if(Ao(e))return _ge(e,t);if(e3(e))return wj(e,t);if(Eo(e))return wj(e.body,t);throw new Error("makeIterator")}var Ege="Cannot convert supplied data type";function hbt(e,t,r){if(t.text&&typeof e=="string")return e;if(tge(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(Ege)}async function Age(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return hbt(e,t,r);if(Ao(e)&&(e=await r3(e)),Eo(e)){let i=e;return await sge(i),t.binary?await i.arrayBuffer():await i.text()}if(e3(e)&&(e=wge(e,r)),Zme(e)||ege(e))return Rp(e);throw new Error(Ege)}function a3(e,t){let r=Km(),n=e||r;return typeof n.fetch=="function"?n.fetch:wd(n.fetch)?i=>ta(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:ta}function Tge(e,t,r){if(r)return r;let n={fetch:a3(t,e),...e};if(n.url){let i=Wm(n.url);n.baseUrl=i,n.queryString=ige(n.url),n.filename=ga.filename(i),n.baseUrl=ga.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function Sge(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 Va(e,t,r,n){t&&!Array.isArray(t)&&!yy(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Ed(e),o=Sge(t,n),s=await mge(e,o,r);return s?(r=fge(r,s,o,i),n=Tge({url:i,_parse:Va,loaders:o},r,n||null),await mbt(s,e,r,n)):null}async function mbt(e,t,r,n){if(k5(e),r=E5(e.options,r),Eo(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 Age(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(O5(e,r))return await I5(e,t,r,n,Va);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw gi(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Cge(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 Ej(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 Aj(e,t,r){let n=Cge(t.value),i=r||Dge(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function Dge(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 $r(e,t,r,n){let i,a;!Array.isArray(t)&&!yy(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=a3(a),s=e;return typeof e=="string"&&(s=await o(e)),Ao(e)&&(s=await o(e)),Array.isArray(i)?await Va(s,i,a):await Va(s,i,a)}async function Jm(e,t,r){let i={...Km(),...r};return t.encodeURLtoURL?gbt(t,e,i):P5(t,i)?await F5(t,e,i):await t.encode(e,i)}function o3(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 kge(e,t,r,n){if(e=su(e),t=su(t),wr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function gbt(e,t,r){if(wr)throw new Error(`Writer ${e.name} not supported in browser`);let n=Fge("input");await new gc(n,"w").write(t);let a=Fge("output"),o=await kge(n,a,e,r);return(await ta(o)).arrayBuffer()}function Fge(e){return`/tmp/${e}`}var vbt=1/Math.PI*180,xbt=1/180*Math.PI,bbt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...bbt}};var Pr=globalThis.mathgl.config;function Tj(e,{precision:t=Pr.precision}={}){return e=ybt(e),`${parseFloat(e.toPrecision(t))}`}function To(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Sj(e){return Bge(e)}function Cj(e){return Gc(e)}function Bge(e,t){return Fj(e,r=>r*xbt,t)}function Gc(e,t){return Fj(e,r=>r*vbt,t)}function Dj(e,t,r){return Fj(e,n=>Math.max(t,Math.min(r,n)))}function $a(e,t,r){let n=Pr.EPSILON;r&&(Pr.EPSILON=r);try{if(e===t)return!0;if(To(e)&&To(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!$a(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)<=Pr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Pr.EPSILON=n}}function ybt(e){return Math.round(e/Pr.EPSILON)*Pr.EPSILON}function _bt(e){return e.clone?e.clone():new Array(e.length)}function Fj(e,t,r){if(To(e)){let n=e;r=r||_bt(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)}var kf=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:To(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Pr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Tj(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!$a(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(Pr.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function wbt(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 Ut(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Bf(e,t,r=""){if(Pr.debug&&!wbt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function oi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Of=class extends kf{get x(){return this[0]}set x(t){this[0]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(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 Ut(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Ut(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 oi(t>=0&&t<this.ELEMENTS,"index is out of range"),Ut(this[t])}setComponent(t,r){return oi(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 en=typeof Float32Array<"u"?Float32Array:Array,_y=Math.random;function Xm(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var cZt=Math.PI/180;function Ebt(){let e=new en(2);return en!=Float32Array&&(e[0]=0,e[1]=0),e}function Oge(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 Ige(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 s3(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 u3(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 lZt=function(){let e=Ebt();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 c3(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 l3(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 Pge(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 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[3]=t[3],e}function f3(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 Ad=class extends Of{constructor(t=0,r=0){super(2),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(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 Pr.debug&&(Ut(t.x),Ut(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 u3(this,this,t),this.check()}transformAsVector(t){return c3(this,this,t),this.check()}transformByMatrix3(t){return s3(this,this,t),this.check()}transformByMatrix2x3(t){return Ige(this,this,t),this.check()}transformByMatrix2(t){return Oge(this,this,t),this.check()}};var Qm={};Fi(Qm,{add:()=>Dbt,angle:()=>Pj,bezier:()=>Ubt,ceil:()=>Fbt,clone:()=>Tbt,copy:()=>Sbt,create:()=>p3,cross:()=>Td,dist:()=>Xbt,distance:()=>Nge,div:()=>Jbt,divide:()=>qge,dot:()=>wy,equals:()=>$bt,exactEquals:()=>Vbt,floor:()=>kbt,forEach:()=>Zbt,fromValues:()=>d3,hermite:()=>Nbt,inverse:()=>Mbt,len:()=>Rj,length:()=>jge,lerp:()=>Lbt,max:()=>Obt,min:()=>Bbt,mul:()=>Kbt,multiply:()=>Lge,negate:()=>jbt,normalize:()=>kj,random:()=>Gbt,rotateX:()=>Bj,rotateY:()=>Oj,rotateZ:()=>Ij,round:()=>Ibt,scale:()=>Pbt,scaleAndAdd:()=>Rbt,set:()=>Cbt,slerp:()=>qbt,sqrDist:()=>Ybt,sqrLen:()=>Qbt,squaredDistance:()=>Uge,squaredLength:()=>Gge,str:()=>Hbt,sub:()=>Wbt,subtract:()=>Mge,transformMat3:()=>Ey,transformMat4:()=>Sd,transformQuat:()=>Ay,zero:()=>zbt});function p3(){let e=new en(3);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Tbt(e){let t=new en(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function jge(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function d3(e,t,r){let n=new en(3);return n[0]=e,n[1]=t,n[2]=r,n}function Sbt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Cbt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Dbt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Mge(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Lge(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function qge(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Fbt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function kbt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function Bbt(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 Obt(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 Ibt(e,t){return e[0]=Xm(t[0]),e[1]=Xm(t[1]),e[2]=Xm(t[2]),e}function Pbt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function Rbt(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 Nge(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 Uge(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 Gge(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function jbt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function Mbt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function kj(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 wy(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Td(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 Lbt(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 qbt(e,t,r,n){let i=Math.acos(Math.min(Math.max(wy(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 Nbt(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 Ubt(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 Gbt(e,t){t=t===void 0?1:t;let r=_y()*2*Math.PI,n=_y()*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 Ey(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 Ay(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,h=a*l-n*p,m=n*f-i*l,g=o*2;return l*=g,f*=g,p*=g,d*=2,h*=2,m*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+m,e}function Bj(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 Oj(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 Ij(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 Pj(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&&wy(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function zbt(e){return e[0]=0,e[1]=0,e[2]=0,e}function Hbt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function Vbt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function $bt(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 Wbt=Mge,Kbt=Lge,Jbt=qge,Xbt=Nge,Ybt=Uge,Rj=jge,Qbt=Gge,Zbt=function(){let e=p3();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 jj=[0,0,0],h3,Z=class extends Of{static get ZERO(){return h3||(h3=new Z(0,0,0),Object.freeze(h3)),h3}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&To(t)?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(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]=Ut(t)}angle(t){return Pj(this,t)}cross(t){return Td(this,this,t),this.check()}rotateX({radians:t,origin:r=jj}){return Bj(this,this,r,t),this.check()}rotateY({radians:t,origin:r=jj}){return Oj(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=jj}){return Ij(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Sd(this,this,t),this.check()}transformAsVector(t){return l3(this,this,t),this.check()}transformByMatrix3(t){return Ey(this,this,t),this.check()}transformByMatrix2(t){return Pge(this,this,t),this.check()}transformByQuaternion(t){return Ay(this,this,t),this.check()}};var m3,So=class extends Of{static get ZERO(){return m3||(m3=new So(0,0,0,0),Object.freeze(m3)),m3}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),To(t)&&arguments.length===1?this.copy(t):(Pr.debug&&(Ut(t),Ut(r),Ut(n),Ut(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 Pr.debug&&(Ut(t.x),Ut(t.y),Ut(t.z),Ut(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]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}transform(t){return Sd(this,this,t),this.check()}transformByMatrix3(t){return f3(this,this,t),this.check()}transformByMatrix2(t){return Rge(this,this,t),this.check()}transformByQuaternion(t){return Ay(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Zm=class extends kf{toString(){let t="[";if(Pr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=Ut(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 zge(){let e=new en(9);return en!=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 Hge(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 Vge(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,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function $ge(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 Mj(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],h=r[2],m=r[3],g=r[4],b=r[5],y=r[6],w=r[7],T=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=m*n+g*o+b*c,e[4]=m*i+g*s+b*l,e[5]=m*a+g*u+b*f,e[6]=y*n+w*o+T*c,e[7]=y*i+w*s+T*l,e[8]=y*a+w*u+T*f,e}function Wge(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 Kge(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 Lj(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 Jge(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,h=i*u,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[3]=l-b,e[6]=p+g,e[1]=l+b,e[4]=1-c-h,e[7]=d-m,e[2]=p-g,e[5]=d+m,e[8]=1-c-f,e}var qj;(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"})(qj||(qj={}));var eyt=Object.freeze([1,0,0,0,1,0,0,0,1]),rr=class extends Zm{static get IDENTITY(){return ryt()}static get ZERO(){return tyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return qj}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(eyt)}fromObject(t){return this.check()}fromQuaternion(t){return Jge(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 $ge(this)}transpose(){return Hge(this,this),this.check()}invert(){return Vge(this,this),this.check()}multiplyLeft(t){return Mj(this,t,this),this.check()}multiplyRight(t){return Mj(this,this,t),this.check()}rotate(t){return Kge(this,this,t),this.check()}scale(t){return Array.isArray(t)?Lj(this,this,t):Lj(this,this,[t,t]),this.check()}translate(t){return Wge(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=s3(r||[-0,-0],t,this);break;case 3:n=Ey(r||[-0,-0,-0],t,this);break;case 4:n=f3(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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)}},g3,v3=null;function tyt(){return g3||(g3=new rr([0,0,0,0,0,0,0,0,0]),Object.freeze(g3)),g3}function ryt(){return v3||(v3=new rr,Object.freeze(v3)),v3}var x3={};Fi(x3,{add:()=>Cyt,adjoint:()=>uyt,clone:()=>iyt,copy:()=>ayt,create:()=>nyt,decompose:()=>xyt,determinant:()=>Gj,equals:()=>Byt,exactEquals:()=>kyt,frob:()=>Syt,fromQuat:()=>Jj,fromQuat2:()=>myt,fromRotation:()=>fyt,fromRotationTranslation:()=>Qge,fromRotationTranslationScale:()=>byt,fromRotationTranslationScaleOrigin:()=>yyt,fromScaling:()=>lyt,fromTranslation:()=>cyt,fromValues:()=>oyt,fromXRotation:()=>pyt,fromYRotation:()=>dyt,fromZRotation:()=>hyt,frustum:()=>Xj,getRotation:()=>vyt,getScaling:()=>Zge,getTranslation:()=>gyt,identity:()=>Yge,invert:()=>Uj,lookAt:()=>Zj,mul:()=>Oyt,multiply:()=>Ty,multiplyScalar:()=>Dyt,multiplyScalarAndAdd:()=>Fyt,ortho:()=>Qj,orthoNO:()=>tve,orthoZO:()=>Eyt,perspective:()=>Yj,perspectiveFromFieldOfView:()=>wyt,perspectiveNO:()=>eve,perspectiveZO:()=>_yt,rotate:()=>Vj,rotateX:()=>$j,rotateY:()=>Wj,rotateZ:()=>Kj,scale:()=>Hj,set:()=>syt,str:()=>Tyt,sub:()=>Iyt,subtract:()=>rve,targetTo:()=>Ayt,translate:()=>zj,transpose:()=>Nj});function nyt(){let e=new en(16);return en!=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 iyt(e){let t=new en(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 ayt(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 oyt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m){let g=new en(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=i,g[5]=a,g[6]=o,g[7]=s,g[8]=u,g[9]=c,g[10]=l,g[11]=f,g[12]=p,g[13]=d,g[14]=h,g[15]=m,g}function syt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){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]=h,e[14]=m,e[15]=g,e}function Yge(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 Nj(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 Uj(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],h=t[12],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g,V=y*G-w*L+T*P+E*I-k*C+B*j;return V?(V=1/V,e[0]=(s*G-u*L+c*P)*V,e[1]=(i*L-n*G-a*P)*V,e[2]=(m*B-g*k+b*E)*V,e[3]=(p*k-f*B-d*E)*V,e[4]=(u*I-o*G-c*C)*V,e[5]=(r*G-i*I+a*C)*V,e[6]=(g*T-h*B-b*w)*V,e[7]=(l*B-p*T+d*w)*V,e[8]=(o*L-s*I+c*j)*V,e[9]=(n*I-r*L-a*j)*V,e[10]=(h*k-m*T+b*y)*V,e[11]=(f*T-l*k-d*y)*V,e[12]=(s*C-o*P-u*j)*V,e[13]=(r*P-n*C+i*j)*V,e[14]=(m*w-h*E-g*y)*V,e[15]=(l*E-f*w+p*y)*V,e):null}function uyt(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],h=t[12],m=t[13],g=t[14],b=t[15],y=r*s-n*o,w=r*u-i*o,T=r*c-a*o,E=n*u-i*s,k=n*c-a*s,B=i*c-a*u,j=l*m-f*h,C=l*g-p*h,I=l*b-d*h,P=f*g-p*m,L=f*b-d*m,G=p*b-d*g;return e[0]=s*G-u*L+c*P,e[1]=i*L-n*G-a*P,e[2]=m*B-g*k+b*E,e[3]=p*k-f*B-d*E,e[4]=u*I-o*G-c*C,e[5]=r*G-i*I+a*C,e[6]=g*T-h*B-b*w,e[7]=l*B-p*T+d*w,e[8]=o*L-s*I+c*j,e[9]=n*I-r*L-a*j,e[10]=h*k-m*T+b*y,e[11]=f*T-l*k-d*y,e[12]=s*C-o*P-u*j,e[13]=r*P-n*C+i*j,e[14]=m*w-h*E-g*y,e[15]=l*E-f*w+p*y,e}function Gj(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],h=e[13],m=e[14],g=e[15],b=t*o-r*a,y=t*s-n*a,w=r*s-n*o,T=c*h-l*d,E=c*m-f*d,k=l*m-f*h,B=t*k-r*E+n*T,j=a*k-o*E+s*T,C=c*w-l*y+f*b,I=d*w-h*y+m*b;return u*B-i*j+g*C-p*I}function Ty(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],h=t[11],m=t[12],g=t[13],b=t[14],y=t[15],w=r[0],T=r[1],E=r[2],k=r[3];return e[0]=w*n+T*s+E*f+k*m,e[1]=w*i+T*u+E*p+k*g,e[2]=w*a+T*c+E*d+k*b,e[3]=w*o+T*l+E*h+k*y,w=r[4],T=r[5],E=r[6],k=r[7],e[4]=w*n+T*s+E*f+k*m,e[5]=w*i+T*u+E*p+k*g,e[6]=w*a+T*c+E*d+k*b,e[7]=w*o+T*l+E*h+k*y,w=r[8],T=r[9],E=r[10],k=r[11],e[8]=w*n+T*s+E*f+k*m,e[9]=w*i+T*u+E*p+k*g,e[10]=w*a+T*c+E*d+k*b,e[11]=w*o+T*l+E*h+k*y,w=r[12],T=r[13],E=r[14],k=r[15],e[12]=w*n+T*s+E*f+k*m,e[13]=w*i+T*u+E*p+k*g,e[14]=w*a+T*c+E*d+k*b,e[15]=w*o+T*l+E*h+k*y,e}function zj(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,m,g,b;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],h=t[8],m=t[9],g=t[10],b=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]=h,e[9]=m,e[10]=g,e[11]=b,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+m*a+t[13],e[14]=u*n+p*i+g*a+t[14],e[15]=c*n+d*i+b*a+t[15]),e}function Hj(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 Vj(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,h,m,g,b,y,w,T,E,k,B,j,C,I,P,L,G,V,X;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],h=t[3],m=t[4],g=t[5],b=t[6],y=t[7],w=t[8],T=t[9],E=t[10],k=t[11],B=i*i*l+u,j=a*i*l+o*c,C=o*i*l-a*c,I=i*a*l-o*c,P=a*a*l+u,L=o*a*l+i*c,G=i*o*l+a*c,V=a*o*l-i*c,X=o*o*l+u,e[0]=f*B+m*j+w*C,e[1]=p*B+g*j+T*C,e[2]=d*B+b*j+E*C,e[3]=h*B+y*j+k*C,e[4]=f*I+m*P+w*L,e[5]=p*I+g*P+T*L,e[6]=d*I+b*P+E*L,e[7]=h*I+y*P+k*L,e[8]=f*G+m*V+w*X,e[9]=p*G+g*V+T*X,e[10]=d*G+b*V+E*X,e[11]=h*G+y*V+k*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function $j(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 Wj(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 Kj(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 cyt(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 lyt(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 fyt(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 pyt(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 dyt(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 hyt(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 Qge(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,h=i*c,m=a*c,g=o*s,b=o*u,y=o*c;return e[0]=1-(d+m),e[1]=f+y,e[2]=p-b,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=p+b,e[9]=h-g,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 myt(e,t){let r=new en(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),Qge(e,t,r),e}function gyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Zge(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 vyt(e,t){let r=new en(3);Zge(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,h=t[10]*a,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-d)/g,e[1]=(p-u)/g,e[2]=(s-c)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/g,e[0]=.25*g,e[1]=(s+c)/g,e[2]=(p+u)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/g,e[0]=(s+c)/g,e[1]=.25*g,e[2]=(f+d)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/g,e[0]=(p+u)/g,e[1]=(f+d)/g,e[2]=.25*g),e}function xyt(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],h=1/r[1],m=1/r[2],g=i*d,b=a*h,y=o*m,w=s*d,T=u*h,E=c*m,k=l*d,B=f*h,j=p*m,C=g+T+j,I=0;return C>0?(I=Math.sqrt(C+1)*2,e[3]=.25*I,e[0]=(E-B)/I,e[1]=(k-y)/I,e[2]=(b-w)/I):g>T&&g>j?(I=Math.sqrt(1+g-T-j)*2,e[3]=(E-B)/I,e[0]=.25*I,e[1]=(b+w)/I,e[2]=(k+y)/I):T>j?(I=Math.sqrt(1+T-g-j)*2,e[3]=(k-y)/I,e[0]=(b+w)/I,e[1]=.25*I,e[2]=(E+B)/I):(I=Math.sqrt(1+j-g-T)*2,e[3]=(b-w)/I,e[0]=(k+y)/I,e[1]=(E+B)/I,e[2]=.25*I),e}function byt(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,h=a*c,m=a*l,g=o*l,b=s*u,y=s*c,w=s*l,T=n[0],E=n[1],k=n[2];return e[0]=(1-(h+g))*T,e[1]=(p+w)*T,e[2]=(d-y)*T,e[3]=0,e[4]=(p-w)*E,e[5]=(1-(f+g))*E,e[6]=(m+b)*E,e[7]=0,e[8]=(d+y)*k,e[9]=(m-b)*k,e[10]=(1-(f+h))*k,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function yyt(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,h=a*f,m=o*l,g=o*f,b=s*f,y=u*c,w=u*l,T=u*f,E=n[0],k=n[1],B=n[2],j=i[0],C=i[1],I=i[2],P=(1-(m+b))*E,L=(d+T)*E,G=(h-w)*E,V=(d-T)*k,X=(1-(p+b))*k,Y=(g+y)*k,he=(h+w)*B,le=(g-y)*B,me=(1-(p+m))*B;return e[0]=P,e[1]=L,e[2]=G,e[3]=0,e[4]=V,e[5]=X,e[6]=Y,e[7]=0,e[8]=he,e[9]=le,e[10]=me,e[11]=0,e[12]=r[0]+j-(P*j+V*C+he*I),e[13]=r[1]+C-(L*j+X*C+le*I),e[14]=r[2]+I-(G*j+Y*C+me*I),e[15]=1,e}function Jj(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,h=i*u,m=a*o,g=a*s,b=a*u;return e[0]=1-f-h,e[1]=l+b,e[2]=p-g,e[3]=0,e[4]=l-b,e[5]=1-c-h,e[6]=d+m,e[7]=0,e[8]=p+g,e[9]=d-m,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Xj(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 eve(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 Yj=eve;function _yt(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 wyt(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 tve(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 Qj=tve;function Eyt(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 Zj(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],m=t[1],g=t[2],b=n[0],y=n[1],w=n[2],T=r[0],E=r[1],k=r[2];return Math.abs(h-T)<1e-6&&Math.abs(m-E)<1e-6&&Math.abs(g-k)<1e-6?Yge(e):(f=h-T,p=m-E,d=g-k,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=y*d-w*p,o=w*f-b*d,s=b*p-y*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*h+o*m+s*g),e[13]=-(u*h+c*m+l*g),e[14]=-(f*h+p*m+d*g),e[15]=1,e)}function Ayt(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 h=u*p-c*f,m=c*l-s*p,g=s*f-u*l;return d=h*h+m*m+g*g,d>0&&(d=1/Math.sqrt(d),h*=d,m*=d,g*=d),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-p*m,e[5]=p*h-l*g,e[6]=l*m-f*h,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 Tyt(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function Syt(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 Cyt(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 rve(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 Dyt(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 Fyt(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 kyt(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 Byt(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],h=e[12],m=e[13],g=e[14],b=e[15],y=t[0],w=t[1],T=t[2],E=t[3],k=t[4],B=t[5],j=t[6],C=t[7],I=t[8],P=t[9],L=t[10],G=t[11],V=t[12],X=t[13],Y=t[14],he=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-w)<=1e-6*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(a-E)<=1e-6*Math.max(1,Math.abs(a),Math.abs(E))&&Math.abs(o-k)<=1e-6*Math.max(1,Math.abs(o),Math.abs(k))&&Math.abs(s-B)<=1e-6*Math.max(1,Math.abs(s),Math.abs(B))&&Math.abs(u-j)<=1e-6*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-C)<=1e-6*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(l-I)<=1e-6*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(p-L)<=1e-6*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-V)<=1e-6*Math.max(1,Math.abs(h),Math.abs(V))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(g-Y)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Y))&&Math.abs(b-he)<=1e-6*Math.max(1,Math.abs(b),Math.abs(he))}var Oyt=Ty,Iyt=rve;function Pyt(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function nve(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 ive(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 ave(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 ove(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function sve(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 uve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function cve(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 lve(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 fve(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 UZt=function(){let e=Pyt();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 rM;(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"})(rM||(rM={}));var Ryt=45*Math.PI/180,jyt=1,eM=.1,tM=500,Myt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),mr=class extends Zm{static get IDENTITY(){return qyt()}static get ZERO(){return Lyt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return rM}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,h,m,g){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]=h,this[14]=m,this[15]=g,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,m,g){return this[0]=t,this[1]=a,this[2]=c,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=m,this[12]=i,this[13]=u,this[14]=p,this[15]=g,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(Myt)}fromObject(t){return this.check()}fromQuaternion(t){return Jj(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=eM,far:s=tM}=t;return s===1/0?Nyt(this,r,n,i,a,o):Xj(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 Zj(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=eM,far:s=tM}=t;return Qj(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=Ryt,aspect:n=jyt,focalDistance:i=1,near:a=eM,far:o=tM}=t;dve(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 dve(r),Yj(this,r,n,i,a),this.check()}determinant(){return Gj(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 Nj(this,this),this.check()}invert(){return Uj(this,this),this.check()}multiplyLeft(t){return Ty(this,t,this),this.check()}multiplyRight(t){return Ty(this,this,t),this.check()}rotateX(t){return $j(this,this,t),this.check()}rotateY(t){return Wj(this,this,t),this.check()}rotateZ(t){return Kj(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Vj(this,this,t,r),this.check()}scale(t){return Hj(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return zj(this,this,t),this.check()}transform(t,r){return t.length===4?(r=lve(r||[-0,-0,-0,-0],t,this),Bf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=u3(r||[-0,-0],t,this);break;case 3:i=Sd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=c3(r||[-0,-0],t,this);break;case 3:n=l3(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Bf(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])}},b3,y3;function Lyt(){return b3||(b3=new mr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(b3)),b3}function qyt(){return y3||(y3=new mr,Object.freeze(y3)),y3}function dve(e){if(e>Math.PI*2)throw Error("expected radians")}function Nyt(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 hve(){let e=new en(4);return en!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function mve(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function nM(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 iM(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 gve(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 vve(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 xve(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 bve(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 Sy(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,h,m,g;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),g=Math.sin(d),h=Math.sin((1-n)*d)/g,m=Math.sin(n*d)/g):(h=1-n,m=n),e[0]=h*i+m*u,e[1]=h*a+m*c,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function yve(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 _ve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function aM(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 wve=nve;var Eve=ive,Ave=uve,Tve=cve,Sve=ave;var Cve=ove;var Dve=sve;var Fve=function(){let e=p3(),t=d3(1,0,0),r=d3(0,1,0);return function(n,i,a){let o=wy(i,a);return o<-.999999?(Td(e,t,i),Rj(e)<1e-6&&Td(e,r,i),kj(e,e),nM(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Td(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Dve(n,n))}}(),ter=function(){let e=hve(),t=hve();return function(r,n,i,a,o,s){return Sy(e,n,o,s),Sy(t,i,a,s),Sy(r,e,t,2*s*(1-s)),r}}(),rer=function(){let e=zge();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],Dve(t,aM(t,e))}}();var Gyt=[0,0,0,1],Co=class extends kf{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 aM(this,t),this.check()}fromAxisRotation(t,r){return nM(this,t,r),this.check()}identity(){return mve(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]=Ut(t)}get y(){return this[1]}set y(t){this[1]=Ut(t)}get z(){return this[2]}set z(t){this[2]=Ut(t)}get w(){return this[3]}set w(t){this[3]=Ut(t)}len(){return Sve(this)}lengthSquared(){return Cve(this)}dot(t){return Ave(this,t)}rotationTo(t,r){return Fve(this,t,r),this.check()}add(t){return wve(this,this,t),this.check()}calculateW(){return bve(this,this),this.check()}conjugate(){return _ve(this,this),this.check()}invert(){return yve(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(Tve(this,t,r,n),this.check())}multiplyRight(t){return iM(this,this,t),this.check()}multiplyLeft(t){return iM(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 gve(this,this,t),this.check()}rotateY(t){return vve(this,this,t),this.check()}rotateZ(t){return xve(this,this,t),this.check()}scale(t){return Eve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=Gyt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return Sy(this,i,a,o),this.check()}transformVector4(t,r=new So){return fve(r,t,this),Bf(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 vs={};Fi(vs,{EPSILON1:()=>zyt,EPSILON10:()=>Qyt,EPSILON11:()=>Zyt,EPSILON12:()=>e1t,EPSILON13:()=>t1t,EPSILON14:()=>r1t,EPSILON15:()=>n1t,EPSILON16:()=>i1t,EPSILON17:()=>a1t,EPSILON18:()=>o1t,EPSILON19:()=>s1t,EPSILON2:()=>Hyt,EPSILON20:()=>u1t,EPSILON3:()=>Vyt,EPSILON4:()=>$yt,EPSILON5:()=>Wyt,EPSILON6:()=>Kyt,EPSILON7:()=>Jyt,EPSILON8:()=>Xyt,EPSILON9:()=>Yyt,PI_OVER_FOUR:()=>l1t,PI_OVER_SIX:()=>f1t,PI_OVER_TWO:()=>c1t,TWO_PI:()=>p1t});var zyt=.1,Hyt=.01,Vyt=.001,$yt=1e-4,Wyt=1e-5,Kyt=1e-6,Jyt=1e-7,Xyt=1e-8,Yyt=1e-9,Qyt=1e-10,Zyt=1e-11,e1t=1e-12,t1t=1e-13,r1t=1e-14,n1t=1e-15,i1t=1e-16,a1t=1e-17,o1t=1e-18,s1t=1e-19,u1t=1e-20,c1t=Math.PI/2,l1t=Math.PI/4,f1t=Math.PI/6,p1t=Math.PI*2;var zc=6356752314245179e-9,d1t={radii:[6378137,6378137,zc],radiiSquared:[6378137*6378137,6378137*6378137,zc*zc],oneOverRadii:[1/6378137,1/6378137,1/zc],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(zc*zc)],maximumRadius:Math.max(6378137,6378137,zc),centerToleranceSquared:.1};function _3(e){return e}var Oer=new Z;function h1t(e,t=[],r=_3){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 kve(e,t=[]){return h1t(e,t,Pr._cartographicRadians?_3:Sj)}function m1t(e,t,r=_3){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 Bve(e,t){return m1t(e,t,Pr._cartographicRadians?_3:Cj)}var Ove=1e-14,g1t=new Z,Ive={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"}},oM={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Cy={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},v1t=new Z,x1t=new Z,b1t=new Z;function sM(e,t,r,n,i,a){let o=Ive[t]&&Ive[t][r];oi(o&&(!n||n===o));let s,u,c,l=g1t.copy(i);if($a(l.x,0,Ove)&&$a(l.y,0,Ove)){let p=Math.sign(l.z);s=v1t.fromArray(oM[t]),t!=="east"&&t!=="west"&&s.scale(p),u=x1t.fromArray(oM[r]),r!=="east"&&r!=="west"&&u.scale(p),c=b1t.fromArray(oM[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Cy;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:m,west:g,south:b}=Cy;m.copy(p).scale(-1),g.copy(d).scale(-1),b.copy(h).scale(-1),s=Cy[t],u=Cy[r],c=Cy[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 eg=new Z,y1t=new Z,_1t=new Z;function Pve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;eg.from(e);let o=eg.x,s=eg.y,u=eg.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,m=p+d+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let b=y1t;if(b.copy(e).scale(g),m<a)return b.to(r);let y=i.x,w=i.y,T=i.z,E=_1t;E.set(b.x*y*2,b.y*w*2,b.z*T*2);let k=(1-g)*eg.len()/(.5*E.len()),B=0,j,C,I,P;do{k-=B,j=1/(1+k*y),C=1/(1+k*w),I=1/(1+k*T);let L=j*j,G=C*C,V=I*I,X=L*j,Y=G*C,he=V*I;P=p*L+d*G+h*V-1;let me=-2*(p*X*y+d*Y*w+h*he*T);B=P/me}while(Math.abs(P)>vs.EPSILON12);return eg.scale([j,C,I]).to(r)}var w3=new Z,Rve=new Z,A1t=new Z,xs=new Z,T1t=new Z,E3=new Z,Bt=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=vs.EPSILON1,oi(t>=0),oi(r>=0),oi(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(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=Rve,i=A1t,[,,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]){E3.from(t);let n=this.scaleToGeodeticSurface(E3,xs);if(!n)return;let i=this.geodeticSurfaceNormal(n,Rve),a=T1t;a.copy(E3).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Qm.dot(a,E3))*Qm.length(a);return Bve([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new mr){return sM(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new mr){return sM(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return w3.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=kve(t),i=n[0],a=n[1],o=Math.cos(a);return w3.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),w3.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return w3.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Pve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){xs.from(t);let n=xs.x,i=xs.y,a=xs.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return xs.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return xs.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){oi($a(this.radii.x,this.radii.y,vs.EPSILON15)),oi(this.radii.z>0),xs.from(t);let i=xs.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return xs.set(0,0,i).to(n)}};Bt.WGS84=new Bt(6378137,6378137,zc);var si={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Yer=new Z,Qer=new Z;var Dy=new Z,jve=new Z,ra=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Dy.from(r),this.center=new Z().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 ra(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=Dy.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 jve.copy(o).scale((-n+u)/s).add(r),this.center.copy(jve),this.radius=u,this}expand(t){let n=Dy.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=x3.getScaling(Dy,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=Dy.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?si.OUTSIDE:a<n?si.INTERSECTING:si.INSIDE}};var S1t=new Z,C1t=new Z,A3=new Z,T3=new Z,S3=new Z,D1t=new Z,F1t=new Z,Hc={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},ui=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new rr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Z(t).normalize(),a=new Z(r).normalize(),o=new Z(n).normalize();return new Co().fromMatrix3(new rr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Co(n),a=new rr().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 Z().from(t),this.halfAxes=a,this}clone(){return new ui(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ra){let r=this.halfAxes,n=r.getColumn(0,A3),i=r.getColumn(1,T3),a=r.getColumn(2,S3),o=S1t.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[Hc.COLUMN0ROW0]+o*i[Hc.COLUMN0ROW1]+s*i[Hc.COLUMN0ROW2])+Math.abs(a*i[Hc.COLUMN1ROW0]+o*i[Hc.COLUMN1ROW1]+s*i[Hc.COLUMN1ROW2])+Math.abs(a*i[Hc.COLUMN2ROW0]+o*i[Hc.COLUMN2ROW1]+s*i[Hc.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?si.OUTSIDE:c>=u?si.INSIDE:si.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=C1t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,A3),a=n.getColumn(1,T3),o=n.getColumn(2,S3),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,A3),c=s.getColumn(1,T3),l=s.getColumn(2,S3),f=D1t.copy(u).add(c).add(l).add(o),p=F1t.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,A3);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,T3);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,S3);return i.transformAsPoint(t),this.halfAxes=new rr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Mve=new Z,Lve=new Z,Vc=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return oi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Mve.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),oi($a(this.normal.len(),1)),this.distance=i,this}clone(){return new Vc(this.normal,this.distance)}equals(t){return $a(this.distance,t.distance)&&$a(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Lve.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=Mve.from(t),i=this.getPointDistance(n),a=Lve.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var qve=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],Nve=new Z,k1t=new Z,Do=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*qve.length;let r=t.center,n=t.radius,i=0;for(let a of qve){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new Vc),s||(s=this.planes[i+1]=new Vc);let u=Nve.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=Nve.copy(a).scale(n).add(r),l=k1t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=si.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case si.OUTSIDE:return si.OUTSIDE;case si.INTERSECTING:r=si.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(oi(Number.isFinite(r),"parentPlaneMask is required."),r===Do.MASK_OUTSIDE||r===Do.MASK_INSIDE)return r;let n=Do.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===si.OUTSIDE)return Do.MASK_OUTSIDE;u===si.INTERSECTING&&(n|=o)}return n}};Do.MASK_OUTSIDE=4294967295;Do.MASK_INSIDE=0;Do.MASK_INDETERMINATE=2147483647;var gtr=new Z,vtr=new Z,xtr=new Z,btr=new Z,ytr=new Z;var O1t=new Z,I1t=new Z,P1t=new Z,R1t=new Z,j1t=new Z,M1t=new Z,L1t=new Z,tg=new Z,q1t=new Z,N1t=new Z,U1t=new Z,G1t=new Z;function uM(e,t=new ra){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=L1t.copy(e[0]),n=O1t.copy(r),i=I1t.copy(r),a=P1t.copy(r),o=R1t.copy(r),s=j1t.copy(r),u=M1t.copy(r);for(let k of e){r.copy(k);let B=r.x,j=r.y,C=r.z;B<n.x&&n.copy(r),B>o.x&&o.copy(r),j<i.y&&i.copy(r),j>s.y&&s.copy(r),C<a.z&&a.copy(r),C>u.z&&u.copy(r)}let c=tg.copy(o).subtract(n).magnitudeSquared(),l=tg.copy(s).subtract(i).magnitudeSquared(),f=tg.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,h=c;l>h&&(h=l,p=i,d=s),f>h&&(h=f,p=a,d=u);let m=q1t;m.x=(p.x+d.x)*.5,m.y=(p.y+d.y)*.5,m.z=(p.z+d.z)*.5;let g=tg.copy(d).subtract(m).magnitudeSquared(),b=Math.sqrt(g),y=N1t;y.x=n.x,y.y=i.y,y.z=a.z;let w=U1t;w.x=o.x,w.y=s.y,w.z=u.z;let T=G1t.copy(y).add(w).multiplyByScalar(.5),E=0;for(let k of e){r.copy(k);let B=tg.copy(r).subtract(T).magnitude();B>E&&(E=B);let j=tg.copy(r).subtract(m).magnitudeSquared();if(j>g){let C=Math.sqrt(j);b=(b+C)*.5,g=b*b;let I=C-b;m.x=(b*m.x+I*r.x)/C,m.y=(b*m.y+I*r.y)/C,m.z=(b*m.z+I*r.z)/C}}return b<E?(m.to(t.center),t.radius=b):(T.to(t.center),t.radius=E),t}var ku=new rr,z1t=new rr,H1t=new rr,C3=new rr,Uve=new rr;function fM(e,t={}){let r=vs.EPSILON20,n=10,i=0,a=0,o=z1t,s=H1t;o.identity(),s.copy(e);let u=r*V1t(s);for(;a<n&&$1t(s)>u;)W1t(s,C3),Uve.copy(C3).transpose(),s.multiplyRight(C3),s.multiplyLeft(Uve),o.multiplyRight(C3),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function V1t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var cM=[1,0,0],lM=[2,2,1];function $1t(e){let t=0;for(let r=0;r<3;++r){let n=e[ku.getElementIndex(lM[r],cM[r])];t+=2*n*n}return Math.sqrt(t)}function W1t(e,t){let r=vs.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[ku.getElementIndex(lM[c],cM[c])]);l>n&&(i=c,n=l)}let a=cM[i],o=lM[i],s=1,u=0;if(Math.abs(e[ku.getElementIndex(o,a)])>r){let c=e[ku.getElementIndex(o,o)],l=e[ku.getElementIndex(a,a)],f=e[ku.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 rr.IDENTITY.to(t),t[ku.getElementIndex(a,a)]=t[ku.getElementIndex(o,o)]=s,t[ku.getElementIndex(o,a)]=u,t[ku.getElementIndex(a,o)]=-u,t}var If=new Z,J1t=new Z,X1t=new Z,Y1t=new Z,Q1t=new Z,Z1t=new rr,e_t={diagonal:new rr,unitary:new rr};function Fy(e,t=new ui){if(!e||e.length===0)return t.halfAxes=new rr([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(0,0,0);for(let C of e)n.add(C);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let C of e){let I=If.copy(C).subtract(n);a+=I.x*I.x,o+=I.x*I.y,s+=I.x*I.z,u+=I.y*I.y,c+=I.y*I.z,l+=I.z*I.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=Z1t;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}=fM(f,e_t),d=t.halfAxes.copy(p),h=d.getColumn(0,X1t),m=d.getColumn(1,Y1t),g=d.getColumn(2,Q1t),b=-Number.MAX_VALUE,y=-Number.MAX_VALUE,w=-Number.MAX_VALUE,T=Number.MAX_VALUE,E=Number.MAX_VALUE,k=Number.MAX_VALUE;for(let C of e)If.copy(C),b=Math.max(If.dot(h),b),y=Math.max(If.dot(m),y),w=Math.max(If.dot(g),w),T=Math.min(If.dot(h),T),E=Math.min(If.dot(m),E),k=Math.min(If.dot(g),k);h=h.multiplyByScalar(.5*(T+b)),m=m.multiplyByScalar(.5*(E+y)),g=g.multiplyByScalar(.5*(k+w)),t.center.copy(h).add(m).add(g);let B=J1t.set(b-T,y-E,w-k).multiplyByScalar(.5),j=new rr([B[0],0,0,0,B[1],0,0,0,B[2]]);return t.halfAxes.multiplyRight(j),t}function Vve(e){return e!=null}var Qtr=new Z,t_t=new Z,r_t=new Z,n_t=new Z,Cd=new Z,Gve=new Z,zve=new Z,Hve=new Z;function ky(e,t,r){if(_t(e,"3D Tile: boundingVolume must be defined"),e.box)return $ve(e.box,t,r);if(e.region)return a_t(e.region);if(e.sphere)return i_t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function $ve(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Co;l.fromArray(e,6);let f=new Z([1,0,0]),p=new Z([0,1,0]),d=new Z([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 rr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Vve(r)?(r.center=n,r.halfAxes=u,r):new ui(n,u)}function i_t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(t_t),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Vve(r)?(r.center=n,r.radius=o,r):new ra(n,o)}function a_t(e){let[t,r,n,i,a,o]=e,s=Bt.WGS84.cartographicToCartesian([Gc(t),Gc(i),a],r_t),u=Bt.WGS84.cartographicToCartesian([Gc(n),Gc(r),o],n_t),c=new Z().addVectors(s,u).multiplyByScalar(.5);return Bt.WGS84.cartesianToCartographic(c,Cd),Bt.WGS84.cartographicToCartesian([Gc(n),Cd[1],Cd[2]],Gve),Bt.WGS84.cartographicToCartesian([Cd[0],Gc(i),Cd[2]],zve),Bt.WGS84.cartographicToCartesian([Cd[0],Cd[1],o],Hve),$ve([...c,...Gve.subtract(c),...zve.subtract(c),...Hve.subtract(c)],new mr)}var rg="4.3.1";var ci={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},nrr=Object.keys(ci),Pf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function pM(e,t,r){_t(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Wve(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 D3="4.3.1";var Kve={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:D3,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 Xve(e,t,r){let n=Yve(t.metadata),i=[],a=o_t(t.attributes);for(let o in e){let s=e[o],u=Jve(o,s,a[o]);i.push(u)}if(r){let o=Jve("indices",r);i.push(o)}return{fields:i,metadata:n}}function o_t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Jve(e,t,r){let n=r?Yve(r.metadata):void 0;return Aj(e,t,n)}function Yve(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Qve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},s_t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},u_t=4,By=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=Ej(u.attributes),l=Xve(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 s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*u_t,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),f_t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=s_t[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=c_t(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 Qve)if(this.draco[o]===i)return Qve[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=l_t(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 c_t(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 l_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function f_t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var p_t="1.5.6",d_t="1.4.1",dM=`https://www.gstatic.com/draco/versioned/decoders/${p_t}`,vn={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rf={[vn.DECODER]:`${dM}/${vn.DECODER}`,[vn.DECODER_WASM]:`${dM}/${vn.DECODER_WASM}`,[vn.FALLBACK_DECODER]:`${dM}/${vn.FALLBACK_DECODER}`,[vn.ENCODER]:`https://raw.githubusercontent.com/google/draco/${d_t}/javascript/${vn.ENCODER}`},hM;async function Zve(e){let t=e.modules||{};return t.draco3d?hM||(hM=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):hM||(hM=h_t(e)),await hM}async function h_t(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await au(Rf[vn.FALLBACK_DECODER],"draco",e,vn.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await au(Rf[vn.DECODER],"draco",e,vn.DECODER),await au(Rf[vn.DECODER_WASM],"draco",e,vn.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await m_t(t,r)}function m_t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var mM={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:D3,worker:!0,options:{draco:{},source:null}};var ng={...Kve,parse:g_t};async function g_t(e,t){let{draco:r}=await Zve(t),n=new By(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var v_t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Tn={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},mt={...v_t,...Tn};var gM={[Tn.DOUBLE]:Float64Array,[Tn.FLOAT]:Float32Array,[Tn.UNSIGNED_SHORT]:Uint16Array,[Tn.UNSIGNED_INT]:Uint32Array,[Tn.UNSIGNED_BYTE]:Uint8Array,[Tn.BYTE]:Int8Array,[Tn.SHORT]:Int16Array,[Tn.INT]:Int32Array},x_t={DOUBLE:Tn.DOUBLE,FLOAT:Tn.FLOAT,UNSIGNED_SHORT:Tn.UNSIGNED_SHORT,UNSIGNED_INT:Tn.UNSIGNED_INT,UNSIGNED_BYTE:Tn.UNSIGNED_BYTE,BYTE:Tn.BYTE,SHORT:Tn.SHORT,INT:Tn.INT},vM="Failed to convert GL type",Ui=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in gM)if(gM[r]===t)return r;throw new Error(vM)}static fromName(t){let r=x_t[t];if(!r)throw new Error(vM);return r}static getArrayType(t){switch(t){case Tn.UNSIGNED_SHORT_5_6_5:case Tn.UNSIGNED_SHORT_4_4_4_4:case Tn.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=gM[t];if(!r)throw new Error(vM);return r}}static getByteSize(t){return Ui.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Ui.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Ui.getByteSize(t));let a=Ui.getArrayType(t);return new a(r,n,i)}};function exe(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function xM(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 Irr=1/256;var Prr=new Ad,Rrr=new Z,jrr=new Ad,Mrr=new Ad,Lrr=new Uint8Array(1);function txe(e,t=255){return Dj(e,0,t)/t*2-1}function rxe(e){return e<0?-1:1}function nxe(e,t,r,n){if(exe(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=txe(e,r),n.y=txe(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))*rxe(i),n.y=(1-Math.abs(i))*rxe(n.y)}return n.normalize()}function bM(e,t,r){return nxe(e,t,255,r)}function F3(e){return(e%1+1)%1}var $c=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=mt.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=Ui.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=Ui.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=Ui.createTypedArray(r,n),i[t]=a),a}};var b_t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},y_t={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]]},__t={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 ixe(e,t,r,n){let{componentType:i}=e;_t(e.componentType);let a=typeof i=="string"?Ui.fromName(i):i,o=b_t[e.type],s=y_t[e.type],u=__t[e.type];return r+=e.byteOffset,{values:Ui.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Bu=e=>e!==void 0;function axe(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?w_t(n,r):null}function w_t(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Bu(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(Bu(u))for(Bu(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];Bu(c)&&Bu(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 g=o[r].length,b=o[r].instances,y=getBinaryProperties(g,b,t);o[r].instances=combine(y,b)}let d=new Array(p).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=d[n],++d[n];let m={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return T_t(m),m}function ig(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?E_t(e,t,r):A_t(e,t,r)}function E_t(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(Bu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let m=a[d+h];m!==t&&l.push(m)}}return null}function A_t(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Bu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function T_t(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)oxe(e,i,stack)}function oxe(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Bu(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=Bu(n)?n[t]:1,c=Bu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&oxe(e,f,r)}r.pop(t)}function Ta(e){return e!=null}var k3=(e,t)=>e,S_t={HIERARCHY:!0,extensions:!0,extras:!0},Dd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;_t(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)S_t[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=axe(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),_t(typeof r=="string",r),this._hierarchy){let n=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Ta(n)}return!1}isExactClass(t,r){return _t(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),_t(typeof r=="string",r),Ta(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Ta(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),_t(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Ta(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Ta(n))return k3(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Ta(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),_t(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];Ta(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=k3(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;_t(this.binary,`Property ${t} requires a batch table binary.`),_t(n.type,`Property ${t} requires a type.`);let i=ixe(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=ig(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Ta(s[r])});return Ta(n)}_getPropertyNamesInHierarchy(t,r){ig(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 ig(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Ta(u)?Ta(u.typedArray)?this._getBinaryProperty(u,s):k3(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=ig(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Ta(f)?(_t(s===r,`Inherited property "${n}" is read-only.`),Ta(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=k3(i,!0),!0):!1});return Ta(a)}};var yM=4;function jf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=yM,e.version=n.getUint32(r,!0),r+=yM,e.byteLength=n.getUint32(r,!0),r+=yM,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var ag=4,sxe="b3dm tile in legacy format.";function og(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=ag;let o=n.getUint32(r,!0);r+=ag;let s=n.getUint32(r,!0);r+=ag;let u=n.getUint32(r,!0);return r+=ag,s>=570425344?(r-=ag*2,i=a,s=o,u=0,a=0,o=0,console.warn(sxe)):u>=570425344&&(r-=ag,i=s,s=a,u=o,a=0,o=0,console.warn(sxe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function sg(e,t,r,n){return r=C_t(e,t,r,n),r=D_t(e,t,r,n),r}function C_t(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=pM(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function D_t(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=pM(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 _M(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:mt.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=xM(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:mt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:mt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:mt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var uxe=new Z;function cxe(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++)bM(t[n*2],t[n*2+1],uxe),uxe.toArray(r,n*3);return{type:mt.FLOAT,size:2,value:r}}return{type:mt.FLOAT,size:2,value:t}}function lxe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,F_t(e,t)):{type:mt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function F_t(e,t){let r=new Z,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 fxe(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),k_t(e);let{featureTable:a,batchTable:o}=B_t(e);return await j_t(e,a,o,n,i),O_t(e,a,n),I_t(e,a,o),P_t(e,a),r}function k_t(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function B_t(e){let t=new $c(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",mt.FLOAT,3);let n=R_t(e,t);return{featureTable:t,batchTable:n}}function O_t(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",mt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=lxe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function I_t(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",mt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",mt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",mt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=_M(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",mt.UNSIGNED_BYTE,4))}function P_t(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",mt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",mt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=cxe(e,r)}}function R_t(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",mt.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 Dd(i,a,n)}return r}async function j_t(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 M_t(e,l,n,i)}async function M_t(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 Na(t.buffer,ng,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,h=d.range;e.quantizedVolumeScale=new Z(h,h,h),e.quantizedVolumeOffset=new Z(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:_M(e,s,void 0),normals:u,batchIds:c,...p}}var z3={};Fi(z3,{createExtMeshFeatures:()=>G3,decode:()=>w2t,encode:()=>E2t,name:()=>U3});var B3="4.3.1";var pxe,L_t=(pxe=globalThis.loaders)==null?void 0:pxe.parseImageNode,wM=typeof Image<"u",EM=typeof ImageBitmap<"u",q_t=Boolean(L_t),AM=wr?!0:q_t;function dxe(e){switch(e){case"auto":return EM||wM||AM;case"imagebitmap":return EM;case"image":return wM;case"data":return AM;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function hxe(){if(EM)return"imagebitmap";if(wM)return"image";if(AM)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function mxe(e){let t=N_t(e);if(!t)throw new Error("Not an image");return t}function TM(e){return ug(e)}function ug(e){switch(mxe(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 N_t(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 U_t=/^data:image\/svg\+xml/,G_t=/\.svg((\?|#).*)?$/;function O3(e){return e&&(U_t.test(e)||G_t.test(e))}function gxe(e,t){if(O3(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 SM(e,t)}function SM(e,t){if(O3(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function I3(e,t,r){let n=gxe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await z_t(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function z_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 H_t={},vxe=!0;async function xxe(e,t,r){let n;O3(r)?n=await I3(e,t,r):n=SM(e,r);let i=t&&t.imagebitmap;return await V_t(n,i)}async function V_t(e,t=null){if(($_t(t)||!vxe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),vxe=!1}return await createImageBitmap(e)}function $_t(e){for(let t in e||H_t)return!1;return!0}function bxe(e){return!X_t(e,"ftyp",4)||!(e[8]&96)?null:W_t(e)}function W_t(e){switch(K_t(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function K_t(e,t,r){return String.fromCharCode(...e.slice(t,r))}function J_t(e){return[...e].map(t=>t.charCodeAt(0))}function X_t(e,t,r=0){let n=J_t(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Ou=!1,Oy=!0;function Fd(e){let t=Iy(e);return Q_t(t)||t2t(t)||Z_t(t)||e2t(t)||Y_t(t)}function Y_t(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=bxe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function Q_t(e){let t=Iy(e);return t.byteLength>=24&&t.getUint32(0,Ou)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Ou),height:t.getUint32(20,Ou)}:null}function Z_t(e){let t=Iy(e);return t.byteLength>=10&&t.getUint32(0,Ou)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Oy),height:t.getUint16(8,Oy)}:null}function e2t(e){let t=Iy(e);return t.byteLength>=14&&t.getUint16(0,Ou)===16973&&t.getUint32(2,Oy)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Oy),height:t.getUint32(22,Oy)}:null}function t2t(e){let t=Iy(e);if(!(t.byteLength>=3&&t.getUint16(0,Ou)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=r2t(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Ou);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Ou),width:t.getUint16(a+7,Ou)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Ou)}return null}function r2t(){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 Iy(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 yxe(e,t){var i;let{mimeType:r}=Fd(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return _t(n),await n(e,r)}async function _xe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=n2t(i),s;switch(o){case"imagebitmap":s=await xxe(e,t,a);break;case"image":s=await I3(e,t,a);break;case"data":s=await yxe(e,t);break;default:_t(!1)}return i==="data"&&(s=ug(s)),s}function n2t(e){switch(e){case"auto":case"data":return hxe();default:return dxe(e),e}}var i2t=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],a2t=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],o2t={image:{type:"auto",decode:!0}},cg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:B3,mimeTypes:a2t,extensions:i2t,parse:_xe,tests:[e=>Boolean(Fd(new DataView(e)))],options:o2t};var Axe,wxe=(Axe=globalThis.loaders)==null?void 0:Axe.encodeImageNode;async function Txe(e,t){return t=t||{},t.image=t.image||{},wxe?wxe(e,{type:t.image.mimeType}):s2t(e,t)}var Exe=!0;async function s2t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=TM(e),o=document.createElement("canvas");o.width=i,o.height=a,u2t(e,o);let s=await new Promise(u=>{if(n&&Exe)try{o.toBlob(u,r,n);return}catch{Exe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function u2t(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 CM={name:"Images",id:"image",module:"images",version:B3,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:Txe};var DM={};function FM(e){if(DM[e]===void 0){let t=wr?l2t(e):c2t(e);DM[e]=t}return DM[e]}function c2t(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 l2t(e){switch(e){case"image/avif":case"image/webp":return f2t(e);default:return!0}}function f2t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function Wn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var P3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},R3={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var p2t=1.33,Sxe=["SCALAR","VEC2","VEC3","VEC4"],d2t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],h2t=new Map(d2t),m2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},g2t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},v2t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function j3(e){return Sxe[e-1]||Sxe[0]}function Mf(e){let t=h2t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function lg(e,t){let r=v2t[e.componentType],n=m2t[e.type],i=g2t[e.componentType],a=e.count*n,o=e.count*n*i;Wn(o>=0&&o<=t.byteLength);let s=R3[e.componentType],u=P3[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Py(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*p2t)}function Cxe(e,t,r){let n=e.bufferViews[r];Wn(n);let i=n.buffer,a=t[i];Wn(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function Dxe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(g=e.bufferViews)==null?void 0:g[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}=lg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let h=new u(c);for(let b=0;b<n.count;b++){let y=new u(a,s+b*d,f);h.set(y,b*f)}return h}function x2t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Xt=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||x2t(),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];Wn(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return Dxe(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 Wn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return Wn(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=Fd(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;Wn(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ga(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:j3(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:Mf(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;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=j5(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],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_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 Fxe(e){return(e%1+1)%1}var kxe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},b2t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Bxe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Ry(e,t){return Bxe[t]*kxe[e]}function fg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=pg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function pg(e,t,r,n=1){let i=kxe[t],a=b2t[r],o=Bxe[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 dg(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 h=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,m=(d=e.gltf.images)==null?void 0:d[u];if(m&&typeof m.width<"u"){let g=[];for(let b=0;b<a.length;b+=2){let y=y2t(m,h,a,b,t.channels);g.push(y)}return g}}return[]}function M3(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:Mf(o),count:o.length});i.attributes[t]=c}function y2t(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=_2t(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,h=ug(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let m=h.data[d];l|=m<<p.shift}return l}function _2t(e,t,r,n=1){let i=r.width,a=Fxe(e)*(i-1),o=Math.round(a),s=r.height,u=Fxe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function L3(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 q3(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 N3(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 hg="EXT_mesh_features",U3=hg;async function w2t(e,t){let r=new Xt(e);A2t(r,t)}function E2t(e,t){let r=new Xt(e);return S2t(r,t),r.createBinaryChunk(),r.gltf}function A2t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)T2t(e,i,t)}function T2t(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[hg],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=dg(e,u.texture,t):c=[];u.data=c}}function S2t(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let i of n.primitives)C2t(e,i)}function G3(e,t,r,n){t.extensions||(t.extensions={});let i=t.extensions[hg];i||(i={featureIds:[]},t.extensions[hg]=i);let{featureIds:a}=i,o={featureCount:r.length,propertyTable:n,data:r};a.push(o),e.addObjectExtension(t,hg,i)}function C2t(e,t){var i;let r=(i=t.extensions)==null?void 0:i[hg];if(!r)return;let n=r.featureIds;n.forEach((a,o)=>{if(a.data){let{accessorKey:s,index:u}=D2t(t.attributes),c=new Uint32Array(a.data);n[o]={featureCount:c.length,propertyTable:a.propertyTable,attribute:u},e.gltf.buffers.push({arrayBuffer:c.buffer,byteOffset:c.byteOffset,byteLength:c.byteLength});let l=e.addBufferView(c),f=e.addAccessor(l,{size:1,componentType:Mf(c),count:c.length});t.attributes[s]=f}})}function D2t(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(a=>a.indexOf(t)===0),n=-1;for(let a of r){let o=Number(a.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var V3={};Fi(V3,{createExtStructuralMetadata:()=>H3,decode:()=>F2t,encode:()=>k2t,name:()=>Wc});var mg="EXT_structural_metadata",Wc=mg;async function F2t(e,t){let r=new Xt(e);B2t(r,t)}function k2t(e,t){let r=new Xt(e);return W2t(r,t),r.createBinaryChunk(),r.gltf}function B2t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(mg);r&&((i=t.gltf)!=null&&i.loadImages&&O2t(e,r),I2t(e,r))}function O2t(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)R2t(e,r,a,t)}function I2t(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=P2t(i,a);o&&M2t(e,r,o)}}function P2t(e,t){for(let r of e)if(r.class===t)return r;return null}function R2t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[mg],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];j2t(e,u,r,n)}}function j2t(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=dg(e,u,r);l!==null&&(M3(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function M2t(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=L2t(e,t,u,i,c);c.data=l}}}function L2t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=q2t(e,r,i,n),c=N2t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=U2t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=N3(n,s,u,c);break}case"ENUM":{a=G2t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function q2t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?fg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function N2t(e,t,r){return typeof t.stringOffsets<"u"?fg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function U2t(e,t,r,n){let i=e.array,a=e.count,o=Ry(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=pg(r,e.type,e.componentType,s):u=r,i?n?L3(u,t,n,r.length,o):a?q3(u,t,a):[]:u}function G2t(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=Ry(t.type,s),c=n.byteLength/u,l=pg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return z2t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?H2t(l,r,p,o):[]}return BM(l,0,r,o)}function z2t(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=BM(t,f,p,o);s.push(d)}return s}function H2t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=BM(e,o,r,n);i.push(s)}return i}function BM(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=V2t(n,o);s?i.push(s.name):i.push("")}return i}function V2t(e,t){for(let r of e.values)if(r.value===t)return r;return null}var $2t="schemaClassId";function W2t(e,t){var n,i;let r=e.getExtension(mg);if(r&&r.propertyTables)for(let a of r.propertyTables){let o=a.class,s=(i=(n=r.schema)==null?void 0:n.classes)==null?void 0:i[o];a.properties&&s&&K2t(a,s,e)}}function K2t(e,t,r){for(let n in e.properties){let i=e.properties[n].data;if(i){let a=t.properties[n];if(a){let o=Y2t(i,a,r);e.properties[n]=o}}}}function H3(e,t,r=$2t){let n=e.getExtension(mg);n||(n=e.addExtension(mg)),n.schema=J2t(t,r,n.schema);let i=X2t(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function J2t(e,t,r){let n=r??{id:"schema_id"},i={properties:{}};for(let a of e){let o={type:a.elementType,componentType:a.componentType};i.properties[a.name]=o}return n.classes={},n.classes[t]=i,n}function X2t(e,t,r){var o;let n={class:t,count:0},i=0,a=(o=r.classes)==null?void 0:o[t];for(let s of e){if(i===0&&(i=s.values.length),i!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(a==null?void 0:a.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=i,n}function Y2t(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:i,stringOffsets:a}=ewt(e);n.stringOffsets=kM(a,r),n.values=kM(i,r)}else if(t.type==="SCALAR"&&t.componentType){let i=Z2t(e,t.componentType);n.values=kM(i,r)}return n}var Q2t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function Z2t(e,t){let r=[];for(let i of e)r.push(Number(i));let n=Q2t[t];if(!n)throw new Error("Illegal component type");return new n(r)}function ewt(e){let t=new TextEncoder,r=[],n=0;for(let u of e){let c=t.encode(u);n+=c.length,r.push(c)}let i=new Uint8Array(n),a=[],o=0;for(let u of r)i.set(u,o),a.push(o),o+=u.length;a.push(o);let s=new Uint32Array(a);return{stringData:i,stringOffsets:s}}function kM(e,t){return t.gltf.buffers.push({arrayBuffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var OM={};Fi(OM,{decode:()=>twt,name:()=>Fo});var Oxe="EXT_feature_metadata",Fo=Oxe;async function twt(e,t){let r=new Xt(e);rwt(r,t)}function rwt(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Oxe);r&&((i=t.gltf)!=null&&i.loadImages&&nwt(e,r),iwt(e,r))}function nwt(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=owt(i,a);s&&uwt(e,s,o)}}function iwt(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=awt(i,a);o&&swt(e,r,o)}}function awt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function owt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function swt(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=cwt(e,t,u,i,c);c.data=l}}}function uwt(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=hwt(e,o,n);o.data=s}}}function cwt(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=lwt(e,r,i,n),c=fwt(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=N3(n,s,u,c):pwt(r)&&(a=dwt(r,n,s,u)),a}function lwt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?fg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function fwt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?fg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function pwt(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 dwt(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Ry(o,s),c=r.byteLength/u,l=pg(r,o,s,c);return i?n?L3(l,t,n,r.length,u):a?q3(l,t,a):[]:l}function hwt(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)mwt(e,r,t,i,o);return i}function mwt(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=dg(e,a,i);o&&M3(e,t,o,n,i)}var $3="4.3.1";var gg="4.3.1";var Iu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Ixe;async function PM(e){Px(e.modules);let t=A5("basis");return t||(Ixe||(Ixe=gwt(e)),await Ixe)}async function gwt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.TRANSCODER,"textures",e),await au(Iu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await vwt(t,r)}function vwt(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 IM;async function RM(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(IM=IM||xwt(e),await IM)}async function xwt(e){let t=null,r=null;return[t,r]=await Promise.all([await au(Iu.ENCODER,"textures",e),await au(Iu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await bwt(t,r)}function bwt(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 ce={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 ywt=["","WEBKIT_","MOZ_"],Pxe={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"},W3=null;function jy(e){if(!W3){e=e||_wt()||void 0,W3=new Set;for(let t of ywt)for(let r in Pxe)if(e&&e.getExtension(`${t}${r}`)){let n=Pxe[r];W3.add(n)}}return W3}function _wt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var jM=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},kd=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var oar=new Uint8Array([0]),na=[171,75,84,88,32,50,48,187,13,10,26,10];function Rxe(e){return new TextDecoder().decode(e)}function jxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,na.length);if(t[0]!==na[0]||t[1]!==na[1]||t[2]!==na[2]||t[3]!==na[3]||t[4]!==na[4]||t[5]!==na[5]||t[6]!==na[6]||t[7]!==na[7]||t[8]!==na[8]||t[9]!==na[9]||t[10]!==na[10]||t[11]!==na[11])throw new Error("Missing KTX 2.0 identifier.");let r=new jM,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new kd(e,na.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),p=a*3*8,d=new kd(e,na.length+n,p,!0);for(let pe=0;pe<a;pe++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new kd(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,b=4,y=(m.descriptorBlockSize/4-g)/b;for(let pe=0;pe<y;pe++){let Ce={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};Ce.channelType&64?(Ce.sampleLower=h._nextInt32(),Ce.sampleUpper=h._nextInt32()):(Ce.sampleLower=h._nextUint32(),Ce.sampleUpper=h._nextUint32()),m.samples[pe]=Ce}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let w=new kd(e,u,c,!0);for(;w._offset<c;){let pe=w._nextUint32(),Ce=w._scan(pe),Be=Rxe(Ce);if(r.keyValue[Be]=w._nextUint8Array(pe-Ce.byteLength-1),Be.match(/^ktx/i)){let N=Rxe(r.keyValue[Be]);r.keyValue[Be]=N.substring(0,N.lastIndexOf("\0"))}let J=pe%4?4-pe%4:0;w._skip(J)}if(f<=0)return r;let T=new kd(e,l,f,!0),E=T._nextUint16(),k=T._nextUint16(),B=T._nextUint32(),j=T._nextUint32(),C=T._nextUint32(),I=T._nextUint32(),P=[];for(let pe=0;pe<a;pe++)P.push({imageFlags:T._nextUint32(),rgbSliceByteOffset:T._nextUint32(),rgbSliceByteLength:T._nextUint32(),alphaSliceByteOffset:T._nextUint32(),alphaSliceByteLength:T._nextUint32()});let L=l+T._offset,G=L+B,V=G+j,X=V+C,Y=new Uint8Array(e.buffer,e.byteOffset+L,B),he=new Uint8Array(e.buffer,e.byteOffset+G,j),le=new Uint8Array(e.buffer,e.byteOffset+V,C),me=new Uint8Array(e.buffer,e.byteOffset+X,I);return r.globalData={endpointCount:E,selectorCount:k,imageDescs:P,endpointsData:Y,selectorsData:he,tablesData:le,extendedData:me},r}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=Ewt(t,n,i,e,o),u=wwt(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 wwt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function Ewt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var Awt={131:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,132:ce.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:ce.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:ce.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:ce.COMPRESSED_RED_RGTC1_EXT,140:ce.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:ce.COMPRESSED_RED_GREEN_RGTC2_EXT,142:ce.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:ce.COMPRESSED_RGB8_ETC2,148:ce.COMPRESSED_SRGB8_ETC2,149:ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:ce.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:ce.COMPRESSED_RGBA8_ETC2_EAC,152:ce.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:ce.COMPRESSED_R11_EAC,154:ce.COMPRESSED_SIGNED_R11_EAC,155:ce.COMPRESSED_RG11_EAC,156:ce.COMPRESSED_SIGNED_RG11_EAC,157:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,158:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,160:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,162:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,164:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,166:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,168:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,170:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,172:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,174:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,176:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,178:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,180:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,182:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:ce.COMPRESSED_RGBA_ASTC_12x12_KHR,184:ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:ce.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:ce.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:ce.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:ce.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:ce.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:ce.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:ce.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:ce.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:ce.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:ce.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:ce.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:ce.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:ce.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:ce.COMPRESSED_RGBA_ASTC_12x12_KHR};function Mxe(e){return Awt[e]}var Wa=[171,75,84,88,32,50,48,187,13,10,26,10];function K3(e){let t=new Uint8Array(e);return!(t.byteLength<Wa.length||t[0]!==Wa[0]||t[1]!==Wa[1]||t[2]!==Wa[2]||t[3]!==Wa[3]||t[4]!==Wa[4]||t[5]!==Wa[5]||t[6]!==Wa[6]||t[7]!==Wa[7]||t[8]!==Wa[8]||t[9]!==Wa[9]||t[10]!==Wa[10]||t[11]!==Wa[11])}function Lxe(e){let t=new Uint8Array(e),r=jxe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=Mxe(r.vkFormat);return vg(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var Twt={etc1:{basisFormat:0,compressed:!0,format:ce.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:ce.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:ce.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:ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:ce.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 J3(e,t){if(t.basis.containerFormat==="auto"){if(K3(e)){let n=await RM(t);return qxe(n.KTX2File,e,t)}let{BasisFile:r}=await PM(t);return MM(r,e,t)}switch(t.basis.module){case"encoder":let r=await RM(t);switch(t.basis.containerFormat){case"ktx2":return qxe(r.KTX2File,e,t);case"basis":default:return MM(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await PM(t);return MM(n,e,t)}}function MM(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(Swt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function Swt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Nxe(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 qxe(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(Cwt(n,o,r));return[a]}finally{n.close(),n.delete()}}function Cwt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Nxe(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 Nxe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=xg()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Twt[r]}function xg(){let e=jy();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 Uxe={dataType:null,batchType:null,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"}}},Bd={...Uxe,parse:J3};var Ka={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},Dwt={DXT1:ce.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:ce.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:ce.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":ce.COMPRESSED_RGB_ATC_WEBGL,ATCA:ce.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:ce.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Fwt=Hxe,kwt=X3,Bwt=X3,Owt={DXT1:Hxe,DXT3:X3,DXT5:X3,"ATC ":Fwt,ATCA:kwt,ATCI:Bwt};function Gxe(e){return new Uint32Array(e,0,Ka.HEADER_LENGTH)[Ka.MAGIC_NUMBER_INDEX]===Ka.MAGIC_NUMBER}function zxe(e){let t=new Int32Array(e,0,Ka.HEADER_LENGTH),r=t[Ka.HEADER_PF_FOURCC_INDEX];_t(Boolean(t[Ka.HEADER_PF_FLAGS_INDEX]&Ka.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Iwt(r),i=Dwt[n],a=Owt[n];_t(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[Ka.HEADER_FLAGS_INDEX]&Ka.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[Ka.MIPMAPCOUNT_INDEX]));let s=t[Ka.HEADER_WIDTH_INDEX],u=t[Ka.HEADER_HEIGHT_INDEX],c=t[Ka.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return vg(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Hxe(e,t){return(e+3>>2)*(t+3>>2)*8}function X3(e,t){return(e+3>>2)*(t+3>>2)*16}function Iwt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var ko={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},Pwt={0:[ce.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[ce.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[ce.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[ce.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[ce.COMPRESSED_RGB_ETC1_WEBGL],7:[ce.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[ce.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[ce.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[ce.COMPRESSED_RGB8_ETC2],23:[ce.COMPRESSED_RGBA8_ETC2_EAC],24:[ce.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[ce.COMPRESSED_R11_EAC],26:[ce.COMPRESSED_RG11_EAC],27:[ce.COMPRESSED_RGBA_ASTC_4X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[ce.COMPRESSED_RGBA_ASTC_5X4_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[ce.COMPRESSED_RGBA_ASTC_5X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[ce.COMPRESSED_RGBA_ASTC_6X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[ce.COMPRESSED_RGBA_ASTC_6X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[ce.COMPRESSED_RGBA_ASTC_8X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[ce.COMPRESSED_RGBA_ASTC_8X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[ce.COMPRESSED_RGBA_ASTC_8X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[ce.COMPRESSED_RGBA_ASTC_10X5_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[ce.COMPRESSED_RGBA_ASTC_10X6_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[ce.COMPRESSED_RGBA_ASTC_10X8_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[ce.COMPRESSED_RGBA_ASTC_10X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[ce.COMPRESSED_RGBA_ASTC_12X10_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[ce.COMPRESSED_RGBA_ASTC_12X12_KHR,ce.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Rwt={0:Vxe,1:Vxe,2:$xe,3:$xe,6:My,7:My,9:Ly,11:Ly,22:My,23:Ly,24:My,25:My,26:Ly,27:Ly,28:jwt,29:Mwt,30:Lwt,31:qwt,32:Nwt,33:Uwt,34:Gwt,35:zwt,36:Hwt,37:Vwt,38:$wt,39:Wwt,40:Kwt};function Wxe(e){let r=new Uint32Array(e,0,ko.HEADER_LENGTH)[ko.MAGIC_NUMBER_INDEX];return r===ko.MAGIC_NUMBER||r===ko.MAGIC_NUMBER_EXTRA}function Kxe(e){let t=new Uint32Array(e,0,ko.HEADER_LENGTH),r=t[ko.PIXEL_FORMAT_INDEX],n=t[ko.COLOUR_SPACE_INDEX],i=Pwt[r]||[],a=i.length>1&&n?i[1]:i[0],o=Rwt[r],s=t[ko.MIPMAPCOUNT_INDEX],u=t[ko.WIDTH_INDEX],c=t[ko.HEIGHT_INDEX],l=ko.HEADER_SIZE+t[ko.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return vg(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function Vxe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function $xe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function My(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Ly(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function jwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Mwt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Lwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function qwt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Nwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Uwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Gwt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function zwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Hwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function Vwt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function $wt(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 Kwt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Jxe(e){if(K3(e))return Lxe(e);if(Gxe(e))return zxe(e);if(Wxe(e))return Kxe(e);throw new Error("Texture container format not recognized")}var Xxe={dataType:null,batchType:null,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}}},Y3={...Xxe,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 J3(e,t))[0]):Jxe(e)}};var LM={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 bg=!0,Yxe=1735152710,UM=12,Q3=8,Jwt=1313821514,Xwt=5130562,Ywt=0,Qwt=0,Zwt=1;function eEt(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 Qxe(e,t=0,r={}){let n=new DataView(e),{magic:i=Yxe}=r,a=n.getUint32(t,!1);return a===i||a===Yxe}function Zxe(e,t,r=0,n={}){let i=new DataView(t),a=eEt(i,r+0),o=i.getUint32(r+4,bg),s=i.getUint32(r+8,bg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=UM,e.version){case 1:return tEt(e,i,r);case 2:return rEt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function tEt(e,t,r){_t(e.header.byteLength>UM+Q3);let n=t.getUint32(r+0,bg),i=t.getUint32(r+4,bg);return r+=Q3,_t(i===Ywt),qM(e,t,r,n),r+=n,r+=NM(e,t,r,e.header.byteLength),r}function rEt(e,t,r,n){return _t(e.header.byteLength>UM+Q3),nEt(e,t,r,n),r+e.header.byteLength}function nEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,bg),a=t.getUint32(r+4,bg);switch(r+=Q3,a){case Jwt:qM(e,t,r,i);break;case Xwt:NM(e,t,r,i);break;case Qwt:n.strict||qM(e,t,r,i);break;case Zwt:n.strict||NM(e,t,r,i);break;default:break}r+=Ga(i,4)}return r}function qM(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ga(n,4)}function NM(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ga(n,4)}function GM(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 HM={};Fi(HM,{decode:()=>mEt,name:()=>hEt});var iEt="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",aEt="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",oEt=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]),sEt=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]),uEt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},cEt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function ebe(e,t,r,n,i,a="NONE"){let o=await lEt();dEt(o,o.exports[cEt[i]],e,t,r,n,o.exports[uEt[a||"NONE"]])}var zM;async function lEt(){return zM||(zM=fEt()),zM}async function fEt(){let e=iEt;WebAssembly.validate(oEt)&&(e=aEt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(pEt(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function pEt(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?sEt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function dEt(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 Z3="EXT_meshopt_compression",hEt=Z3;async function mEt(e,t){var i,a;let r=new Xt(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(gEt(r,o));await Promise.all(n),r.removeExtension(Z3)}async function gEt(e,t){let r=e.getObjectExtension(t,Z3);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 ebe(p,o,a,f,s,u),e.removeObjectExtension(t,Z3)}}var VM={};Fi(VM,{name:()=>vEt,preprocess:()=>xEt});var yg="EXT_texture_webp",vEt=yg;function xEt(e,t){let r=new Xt(e);if(!FM("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 $M={};Fi($M,{name:()=>bEt,preprocess:()=>yEt});var e8="KHR_texture_basisu",bEt=e8;function yEt(e,t){let r=new Xt(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,e8);a&&(i.source=a.source,r.removeObjectExtension(i,e8))}r.removeExtension(e8)}var KM={};Fi(KM,{decode:()=>TEt,encode:()=>SEt,name:()=>EEt,preprocess:()=>AEt});function tbe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=WM(n);t[r]=i}}return t}function WM(e){let{buffer:t,size:r,count:n}=_Et(e);return{value:t,size:r,byteOffset:0,count:n,type:j3(r),componentType:Mf(t)}}function _Et(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=wEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function wEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Lf="KHR_draco_mesh_compression",EEt=Lf;function AEt(e,t,r){let n=new Xt(e);for(let i of rbe(n))n.getObjectExtension(i,Lf)}async function TEt(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new Xt(e),i=[];for(let o of rbe(n))n.getObjectExtension(o,Lf)&&i.push(CEt(n,o,t,r));await Promise.all(i),n.removeExtension(Lf)}function SEt(e,t={}){let r=new Xt(e);for(let n of r.json.meshes||[])DEt(n,t),r.addRequiredExtension(Lf)}async function CEt(e,t,r,n){let i=e.getObjectExtension(t,Lf);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=Pp(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Na(o,ng,s,n),c=tbe(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=WM(u.indices)),e.removeObjectExtension(t,Lf),FEt(t)}function DEt(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:{[Lf]:{bufferView:u,attributes:s}}}]}}function FEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*rbe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var JM={};Fi(JM,{decode:()=>IEt,name:()=>kEt});var r8="KHR_texture_transform",kEt=r8,t8=new Z,BEt=new rr,OEt=new rr;async function IEt(e,t){var a;if(!new Xt(e).hasExtension(r8)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)PEt(o,e)}function PEt(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[r8])&&REt(t,e,c,i)}function REt(e,t,r,n){let i=jEt(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&&MEt(e,s,i)}}function jEt(e,t){var o;let r=(o=e.extensions)==null?void 0:o[r8],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=NEt(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function MEt(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:h,length:m}=lg(c,l),g=R3[c.componentType],b=P3[c.type],y=l.byteStride||g*b,w=new Float32Array(m);for(let T=0;T<c.count;T++){let E=new h(f,d+T*y,2);t8.set(E[0],E[1],1),t8.transformByMatrix3(a),w.set([t8[0],t8[1]],T*b)}n===i?LEt(c,l,e.buffers,w):qEt(i,c,t,e,w)}}}}function LEt(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 qEt(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 NEt(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new rr().set(1,0,0,0,1,0,t[0],t[1],1),a=BEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=OEt.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var XM={};Fi(XM,{decode:()=>GEt,encode:()=>zEt,name:()=>UEt});var Od="KHR_lights_punctual",UEt=Od;async function GEt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(Od);n&&(t.json.lights=n.lights,t.removeExtension(Od));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,Od);a&&(i.light=a.light),t.removeObjectExtension(i,Od)}}async function zEt(e){let t=new Xt(e),{json:r}=t;if(r.lights){let n=t.addExtension(Od);Wn(!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,Od,n)}delete t.json.lights}}var YM={};Fi(YM,{decode:()=>VEt,encode:()=>$Et,name:()=>HEt});var qy="KHR_materials_unlit",HEt=qy;async function VEt(e){let t=new Xt(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,qy);t.removeExtension(qy)}function $Et(e){let t=new Xt(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,qy,{}),t.addExtension(qy))}var QM={};Fi(QM,{decode:()=>KEt,encode:()=>JEt,name:()=>WEt});var Ny="KHR_techniques_webgl",WEt=Ny;async function KEt(e){let t=new Xt(e),{json:r}=t,n=t.getExtension(Ny);if(n){let i=XEt(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Ny);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=YEt(a.technique,t)),t.removeObjectExtension(a,Ny)}t.removeExtension(Ny)}}async function JEt(e,t){}function XEt(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 YEt(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 nbe=[V3,z3,HM,VM,$M,KM,XM,YM,QM,JM,OM],QEt=[V3,z3];function ibe(e,t={},r){var i;let n=nbe.filter(a=>sbe(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function abe(e,t={},r){var i;let n=nbe.filter(a=>sbe(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function obe(e,t={}){var r;for(let n of QEt)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function sbe(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 ZM="KHR_binary_glTF";function ube(e){let t=new Xt(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,ZM);i&&Object.assign(n,i),t.removeObjectExtension(n,ZM)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(ZM)}var cbe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},eAt={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},eL=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),ube(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 cbe)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 cbe)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=eAt[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 eL().normalize(e,t)}async function fbe(e,t,r=0,n,i){var a,o,s;return tAt(e,t,r,n),lbe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),ibe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await rAt(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await nAt(e,n,i),await abe(e,n,i),e}function tAt(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!Qxe(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=R5(t);else if(t instanceof ArrayBuffer){let o={};r=Zxe(o,t,r,n.glb),Wn(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else Wn(!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 rAt(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;Wn(u);let c=GM(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 nAt(e,t,r){let n=iAt(e),i=e.json.images||[],a=[];for(let o of n)a.push(aAt(e,i[o],o,t,r));return await Promise.all(a)}function iAt(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 aAt(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=GM(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=Cxe(e.json,e.buffers,t.bufferView);a=Pp(s.buffer,s.byteOffset,s.byteLength)}Wn(a,"glTF image has no data");let o=await Na(a,[cg,Bd],{...n,mimeType:t.mimeType,basis:n.basis||{format:xg()}},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 Kc={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:oAt,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function oAt(e,t={},r){t={...Kc.options,...t},t.gltf={...Kc.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await fbe({},e,n,t,r)}var sAt=1179937895,uAt=1313821514,cAt=5130562,Pu=!0;function pbe(e,t,r=0,n={}){let{magic:i=sAt,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Pu),t.setUint32(r+4,a,Pu),t.setUint32(r+8,0,Pu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,uAt,Pu)),r+=8;let f=JSON.stringify(o);if(r=u0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Pu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Pu),t.setUint32(r+4,cAt,Pu)),r+=8,r=xw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Pu)}}if(t){let p=r-u;t.setUint32(c,p,Pu)}return r}function tL(e,t,r,n){return lAt(e),pbe(e,t,r,n)}function lAt(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var rL={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:$3,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>dbe(e,t),encodeSync:dbe};function dbe(e,t={}){let{byteOffset:r=0}=t,n=obe(e),i=tL(n,null,r,t),a=new ArrayBuffer(i),o=new DataView(a);return tL(n,o,r,t),a}var fAt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},pAt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Bo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},dAt={magFilter:Bo.TEXTURE_MAG_FILTER,minFilter:Bo.TEXTURE_MIN_FILTER,wrapS:Bo.TEXTURE_WRAP_S,wrapT:Bo.TEXTURE_WRAP_T},hAt={[Bo.TEXTURE_MAG_FILTER]:Bo.LINEAR,[Bo.TEXTURE_MIN_FILTER]:Bo.NEAREST_MIPMAP_LINEAR,[Bo.TEXTURE_WRAP_S]:Bo.REPEAT,[Bo.TEXTURE_WRAP_T]:Bo.REPEAT};function mAt(){return{id:"default-sampler",parameters:hAt}}function gAt(e){return pAt[e]}function vAt(e){return fAt[e]}var nL=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return Wn(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=gAt(t.componentType),i=vAt(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}=lg(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):mAt(),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 dAt[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 Uy(e,t){return new nL().postProcess(e,t)}var n8={URI:0,EMBEDDED:1};function i8(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=Pp(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 a8(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(xAt(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 Na(e.gltfArrayBuffer,Kc,r,n);e.gltf=Uy(a),e.gpuMemoryUsageInBytes=Py(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function xAt(e,t,r){switch(t){case n8.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 n8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function hbe(e,t,r,n,i){var o;r=bAt(e,t,r,n,i),await a8(e,n8.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 bAt(e,t,r,n,i){r=jf(e,t,r),r=og(e,t,r),r=sg(e,t,r,n),r=i8(e,t,r,n);let a=new $c(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",mt.FLOAT,3),r}async function mbe(e,t,r,n,i){return r=yAt(e,t,r,n,i),await a8(e,e.gltfFormat||0,n,i),r}function yAt(e,t,r,n,i){var c;if(r=jf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=og(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=sg(e,t,r,n),r=i8(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 $c(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",mt.FLOAT,3);let u=new Dd(e.batchTableJson,e.batchTableBinary,s);return _At(e,o,u,s),r}function _At(e,t,r,n){let i=new Array(n),a=new Z,o=new Z,s=new Z,u=new Z,c=new rr,l=new Co,f=new Z,p={},d=new mr,h=[],m=[],g=[],b=[];for(let y=0;y<n;y++){let w;if(t.hasProperty("POSITION"))w=t.getProperty("POSITION",mt.FLOAT,3,y,a);else if(t.hasProperty("POSITION_QUANTIZED")){w=t.getProperty("POSITION_QUANTIZED",mt.UNSIGNED_SHORT,3,y,a);let I=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",mt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",mt.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let L=65535;for(let G=0;G<3;G++)w[G]=w[G]/L*P[G]+I[G]}if(!w)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(w),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",mt.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",mt.FLOAT,3,y,m);let T=!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",mt.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",mt.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(Bt.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}T&&(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 E=t.getProperty("SCALE",mt.FLOAT,1,y,g);Number.isFinite(E)&&f.multiplyByScalar(E);let k=t.getProperty("SCALE_NON_UNIFORM",mt.FLOAT,3,y,h);k&&f.scale(k),p.scale=f;let B=t.getProperty("BATCH_ID",mt.UNSIGNED_SHORT,1,y,b);B===void 0&&(B=y);let j=new mr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(j),d.scale(p.scale);let C=d.clone();i[y]={modelMatrix:C,batchId:B}}e.instances=i}async function gbe(e,t,r,n,i,a){r=jf(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 vbe(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 Na(t,Kc,r,n);e.gltf=Uy(o),e.gpuMemoryUsageInBytes=Py(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function iL(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Wve(e,t),i.type){case ci.COMPOSITE:return await gbe(i,e,t,r,n,iL);case ci.BATCHED_3D_MODEL:return await hbe(i,e,t,r,n);case ci.GLTF:return await vbe(i,e,r,n);case ci.INSTANCED_3D_MODEL:return await mbe(i,e,t,r,n);case ci.POINT_CLOUD:return await fxe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function aL(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=xbe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=xbe(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await o8(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await o8(c,p,f,r);else await o8(c,c.contentAvailability,f,r);return await o8(c,c.childSubtreeAvailability,f,r),c}async function o8(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 xbe(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var s8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:rg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:aL,options:{}};var Oo=null;try{Oo=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 Nr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Nr.prototype.__isLong__;Object.defineProperty(Nr.prototype,"__isLong__",{value:!0});function Gi(e){return(e&&e.__isLong__)===!0}function bbe(e){var t=Math.clz32(e&-e);return e?31-t:t}Nr.isLong=Gi;var ybe={},_be={};function Id(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=_be[e],n)?n:(r=fr(e,0,!0),i&&(_be[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=ybe[e],n)?n:(r=fr(e,e<0?-1:0,!1),i&&(ybe[e]=r),r))}Nr.fromInt=Id;function Io(e,t){if(isNaN(e))return t?Jc:bs;if(t){if(e<0)return Jc;if(e>=Tbe)return Dbe}else{if(e<=-Ebe)return Sa;if(e+1>=Ebe)return Cbe}return e<0?Io(-e,t).neg():fr(e%wg|0,e/wg|0,t)}Nr.fromNumber=Io;function fr(e,t,r){return new Nr(e,t,r)}Nr.fromBits=fr;var u8=Math.pow;function sL(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?Jc:bs;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 sL(e.substring(1),t,r).neg();for(var i=Io(u8(r,8)),a=bs,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=Io(u8(r,s));a=a.mul(c).add(Io(u))}else a=a.mul(i),a=a.add(Io(u))}return a.unsigned=t,a}Nr.fromString=sL;function ys(e,t){return typeof e=="number"?Io(e,t):typeof e=="string"?sL(e,t):fr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Nr.fromValue=ys;var wbe=1<<16,wAt=1<<24,wg=wbe*wbe,Tbe=wg*wg,Ebe=Tbe/2,Abe=Id(wAt),bs=Id(0);Nr.ZERO=bs;var Jc=Id(0,!0);Nr.UZERO=Jc;var _g=Id(1);Nr.ONE=_g;var Sbe=Id(1,!0);Nr.UONE=Sbe;var oL=Id(-1);Nr.NEG_ONE=oL;var Cbe=fr(-1,2147483647,!1);Nr.MAX_VALUE=Cbe;var Dbe=fr(-1,-1,!0);Nr.MAX_UNSIGNED_VALUE=Dbe;var Sa=fr(0,-2147483648,!1);Nr.MIN_VALUE=Sa;var Se=Nr.prototype;Se.toInt=function(){return this.unsigned?this.low>>>0:this.low};Se.toNumber=function(){return this.unsigned?(this.high>>>0)*wg+(this.low>>>0):this.high*wg+(this.low>>>0)};Se.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(Sa)){var r=Io(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=Io(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}};Se.getHighBits=function(){return this.high};Se.getHighBitsUnsigned=function(){return this.high>>>0};Se.getLowBits=function(){return this.low};Se.getLowBitsUnsigned=function(){return this.low>>>0};Se.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Sa)?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};Se.isZero=function(){return this.high===0&&this.low===0};Se.eqz=Se.isZero;Se.isNegative=function(){return!this.unsigned&&this.high<0};Se.isPositive=function(){return this.unsigned||this.high>=0};Se.isOdd=function(){return(this.low&1)===1};Se.isEven=function(){return(this.low&1)===0};Se.equals=function(t){return Gi(t)||(t=ys(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Se.eq=Se.equals;Se.notEquals=function(t){return!this.eq(t)};Se.neq=Se.notEquals;Se.ne=Se.notEquals;Se.lessThan=function(t){return this.comp(t)<0};Se.lt=Se.lessThan;Se.lessThanOrEqual=function(t){return this.comp(t)<=0};Se.lte=Se.lessThanOrEqual;Se.le=Se.lessThanOrEqual;Se.greaterThan=function(t){return this.comp(t)>0};Se.gt=Se.greaterThan;Se.greaterThanOrEqual=function(t){return this.comp(t)>=0};Se.gte=Se.greaterThanOrEqual;Se.ge=Se.greaterThanOrEqual;Se.compare=function(t){if(Gi(t)||(t=ys(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};Se.comp=Se.compare;Se.negate=function(){return!this.unsigned&&this.eq(Sa)?Sa:this.not().add(_g)};Se.neg=Se.negate;Se.add=function(t){Gi(t)||(t=ys(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,fr(p<<16|d,l<<16|f,this.unsigned)};Se.subtract=function(t){return Gi(t)||(t=ys(t)),this.add(t.neg())};Se.sub=Se.subtract;Se.multiply=function(t){if(this.isZero())return this;if(Gi(t)||(t=ys(t)),Oo){var r=Oo.mul(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Jc:bs;if(this.eq(Sa))return t.isOdd()?Sa:bs;if(t.eq(Sa))return this.isOdd()?Sa:bs;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(Abe)&&t.lt(Abe))return Io(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,h=0;return h+=o*l,d+=h>>>16,h&=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,fr(d<<16|h,f<<16|p,this.unsigned)};Se.mul=Se.multiply;Se.divide=function(t){if(Gi(t)||(t=ys(t)),t.isZero())throw Error("division by zero");if(Oo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Oo.div_u:Oo.div_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Jc:bs;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Jc;if(t.gt(this.shru(1)))return Sbe;a=Jc}else{if(this.eq(Sa)){if(t.eq(_g)||t.eq(oL))return Sa;if(t.eq(Sa))return _g;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(bs)?t.isNegative()?_g:oL:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Sa))return this.unsigned?Jc:bs;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=bs}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=Io(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Io(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=_g),a=a.add(c),i=i.sub(l)}return a};Se.div=Se.divide;Se.modulo=function(t){if(Gi(t)||(t=ys(t)),Oo){var r=(this.unsigned?Oo.rem_u:Oo.rem_s)(this.low,this.high,t.low,t.high);return fr(r,Oo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Se.mod=Se.modulo;Se.rem=Se.modulo;Se.not=function(){return fr(~this.low,~this.high,this.unsigned)};Se.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Se.clz=Se.countLeadingZeros;Se.countTrailingZeros=function(){return this.low?bbe(this.low):bbe(this.high)+32};Se.ctz=Se.countTrailingZeros;Se.and=function(t){return Gi(t)||(t=ys(t)),fr(this.low&t.low,this.high&t.high,this.unsigned)};Se.or=function(t){return Gi(t)||(t=ys(t)),fr(this.low|t.low,this.high|t.high,this.unsigned)};Se.xor=function(t){return Gi(t)||(t=ys(t)),fr(this.low^t.low,this.high^t.high,this.unsigned)};Se.shiftLeft=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):fr(0,this.low<<t-32,this.unsigned)};Se.shl=Se.shiftLeft;Se.shiftRight=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):fr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Se.shr=Se.shiftRight;Se.shiftRightUnsigned=function(t){return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?fr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?fr(this.high,0,this.unsigned):fr(this.high>>>t-32,0,this.unsigned)};Se.shru=Se.shiftRightUnsigned;Se.shr_u=Se.shiftRightUnsigned;Se.rotateLeft=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,fr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Se.rotl=Se.rotateLeft;Se.rotateRight=function(t){var r;return Gi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?fr(this.high,this.low,this.unsigned):t<32?(r=32-t,fr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,fr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Se.rotr=Se.rotateRight;Se.toSigned=function(){return this.unsigned?fr(this.low,this.high,!1):this};Se.toUnsigned=function(){return this.unsigned?this:fr(this.low,this.high,!0)};Se.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Se.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]};Se.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]};Nr.fromBytes=function(t,r,n){return n?Nr.fromBytesLE(t,r):Nr.fromBytesBE(t,r)};Nr.fromBytesLE=function(t,r){return new Nr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Nr.fromBytesBE=function(t,r){return new Nr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var Eg=Nr;var EAt=16;function Gy(e){e==="X"&&(e="");let t=e.padEnd(EAt,"0");return Eg.fromString(t,!0,16)}function uL(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 cL(e,t){let r=AAt(e).shiftRightUnsigned(2);return e.add(Eg.fromNumber(2*t+1-4).multiply(r))}function AAt(e){return e.and(e.not().add(1))}var TAt=3,SAt=30,CAt=2*SAt+1,Fbe=180/Math.PI;function Bbe(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);DAt(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 Obe(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<TAt+CAt;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=Eg.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=Eg.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function lL(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function kbe(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function fL(e){return[kbe(e[0]),kbe(e[1])]}function pL(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 dL([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Fbe,n*Fbe]}function DAt(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 Ibe(e){let t=lL(e.ij,e.level,[.5,.5]),r=fL(t),n=pL(e.face,r);return dL(n)}var FAt=100;function hL(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(FAt*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 h=0;h<a;h++){l[0]+=p,l[1]+=d;let m=lL(r,n,l),g=fL(m),b=pL(t,g),y=dL(b);Math.abs(y[1])>89.999&&(y[0]=u);let w=y[0]-u;y[0]+=w>180?-360:w<-180?360:0,o[s++]=y[0],o[s++]=y[1],u=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Ag(e){let t=kAt(e);return Bbe(t)}function kAt(e){if(e.indexOf("/")>0)return e;let t=Gy(e);return Obe(t)}function mL(e){let t=Ag(e);return Ibe(t)}function Rbe(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=Ag(a),s=hL(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=Pbe(r)}else{let r=hL(e);t=Pbe(r)}return t}function Pbe(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 gL(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=Ag(e),a=Rbe(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new Z(o,c,r)),l.push(new Z(u,c,r)),l.push(new Z(u,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,c,n)),l.push(new Z(u,c,n)),l.push(new Z(u,s,n)),l.push(new Z(o,s,n)),l}function c8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=gL(t,r),i=mL(t),a=i[0],o=i[1],s=Bt.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new Z(s[0],s[1],s[2]);n.push(u);let c=Fy(n);return[...c.center,...c.halfAxes]}var BAt=4,OAt=8,IAt={QUADTREE:BAt,OCTREE:OAt};function PAt(e,t,r){if(e!=null&&e.box){let n=Gy(e.s2VolumeInfo.token),i=cL(n,t),a=uL(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 xL(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:i=0,implicitOptions:a,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:u,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:p,basePath:d}=a,h={children:[],lodMetricValue:0,contentUrl:""};if(!l)return y5.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let b=IAt[u],y=Math.log2(b),w=i&1,T=i>>1&1,E=i>>2&1,k=Pd(n.localX,w,1),B=Pd(n.localY,T,1),j=Pd(n.localZ,E,1),C=Pd(r.x,k,m),I=Pd(r.y,B,m),P=Pd(r.z,j,m),L=Pd(n.mortonIndex,i,y),G=m===c&&vL(t.childSubtreeAvailability,L),V,X,Y,he;if(G){let pe=`${d}/${p}`,Ce=l8(pe,g,C,I,P);V=await $r(Ce,s8,o),he=0,X={level:g,x:C,y:I,z:P},Y={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else V=t,he=(b**m-1)/(b-1)+L,X=r,Y={mortonIndex:L,localLevel:m,localX:k,localY:B,localZ:j};if(!vL(V.tileAvailability,he))return h;vL(V.contentAvailability,he)&&(h.contentUrl=l8(f,g,C,I,P));for(let pe=0;pe<b;pe++){let Ce=PAt(s,pe,u),Be=await xL({subtree:V,subtreeData:X,parentData:Y,childIndex:pe,implicitOptions:a,loaderOptions:o,s2VolumeBox:Ce});(Be.contentUrl||Be.children.length)&&h.children.push(Be)}return h.contentUrl||h.children.length?RAt(h,{level:g,x:C,y:I,z:P},a,s):h}function vL(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&y5.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?LAt(t,r.explicitBitstream):!1}function RAt(e,t,r,n){let{basePath:i,refine:a,getRefine:o,lodMetricType:s,getTileType:u,rootLodMetricValue:c,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${i}/`,""),p=c/2**t.level,d=n!=null&&n.box?{box:n.box}:l,h=jAt(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(a),type:u(e),lodMetricType:s,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:h}}function jAt(e,t,r){if(e.region){let{level:n,x:i,y:a,z:o}=t,[s,u,c,l,f,p]=e.region,d=2**n,h=(c-s)/d,[m,g]=[s+h*i,s+h*(i+1)],b=(l-u)/d,[y,w]=[u+b*a,u+b*(a+1)],T,E;if(r==="OCTREE"){let k=(p-f)/d;[T,E]=[f+k*o,f+k*(o+1)]}else[T,E]=[f,p];return{region:[m,y,g,w,T,E]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Pd(e,t,r){return(e<<r)+t}function l8(e,t,r,n,i){let a=MAt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function MAt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function LAt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function yL(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 _L(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function bL(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 ga.resolve(t,e)}function jbe(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=bL(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:yL(e,r),refine:_L(e.refine)}}async function qbe(e,t,r){let n=null,i=Lbe(e.root);i&&e.root?n=await Mbe(e.root,e,t,i,r):n=jbe(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=Lbe(c),f;l?f=await Mbe(c,e,t,l,r):f=jbe(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function Mbe(e,t,r,n,i){var T,E,k;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=l8(c,0,0,0,0),f=bL(l,r),p=await $r(f,s8,i),d=(T=e.content)==null?void 0:T.uri,h=d?bL(d,r):"",m=(E=t==null?void 0:t.root)==null?void 0:E.refine,g=e.geometricError,b=(k=e.boundingVolume.extensions)==null?void 0:k["3DTILES_bounding_volume_S2"];if(b){let j={box:c8(b),s2VolumeInfo:b};e.boundingVolume=j}let y=e.boundingVolume,w={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:yL,getRefine:_L};return await qAt(e,r,p,w,i)}async function qAt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await xL({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:yL(e,s),refine:_L(e.refine),content:u||e.content,children:a}}function Lbe(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 Ru={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:NAt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function NAt(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?UAt(e,t,r):GAt(e,t,r)}async function UAt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=zAt(i),o=await qbe(n,a,t||{});return{...n,shape:"tileset3d",loader:Ru,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 GAt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await iL(e,0,t,r,n.content),n.content}function zAt(e){return ga.dirname(e)}var Nbe="https://api.cesium.com/v1/assets";async function Ube(e,t){if(!t){let a=await HAt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await VAt(e,t),{type:n,url:i}=r;return _t(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function HAt(e){_t(e);let t=Nbe,r={Authorization:`Bearer ${e}`},n=await ta(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function VAt(e,t){_t(e,t);let r={Authorization:`Bearer ${e}`},n=`${Nbe}/${t}`,i=await ta(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await ta(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function $At(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 Ube(r,n)}var f8={...Ru,id:"cesium-ion",name:"Cesium Ion",preload:$At,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=f8,Ru.parse(e,t,r)),options:{"cesium-ion":{...Ru.options["3d-tiles"],accessToken:null}}};var X2e=Dt(J2e(),1),p8t="4.3.1",lq={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:p8t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:d8t};async function d8t(e,t={}){let r=[],n={};try{let i=new X2e.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=h8t(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 h8t(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 m8t=1024,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=-1,i=e.length-4n;do{let a=i;i-=BigInt(m8t),i=i>=0n?i:0n;let o=new Uint8Array(await e.slice(i,a));for(let s=o.length-1;s>-1;s--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=o[s],r.every((u,c)=>u===t[c])){n=s;break}}while(n===-1&&i>0n);return i+BigInt(n)};var g8t=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 v8t){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));Y2e[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return hn(...r)}function Ai(e,t,r,n){Y2e[t](e,Number(r),n)}var Y2e={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)}},v8t=[{size:2,default:new DataView(g8t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var Q2e=new Uint8Array([80,75,5,6]),Z2e=new Uint8Array([80,75,6,7]),ewe=new Uint8Array([80,75,6,6]),twe=8n,x8t=10n,rwe=12n,nwe=16n,b8t=22n,iwe=8n,awe=24n,y8t=32n,owe=40n,swe=48n,_8t=56n,nC=async e=>{let t=await Jd(e,Q2e),r=BigInt(await e.getUint16(t+twe)),n=BigInt(await e.getUint32(t+rwe)),i=BigInt(await e.getUint32(t+nwe)),a=t-20n,o=0n,s=await e.slice(a,a+4n);if(ou(s,Z2e)){o=await e.getBigUint64(a+iwe);let u=await e.slice(o,o+4n);if(!ou(u,ewe.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(o+awe),n=await e.getBigUint64(o+owe),i=await e.getBigUint64(o+swe)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function uwe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(Ai(a,2,o+twe,i),Ai(a,2,o+x8t,i)),n-r<=4294967295&&Ai(a,4,o+rwe,n-r),r<4294967295&&Ai(a,4,o+nwe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;Ai(a,8,s+iwe,n),Ai(a,8,swe,r),Ai(a,8,awe,i),Ai(a,8,y8t,i),Ai(a,8,owe,n-r)}return new Uint8Array(a.buffer)}function cwe(e){let t=new DataView(new ArrayBuffer(Number(b8t)));for(let i of w8t)Ai(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=A8t(e),n=E8t(e);return hn(n,r,t.buffer)}var w8t=[{offset:0,size:4,default:new DataView(Q2e.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 E8t(e){let t=new DataView(new ArrayBuffer(Number(_8t)));for(let r of S8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function A8t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of T8t)Ai(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var T8t=[{offset:0,size:4,default:new DataView(Z2e.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],S8t=[{offset:0,size:4,default:new DataView(ewe.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 C8t=20,D8t=24,F8t=28,k8t=30,B8t=32,O8t=42,A1=46n,Yd=new Uint8Array([80,75,1,2]),Xd=async(e,t)=>{if(e>=t.length)return null;let r=new DataView(await t.slice(e,e+A1)),n=r.buffer.slice(0,4);if(!ou(n,Yd.buffer))return null;let i=BigInt(r.getUint32(C8t,!0)),a=BigInt(r.getUint32(D8t,!0)),o=r.getUint16(k8t,!0),s=BigInt(r.getUint16(B8t,!0)),u=r.getUint16(F8t,!0),c=await t.slice(e+A1,e+A1+BigInt(u+o)),l=c.slice(0,u),f=new TextDecoder().decode(l),p=e+A1+BigInt(u),d=r.getUint32(O8t,!0),h=BigInt(d),m=new DataView(c.slice(u,c.byteLength)),g={uncompressedSize:a,compressedSize:i,localHeaderOffset:h,startDisk:s},b=I8t(g,m);return{...g,...b,extraFieldLength:o,fileNameLength:u,fileName:f,extraOffset:p}};async function*zu(e){let{cdStartOffset:t,cdByteSize:r}=await nC(e),n=new Vx(new DataView(await e.slice(t,t+r))),i=await Xd(0n,n);for(;i;)yield i,i=await Xd(i.extraOffset+BigInt(i.extraFieldLength),n)}var lwe=(...e)=>e[0]+e[1]*16,I8t=(e,t)=>{let r=P8t(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)=>lwe(c[u],c[u+1])===1&&lwe(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},P8t=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 fq(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(A1)));for(let s of R8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var R8t=[{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 j8t=8,M8t=18,L8t=22,q8t=26,N8t=28,T1=30n,pq=new Uint8Array([80,75,3,4]),Ss=async(e,t)=>{let r=new DataView(await t.slice(e,e+T1)),n=r.buffer.slice(0,4);if(!ou(n,pq))return null;let i=r.getUint16(q8t,!0),a=r.getUint16(N8t,!0),o=await t.slice(e+T1,e+T1+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+T1+BigInt(i+a),f=r.getUint16(j8t,!0),p=BigInt(r.getUint32(M8t,!0)),d=BigInt(r.getUint32(L8t,!0)),h=4;return d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function dq(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(T1)));for(let s of U8t)Ai(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return hn(i.buffer,a,r)}var U8t=[{offset:0,size:4,default:new DataView(pq.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 G8t(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 pwe(e,t,r){let n=parseInt(await new $x().hash(t,"hex"),16),i=dq({crc32:n,fileName:e,length:t.byteLength}),a=fq({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(hn(i,t)),new Uint8Array(a)]}async function hq(e,t,r){let n=new za(e,!0),[i,a,o]=await G8t(n),s=n.length,[u,c]=await pwe(r,t,s);await n.append(u);let l=hn(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(uwe(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function mq(e,t,r){let n=z8t(e),i=new gc(t,"w"),a=[],o=[];for await(let l of n)await fwe(l,i,o,a);if(r){let l=await r(a);await fwe(l,i,o)}let s=(await i.stat()).bigsize,u=hn(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(cwe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function fwe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await pwe(e.path,e.file,i);await t.append(a),r.push(o)}function z8t(e){async function*t(){let r=await dwe(e);for(let n of r){let i=await(await ta(ga.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function dwe(e,t="",r){let n=r||new Hx({}),i=await n.readdir(iC(e,t)),a=[];for(let o of i){let s=iC(e,t,o);if((await n.stat(s)).isDirectory){let u=await dwe(e,iC(t,o));a.push(...u)}else a.push(iC(t,o))}return a}function iC(...e){let t=e.filter(r=>r.length);return ga.join(...t)}var Xg=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){Px(t)}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 Rp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var S1=class extends Xg{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=Dt(Y7(),1),ol=Dt(require("zlib"),1),sl=class extends Xg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await c0(ol.default.gzip)(t):await c0(ol.default.deflate)(t);return mc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!wr&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await c0(ol.default.gunzip)(t):await c0(ol.default.inflate)(t);return mc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gzipSync(t):ol.default.deflateSync(t);return mc(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(!wr&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?ol.default.gunzipSync(t):ol.default.inflateSync(t);return mc(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 C1=class extends sl{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 hwe={0:async e=>e,8:async e=>await new sl({raw:!0}).decompress(e)},ul=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!wr)this.fileProvider=new za(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof cl?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):N5(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=zu(this.fileProvider);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.fileProvider)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await Ss(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=hwe[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=zu(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 cl=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new ul(this.fileProvider).fetch(t)).arrayBuffer()}};function D1(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=H8t(e,n,16);r[a]=i}return r}function H8t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function gq(e){let t=zu(e);return V8t(t)}async function V8t(e){let t=new cu,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 F1(e){let t=new cu,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(hn(W8t(u),K8t(a.localHeaderOffset)))}let i=n.sort($8t);return vw(i)}function $8t(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 W8t(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 K8t(e){return new BigUint64Array([e]).buffer}var J8t={0:e=>new S1().decompress(e),8:e=>new sl({raw:!0}).decompress(e)},k1=class extends cl{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 cu().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Ss(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=J8t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Xf(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return _t(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 Yf(e,t,r){e&&e.setUint32(t+8,r,!0)}function mwe(e,t,r,n,i){e={magic:Pf.COMPOSITE,tiles:[],...e};let a=r;r+=Xf(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 Yf(t,a,r-a),r}function gwe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ga(s.length,8),l=u?Ga(u.length,8):0;e={magic:Pf.BATCHED_MODEL,...e};let f=r;r=Xf(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=u0(t,r,s,8),a&&(r=u0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Ux(t,r,p,p.byteLength)),Yf(t,f,r-f),r}function vwe(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:Pf.INSTANCED_MODEL,...e};let f=r;return r=Xf(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+=s0(t,r,c,l),r+=s0(t,r,o,s),Yf(t,f,r-f),r}var X8t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function xwe(e,t,r,n){let{featureTableJson:i=X8t}=e,a=JSON.stringify(i);a=M5(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:Pf.POINT_CLOUD,...e};let c=r;return r+=Xf(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+=s0(t,r,a,o),r+=Ux(t,r,s,u),Yf(t,c,r-c),r}function xq(e,t){let r=vq(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return vq(e,i,0,t),n}function vq(e,t,r,n){switch(_t(typeof e.type=="string"),e.type){case ci.COMPOSITE:return mwe(e,t,r,n,vq);case ci.POINT_CLOUD:return xwe(e,t,r,n);case ci.BATCHED_3D_MODEL:return gwe(e,t,r,n);case ci.INSTANCED_3D_MODEL:return vwe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var bq={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>bwe(e,t),encodeSync:bwe};function bwe(e,t){return xq(e,t)}var Go=require("path");var ywe=Dt(require("crypto")),oC=new Uint8Array(256),aC=oC.length;function yq(){return aC>oC.length-16&&(ywe.default.randomFillSync(oC),aC=0),oC.slice(aC,aC+=16)}var Ti=[];for(let e=0;e<256;++e)Ti.push((e+256).toString(16).slice(1));function _we(e,t=0){return Ti[e[t+0]]+Ti[e[t+1]]+Ti[e[t+2]]+Ti[e[t+3]]+"-"+Ti[e[t+4]]+Ti[e[t+5]]+"-"+Ti[e[t+6]]+Ti[e[t+7]]+"-"+Ti[e[t+8]]+Ti[e[t+9]]+"-"+Ti[e[t+10]]+Ti[e[t+11]]+Ti[e[t+12]]+Ti[e[t+13]]+Ti[e[t+14]]+Ti[e[t+15]]}var wwe=Dt(require("crypto")),_q={randomUUID:wwe.default.randomUUID};function Y8t(e,t,r){if(_q.randomUUID&&!t&&!e)return _q.randomUUID();e=e||{};let n=e.random||(e.rng||yq)();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 _we(n)}var Hu=Y8t;var fh=Dt(require("process"),1),ZC=Dt(Cs(),1),eD=Dt(Aq(),1);var cC=require("path"),Lwe=Dt(Cs(),1);var Pwe=()=>({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"),Yg=require("path");var Rwe=require("zlib"),sC=require("fs");function uC(e){let t=`${e}.gz`,r=(0,Rwe.createGzip)(),n=(0,sC.createReadStream)(e),i=(0,sC.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 Da(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,Yg.join)(e,r);try{await Zd.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Vu(e,t,r="index.json",n=!0,i){let a=await Da(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await uC(a);return await P1(a),o}return a}async function Qg(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,Yg.join)(e,t);$r(o,L5).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function O1(e){try{return await Zd.promises.stat(e),!0}catch{return!1}}function I1(e){return Zd.promises.rm(e,{recursive:!0})}function P1(e){return Zd.promises.unlink(e)}function jwe(e){return(0,Yg.isAbsolute)(e)?e:(0,Yg.join)(process.cwd(),e)}async function Mwe(e,t){try{await Zd.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Si=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=(0,cC.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),i=(0,cC.join)(r,n);return await O1(i)?(console.log(`load ${i}.`),await Qg(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),Si.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;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?Si.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,Lwe.default)({nodeCount:this.nodesCounter},Pwe()),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}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),i=(0,cC.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()}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}),Si.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 R1=require("path"),lC=require("fs");function Zg(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return qwe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return qwe(r,n)}function qwe(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=jwe(r);try{if(t){let s=(0,R1.join)(i,`${n}.slpk`);return(await lC.promises.stat(s)).size}let a=(0,R1.join)(i,n);return await Nwe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function Nwe(e){let t=0,r=await lC.promises.readdir(e);for(let n of r){let i=await lC.promises.stat((0,R1.join)(e,n));i.isDirectory()?t+=await Nwe((0,R1.join)(e,n)):t+=i.size}return t}var iEe=Dt(Aq(),1);var eh=3,ev=9;function Gwe(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/ev;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=uCt(o),c=cCt({...u,...e}),l=lCt(c);return fCt(l,u.featureCount)}function uCt(e){let t=1,r=1,n=Uwe(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=Uwe(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 Uwe(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 cCt(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),h=0,m=0,g=0,b=0,y=0;for(let w=0;w<t.length;w++){let T=s[w*2],E=s[w*2+1],k=j1("positions",T,E),B=j1("normals",T,E),j=j1("colors",T,E),C=j1("uvRegions",T,E),I=j1("texCoords",T,E);u.push({featureId:t[w],positions:c.subarray(h,h+k),normals:l.subarray(m,m+B),colors:f.subarray(g,g+j),uvRegions:d.subarray(b,b+C),texCoords:p.subarray(y,y+I)}),h+=k,m+=B,g+=j,b+=C,y+=I}return u}function j1(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*ev;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function lCt(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=zwe(n.attributes);r.push({featureId:n.featureId,...i})}return r}function fCt(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/ev-1+o),i.push(f.positions.length/ev+o),o+=f.positions.length/ev,a+=1}let s=zwe(e);return i.push(s.positions.length/ev-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function zwe(e){let t=e.map(({positions:f})=>f),r=t.length>1?Ua(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Ua(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Ua(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Ua(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Ua(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function pC(e,t){let r,n,i,a=Bt.WGS84.cartesianToCartographic(e.center,new Z);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof ui?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Co().fromMatrix3(new rr([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 Hwe(e,t){let r=pCt(e),n=Fy(r),i=uM(r),a=Bt.WGS84.cartesianToCartographic(i.center,new Z),o=Bt.WGS84.cartesianToCartographic(n.center,new Z);return t&&(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 pCt(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function Vwe(e){let t;e instanceof ra?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Bt.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),a=Bt.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);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 Tq(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new rr([t,0,0,0,t,0,0,0,t]);return new ui(r,n)}function $we(e,t,r){var s,u,c,l,f,p,d,h;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=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(m=>{var y,w;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(w=m==null?void 0:m.image)==null?void 0:w.data,b=new Uint8Array(g.length);return b.set(g),{data:b,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];Wwe(n);let{cartographicOrigin:a,modelMatrix:o}=hCt(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function dCt(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function hCt(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new mr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new mr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new mr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(a),u=Bt.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:u}}function Wwe(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:dCt(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&&Wwe(n.children)}}function Kwe(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[Fo];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function Jwe(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 Fo:return gCt(e,o,r,n);case U3:return mCt(e,o);default:return[]}return[]}function mCt(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function gCt(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 vCt(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 h=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,m=e[h].value;return xCt(a,m,r)}return n?e[n].value:[]}function vCt(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 xCt(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],h=t[p+1],m=Math.min(F3(d)*o.width|0,o.width-1),b=(Math.min(F3(h)*o.height|0,o.height-1)*o.width+m)*o.components+u,y=new Uint8Array(o.data)[b];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function Xwe(e,t){let r={};for(let n in t){let i=t[n];r[n]=bCt(i,e)}return r}function bCt(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function Ywe(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function yCt(e){return typeof e=="string"||typeof e=="bigint"?Zr.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?Zr.SHORT_INT_TYPE:Zr.DOUBLE_TYPE:Zr.STRING_TYPE}function Qwe(e){let t={};for(let r in e){let n=e[r][0],i=yCt(n);t[r]=i}return t}var Zwe=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[Fo])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let h=n.properties[d],m=_Ct(h);r[d]=m}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[Wc])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let h=i.properties[d],m=wCt(h);r[d]=m}return r}return null},_Ct=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=Zr.STRING_TYPE;break;default:t=Zr.STRING_TYPE;break}return t},wCt=e=>{let t;if(e.array)t=Zr.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=Zr.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=Zr.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=Zr.STRING_TYPE;break;default:t=Zr.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 ECt=1,ACt=1,Ds=3,M1=2,TCt=4,SCt="string",CCt="Int32",DCt="Float64",FCt="Oid32",eEe=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Qf=new Z;async function Sq({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:p}){var w;let d=u,h=await HCt((w=e.gltf)==null?void 0:w.materials,c),m=$we(e,t,r),g=Kwe(e,p),b=await OCt(m,h,d,g);u&&kCt(b,l);let y=[];for(let T of h){let E=T.mergedMaterials[0].originalMaterialId;if(!b.has(E))continue;let k=b.get(E);if(!k)continue;let{material:B,texture:j}=T,C=await n();y.push(await BCt({convertedAttributes:k,material:B,texture:j,tileContent:e,nodeId:C,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function kCt(e,t){for(let r of e.values()){let n=Hwe(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Ds){let o=r.positions.subarray(a,a+Ds);Bt.WGS84.cartesianToCartographic(Array.from(o),Qf),t&&(Qf[2]=Qf[2]-t.getHeight(Qf[1],Qf[0])),Qf=Qf.subtract(i),r.positions.set(Qf,a)}}}async function BCt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var I;let l=e.boundingVolumes,f=e.positions.length/Ds,{faceRange:p,featureIds:d,positions:h,normals:m,colors:g,uvRegions:b,texCoords:y,featureCount:w}=Gwe(e),T={};o&&(T=tDt(d,e.featureIndices,a,o));let E=new Uint32Array(2),k=lDt(d);E.set([f,w],0);let B=new Uint8Array(hn(E.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,b,k.buffer,p.buffer)),j=u?fDt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:b,featureIds:d,faceRange:p},c):null,C=[];return s&&o&&(C=aDt(d,T,o,s)),{nodeId:i,geometry:B,compressedGeometry:j,texture:r,hasUvRegions:Boolean(b.length),sharedResources:XCt(((I=n.gltf)==null?void 0:I.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:C,featureCount:w,boundingVolumes:l}}async function OCt(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)}aEe({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture: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 aEe({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)PCt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function ICt(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 PCt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=ICt(e,o),c=e.mesh;c&&RCt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),aEe({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function RCt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture: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:h})=>{var m;return h===((m=c.material)==null?void 0:m.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),_t(l!==null,"Primitive - material mapping failed"),_t(c.mode===void 0||c.mode===mt.TRIANGLES||c.mode===mt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=jCt(c);l.positions=Ua(l.positions,tEe({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:MCt,useCartesianPositions:a})),l.normals=Ua(l.normals,tEe({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:LCt,useCartesianPositions:!1})),l.texCoords=Ua(l.texCoords,qCt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Ua(l.colors,NCt(p.COLOR_0,d)),f&&(l.uvRegions=Ua(l.uvRegions,UCt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(GCt(zCt(p,c,t,s),d))}}function jCt(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/Ds)}if(t&&e.mode===mt.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 tEe(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Ds);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Ds,s=t.subarray(o,o+Ds),u=new Z(Array.from(s));u=n(u,e),i[a*Ds]=u.x,i[a*Ds+1]=u.y,i[a*Ds+2]=u.z}return i}function MCt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Bt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function LCt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function qCt(e,t){let r=new Float32Array(t.length*M1);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*M1,a=e.subarray(i,i+M1);r[n*M1]=a[0],r[n*M1+1]=a[1]}return r}function NCt(e,t){let r=(e==null?void 0:e.components)||TCt,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 UCt(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 GCt(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 zCt(e,t,r,n){let i=Jwe(e,t,r,n);if(i.length)return i;for(let a=0;a<eEe.length;a++){let o=eEe[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function HCt(e=[],t){let r=[];for(let n of e)r.push(WCt(n));return t&&(r=await VCt(r)),r}async function VCt(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 $Ct(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:JCt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function $Ct(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 WCt(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:KCt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||ECt,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||ACt}},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:Hu();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 KCt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function JCt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function XCt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=YCt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function YCt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=ZCt(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:QCt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function QCt(e,t=1){let r=.00015686274509803922,n=new So(0,0,0,1),i=new So(1,1,1,1),a=new So(r,r,r,0),o=new So(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 ZCt(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:eDt(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 eDt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.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 tDt(e,t,r,n){let i=rDt(e,n,r);return rEe(t,i),rEe(e,i),i}function rDt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=iDt(i,t,r);n[a.toString()]=o}return n}function nDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function iDt(e,t,r){let n=nDt(t,e),i=(0,iEe.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function rEe(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function aDt(e,t,r,n){let i=[],o=Ywe(e,r)?Xwe(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=sDt(u,n);if(c){let l=s[u],f=oDt(c,l);i.push(f)}}return i}function oDt(e,t){let r;switch(e){case FCt:case CCt:r=uDt(t);break;case DCt:r=cDt(t);break;case SCt:r=nEe(t);break;default:r=nEe(t)}return r}function sDt(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 uDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return hn(t.buffer,r.buffer)}function cDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return hn(t.buffer,r.buffer,n.buffer)}function nEe(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 hn(t.buffer,a.buffer,n.buffer,...i)}function lDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function fDt(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 g=0;g<f.length;g++)f.set([g],g);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=pDt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,m["uv-region"]={"i3s-attribute-type":"uv-region"}),Jm({attributes:h,indices:f},mM,{...mM.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function pDt(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)*Ds;r.fill(n,i,o),n++,i=o+1}return r}function oEe(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=mDt(e);switch(i){case Wc:return r=dDt(a,t),r;case Fo:return r=hDt(a,t),r;default:return null}}function dDt(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 hDt(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 mDt(e){var a,o,s,u;let t=[Fo,Wc];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 uEe=Dt(Cs(),1),cEe=require("path");var sEe=()=>({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 lEe(e,t,r){let n={serviceItemId:Hu().replace(/-/gi,""),layerName:e,layers0:t},i=(0,uEe.default)(n,sEe()),a=(0,cEe.join)(r,"SceneServer");await Da(a,JSON.stringify(i))}var Cq=16;function fEe(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*Cq/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 Dq(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=Cq),e.mbs[3]*2*Cq/r}var gDt=[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],vDt=372,xDt=[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],bDt=372,yDt=[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],_Dt=12,Fq=(3+1)*(3+2)/2,wDt=2,tv=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],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=EDt(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(Fq);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 h=[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)],m=xDt;s!==0&&(m=s===this.options._height-2?yDt:gDt);let g=vDt;s!==0&&(g=s===this.options._height-2?bDt:240);for(let b=0;b<Fq;++b){p[b]=0;for(let y=0;y<_Dt;++y)p[b]+=h[y]*m[Fq*y+b];p[b]/=g}}if(!this.options.cubic){let h=(1-i)*u+i*c,m=(1-i)*l+i*f,g=(1-a)*h+a*m,b=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,b}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+wDt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function EDt(e,t){t=Math.abs(t);let r=pEe(e,t);return 2*Math.abs(r)===t?r-=pEe(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function pEe(e,t){return e-Math.floor(e/t)*t}var ADt=10,TDt=65535;function kq(e,t){let r=SDt(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 b=n.value.line;if(b.length)if(b[0]==="#"){let y=b.split(" "),w=y[0],T=y[1];if(w!=="#"||!T)continue;let E=y.length>2?y.slice(2):[];if(T==="Description")u=E.join(" ");else if(T==="DateTime")c=E.join(" ");else if(T==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(y[2],10)}else if(T==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(y[2])}else T===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):T===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=b.split(" ");if(y=y.filter(w=>w!==""),l=parseInt(y[0],10),f=parseInt(y[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==TDt)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 m=l/360,g=(f-1)/180;return new tv({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*SDt(e){let t=0;do{let r=e.indexOf(ADt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:dEe(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:dEe(n)}}}while(t<e.length);return{offset:t,line:""}}function dEe(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var CDt="4.3.1";var mC={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:CDt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>kq(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var rv=Dt(Cs(),1);var hEe={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 DDt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),FDt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),kDt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),BDt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),mEe=()=>({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,rv.default)(e,DDt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,rv.default)(e,hEe)},fullExtent:{path:"fullExtent",transform:e=>(0,rv.default)(e,BDt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,rv.default)(e,FDt())},nodePages:{path:"nodePages",transform:e=>(0,rv.default)(e,kDt())},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 Bq=Dt(Cs(),1),ODt=()=>({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}}}),IDt=()=>({"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}}}),gEe=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,Bq.default)(e,ODt())];return e.draco&&t.push((0,Bq.default)({geometryConfig:e},IDt())),t}}});var L1=Dt(Cs(),1),PDt=()=>({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}}),RDt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,L1.default)(r,PDt())}}),jDt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),MDt=()=>({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,L1.default)(n,jDt()))}}),vEe=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:LDt},textureDefinitions:{path:"textureDefinitionInfos",transform:qDt}});function LDt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,L1.default)(a,RDt());return n}function qDt(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,L1.default)(a,MDt())}return n}var NDt=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 bEe(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 UDt(t,e),GDt(t,e),t}function UDt(e,t){var o;let r=zDt(t.parentNode.obb),n=HDt(t);if(VDt(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 GDt(e,t){var a;let r=xEe(t.mbs),n=xEe(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 xEe(e){return new ra([e[0],e[1],e[2]],e[3])}function zDt(e){let{center:t,halfSize:r,quaternion:n}=e;return new ui().fromCenterHalfSizeQuaternion(t,r,n)}function HDt(e){let t=e.obb.halfSize,r=NDt,n=Bt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new Z(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 VDt(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=Bt.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 yEe=Dt(require("process"),1),$Dt=4*1024*1024*1024,nv=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),yEe.default.memoryUsage().rss>$Dt&&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 iv="Tile converter does not work in browser, only in node js environment",Zf=".dump.json";var Iq=require("path"),Pq=Dt(Cs(),1);var _Ee=Dt(Cs(),1),wEe=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),WDt=()=>({href:{path:"href"}}),KDt=()=>({id:{path:"id"},...WDt(),...wEe()}),Oq=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...wEe(),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,_Ee.default)(e,KDt()),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 Fs=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,Iq.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Vu(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,Iq.join)(this.converter.layers0Path,"nodes",t);return await Qg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Fs.createRootNodeIndexDocument(t);return await new Fs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Fs.createNodeIndexDocument(t,r,n,i,a);return await new Fs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Hu().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,Pq.default)(r,Oq())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,h;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,Pq.default)(u,Oq());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 m=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let b=0;b<g;b++){let y=t.converter.layers0.attributeStorageInfo[b].key;c.attributeData.push({href:`./attributes/${y}/0`})}}return c}};var Rq=async(e,t,r)=>{let n=q1(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])},jq=async(e,t,r)=>{let n=q1(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 za(a),s=await JDt(o),u=new k1(o,s,a),c=new ul(u),l=await $r(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await $r(e,t,r)}function q1(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function JDt(e){let t,r=await Jd(e,Yd),n=await Xd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Ss(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=D1(o)}return t}var xC=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await xC({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var XDt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],EEe=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Va(e.gltfArrayBuffer,Kc,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=YDt(n),a=QDt(n);return{meshTopologyTypes:i,metadataClasses:a}},YDt=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(XDt[i])}return t},QDt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[Fo])==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[Wc])==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 TEe=Dt(require("process"),1);var ZDt=.2,av=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||TEe.default.hrtime.bigint,this.threshold=t.threshold||ZDt}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?Zg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var a6e=require("util");var sp=require("path"),o6e=Dt(require("process"),1),s6e=Dt(n6e(),1);var i6e={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:h=!1,outputVersion:m="1.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:h,outputVersion:m};let g=(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`);if(await O1(g))try{let b=await Qg((0,sp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Zf}`),{options:y,tilesConverted:w,textureSetDefinitions:T,attributeMetadataInfo:E,materialDefinitions:k}=b;if(new s6e.default().compile(i6e)(b)&&(0,a6e.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=w,this.textureSetDefinitions=T,this.attributeMetadataInfo=E,this.materialDefinitions=k,this.restored=!0;return}}catch(b){console.log("Can't open dump file",b)}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=o6e.default.hrtime();await Da((0,sp.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}${Zf}.${r[0]}.${r[1]}`),await Mwe((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await O1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))&&await P1((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}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];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}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 c6e,EOt=(c6e=fh.default.env)==null?void 0:c6e.IonToken,u6e=64,AOt="3DTILES",TOt="3DObject",SOt=1800,COt="https://",up="phase1-count",yv=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=Ru;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new nv(new lh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new ZS,this.nodePages=new Si(Da,u6e,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(wr)return console.log(iv),iv;this.conversionStartTime=fh.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:m},this.progresses[up]=new av,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(COt)!==-1?f8:Ru,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new nv(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await $r(n,mC),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Vu);try{let b=await this._fetchPreloadOptions(),y=i;b.url&&(y=b.url),b.headers&&(this.loadOptions.fetch={headers:b.headers}),this.sourceTileset=await vC(y,this.Loader,this.loadOptions),(this.Loader===Ru||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(b){throw b}finally{await this.writeQueue.finalize(),qi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await xC({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[up].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(q1(t))return await Rq(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[up].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await jq(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 EEe(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,Go.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,Go.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,Go.join)(this.layers0Path,"nodepages"):n;try{await I1(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,eD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=ky(a.boundingVolume,new mr(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[up].startMonitoring();let u=await Fs.createRootNode(s,this);await xC({tile:a,traversalProps:{transform:new mr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[up].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=TOt),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,ZC.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),gEe()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),lEe(r,this.layers0,n);for(let p of this.compressList||[])await uC(p),await P1(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=Vwe(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Hu().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Hu().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:u6e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,ZC.default)(o,mEe())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Vu(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Go.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await mq(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await F1(i)}));try{await I1(t)}catch{}}async convertTile(t,r){let n=q1(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await Rq(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[up].stepsDone+=1;let f="Calculating time left...",p=this.progresses[up].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[up].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${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=fEe(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 Fs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Fs(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=ky(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 jq(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=ky(r.boundingVolume,n,null),o=pC(a,this.geoidHeightModel),s=oEe(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({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable: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 h of u||[p]){let{node:m,nodeInPage:g,nodeData:b}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=bEe(b),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await Sq({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass: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`),Si.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Si.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Si.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Si.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Si.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Si.updateVertexCountByNodeId(p,o)),Si.updateNodeAttributeByNodeId(p),s&&Si.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,Go.join)(this.layers0Path,"nodes",r),l=(0,Go.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,Go.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Vu(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,Go.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Vu(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,ZC.default)(t,vEe()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,Go.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>Vu(c,u,"sharedResource.json")})}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({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Jm({...t.image,data:l},LM,{...LM.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({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Jm(t.image.data[0],CM);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}default:}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({textureData:t,name:r,format:n,childPath:i,slpkChildPath:a,sourceId:o,nodeId:s}){let u=(0,Go.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Vu(u,t,`${r}.${n}`,c)})}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]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,Go.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>Vu(l,c,"0.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,eD.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,eD.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=Zwe(t.gltf,this.options.metadataClass)):r&&(n=Qwe(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({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=fh.default.hrtime(this.conversionStartTime),s=Zg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${AOt}`),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||EOt}},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]<SOt)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){let r=1;t.refine===r&&(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 R6e=require("path"),TU=Dt(require("process"),1),j6e=Dt(Cs(),1);function bU(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 l6e={UInt8:mt.UNSIGNED_BYTE,UInt16:mt.UNSIGNED_SHORT,Float32:mt.FLOAT,UInt32:mt.UNSIGNED_INT,UInt64:mt.DOUBLE};function _v(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 f6e="String",p6e="Oid32",d6e="Float64",h6e="Int16";function tD(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function wv(e,t=null){return t?`${e}?token=${t}`:e}function m6e(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 g6e(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 rD=new Z([0,0,0]);function FOt(e){switch(e){case"ktx-etc2":case"dds":return Y3;case"ktx2":return Bd;case"jpg":case"png":default:return cg}}var kOt="i3s-attribute-type";async function y6e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new mr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=wv(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=FOt(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===cg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Na(f,[],p,i);a.texture=d}catch{let h=await Va(f,u,p,i);a.texture=h}}else if(u===Y3||u===Bd){let p=await $r(f,u,t.textureLoaderOptions);u===Bd&&(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=qOt(t.materialDefinition,a.texture),a.material&&(a.texture=null),await BOt(e,a,t,r,n)}async function BOt(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 Va(e,ng,{draco:{attributeNameEntry:kOt}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:b,["feature-index"]:y,["uv-region"]:w}=d.attributes;o={position:h,normal:m,color:g,uv0:b,uvRegion:w,id:y},OOt(o,d);let T=zOt(y);T&&GOt(o,T)}else{let{vertexAttributes:d,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,b=POt(e,n);u=b.byteOffset,s=b.vertexCount,c=b.featureCount;let{attributes:y,byteOffset:w}=x6e(e,u,d,s,h),{attributes:T}=x6e(e,w,m,c,g);UOt(T),o=IOt(y,T)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=jOt(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=LOt(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:v6e(o.color),texCoords:o.uv0,uvRegions:v6e(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 OOt(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 IOt(e,t){return{...e,...t}}function v6e(e){return e&&(e.normalized=!0,e)}function POt(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=bU(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=_v(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=_v(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function x6e(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*_v(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=ROt(c,n*u,_v(s));else{let f=bU(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:l6e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*_v(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function ROt(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 jOt(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new mr,o=new Z(r[0],r[1],r[2]),s=new Z;return Bt.WGS84.cartographicToCartesian(o,s),Bt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=MOt(n,i,o),a}function MOt(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)Bt.WGS84.cartographicToCartesian(n.subarray(o,o+3),rD),n[o]=rD.x,n[o+1]=rD.y,n[o+2]=rD.z;return n}function LOt(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 mr;return i[0]=r,i[5]=n,i}function qOt(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=b6e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=b6e(r.pbrMetallicRoughness.baseColorFactor)),t&&NOt(r,t),r}function b6e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function NOt(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 UOt(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,h=u+d*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function GOt(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 zOt(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 HOt="4.3.1",_6e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:HOt,mimeTypes:["application/octet-stream"],parse:VOt,extensions:["bin"],options:{"i3s-content":{}}};async function VOt(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 y6e(e,s,u,t,r)}var $Ot="4.3.1",w6e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:$Ot,mimeTypes:["application/json"],parse:WOt,extensions:["json"],options:{i3s:{}}};async function WOt(e,t){return JSON.parse(new TextDecoder().decode(e))}var h_=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=wv(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:$r(a,w6e,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:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=h;let{textureData:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);u=g,c=m.format||c,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=g6e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return yU({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:xg(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=jy();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 E6e(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=m6e(r,e));let o=e.children||[];return yU({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function yU(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Bt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Bt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new ui().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 A6e(e,t,r){let n=tD(r.url||""),i,a;if(e.nodePages)i=new h_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=wv(`${n}/nodes/root`,o.token);a=await $r(s,ml,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:ml,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var KOt="4.3.1",JOt=/layers\/[0-9]+$/,XOt=/\.slpk$/,YOt=/nodes\/([0-9-]+|root)$/,QOt="504b0304",ZOt="PointCloud",ml={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:KOt,mimeTypes:["application/octet-stream"],parse:eIt,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 eIt(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},iIt(e)===QOt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=tD(n),o;t.i3s.isTileset==="auto"?o=JOt.test(a)||XOt.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=YOt.test(a):s=t.i3s.isTileHeader,o?e=await rIt(e,t,r):s?e=await nIt(e,r):e=await tIt(e,t),e}async function tIt(e,t){return await Va(e,_6e,t)}async function rIt(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===ZOt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await A6e(n,t,r)}async function nIt(e,t){return e=JSON.parse(new TextDecoder().decode(e)),E6e(e,t)}function iIt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var aIt=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/nodepages\/\d+$/,extensions:[".json.gz"]},{test:/sublayers\/\d+$/,extensions:["/3dSceneLayer.json.gz"]},{test:/nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx",".ktx2"]},{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"]}],nD=class extends cl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new cu;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=aIt.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 C1().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 Ss(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 _U(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 gq(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Ss(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=D1(u)}return new nD(e,a,r)}function S6e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?oIt(n,e):null}:{}}function oIt(e,t){switch(e){case f6e:return cIt(t);case p6e:return T6e(t);case d6e:return uIt(t);case h6e:return sIt(t);default:return T6e(t)}}function T6e(e){return new Uint32Array(e,4)}function sIt(e){return new Int16Array(e,4)}function uIt(e){return new Float64Array(e,8)}function cIt(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 lIt="4.3.1";var wU={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:lIt,mimeTypes:["application/binary"],parse:async(e,t)=>S6e(e,t),extensions:["bin"],options:{},binary:!0};function EU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Bt.WGS84.cartographicToCartesian(r,new Z),i=new ui().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var iD=Dt(Cs(),1),fIt=()=>({version:{path:"version",default:"1.0"}}),C6e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,iD.default)(t,C6e()))}}),D6e=()=>({asset:{path:"asset",transform:e=>(0,iD.default)(e,fIt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,iD.default)(e,C6e())}});function AU(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function F6e(e,t){let r=new Float32Array(e.length),n=dIt(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=pIt([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 pIt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function dIt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var hIt=new mr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),k6e=new Z,B6e="KHR_materials_unlit",mIt=1,gIt=1,aD=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?ci.BATCHED_3D_MODEL:ci.GLTF}async convert(t,r=null,n){let i=await this.buildGLTF(t,r,n);return this.tileType===ci.BATCHED_3D_MODEL?o3({gltfEncoded:new Uint8Array(i),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},bq):i}async buildGLTF(t,r,n){let{tileContent:i,textureFormat:a,box:o}=t,{material:s,attributes:u,indices:c,modelMatrix:l}=i,f=new Xt,p=await this._addI3sTextureToGLTF(i,a,f),d=s==null?void 0:s.pbrMetallicRoughness;d&&(d.metallicFactor===void 0||d.metallicFactor===mIt)&&(d.roughnessFactor===void 0||d.roughnessFactor===gIt)&&(f.addObjectExtension(s,B6e,{}),f.addExtension(B6e));let h=this._convertI3sMaterialToGLTFMaterial(s,p),m=f.addMaterial(h),g=u.positions,b=g.value;u.uvRegions&&u.texCoords&&(u.texCoords.value=F6e(u.texCoords.value,u.uvRegions.value));let y=new Z(o),w=Bt.WGS84.cartesianToCartographic(y,new Z);u.positions.value=this._normalizePositions(b,y,w,l),this._createBatchIds(i,r),u.normals&&!this._checkNormals(u.normals.value)&&delete u.normals;let T=c||dC(b.length/g.size),E=f.addMesh({attributes:u,indices:T,material:m,mode:4});this.tileType===ci.GLTF&&this._createMetadataExtensions(f,E,r,n,i);let k=this._generateTransformMatrix(y),B=f.addNode({meshIndex:E,matrix:k}),j=f.addScene({nodeIndices:[B]});return f.setDefaultScene(j),f.createBinaryChunk(),o3(f.gltf,rL,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,i,a){var c;let o=this._createPropertyAttibutes(n,i),s=H3(t,o),u=t.getMesh(r);for(let l of u.primitives)(c=a.attributes._BATCHID)!=null&&c.value&&G3(t,l,a.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let i in t){let a=this._convertAttributeStorageInfoToPropertyAttribute(i,r,t);a&&n.push(a)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let i=n[t],a=r.find(l=>l.name===t);if(!a)return null;let o=a.attributeValues;if(!(o!=null&&o.valueType))return null;let s,u;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",u="UINT32";break;case"int32":s="SCALAR",u="INT32";break;case"uint32":s="SCALAR",u="UINT32";break;case"int16":s="SCALAR",u="INT16";break;case"uint16":s="SCALAR",u="UINT16";break;case"float64":s="SCALAR",u="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let c={name:t,elementType:s,componentType:u,values:[]};return AU(i)?c.values=Array.from(i):i!==null&&(c.values=i),c}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 Z(r),c=new Z(Array.from(s)).transform(i).add(n);Bt.WGS84.cartographicToCartesian(c,k6e),c=k6e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new mr().translate(t).multiplyLeft(hIt)}_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 O6e=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 m_(t.contentUrl,ml,i,n)};async function I6e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new za(r),i=await _U(n,void 0,r);return new ul(i)}return null}async function m_(e,t,r,n){return n!==null?await $r(e,t,{...r,fetch:n.fetch.bind(n)}):await $r(e,t,r)}async function P6e(e){if(!(e!=null&&e.fileProvider))return 0;let t=new Set,r=zu(e.fileProvider);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var vIt="I3S",Ev=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;fileExt;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 av,this.fileExt=""}async convert(t){var m;if(wr)return console.log(iv),iv;let{inputUrl:r,outputPath:n,outputVersion:i,tilesetName:a,maxDepth:o,egmFilePath:s,inquirer:u,analyze:c}=t;this.conversionStartTime=TU.default.hrtime(),this.options={maxDepth:o,inquirer:u,outputVersion:i},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await $r(s,mC),console.log("Loading egm file completed!"),this.slpkFilesystem=await I6e(r);let l=!0;if((c||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||c)||(this.progress.startMonitoring(),this.sourceTileset=await m_(r,ml,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=Tq(f.mbs)),this.tilesetPath=(0,R6e.join)(`${n}`,`${a}`),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 I1(this.tilesetPath)}catch{}let p={boundingVolume:{box:EU(f.obb,this.geoidHeightModel)},geometricError:Dq(f),children:[],refine:"REPLACE"};await this._addChildren(f,p,1);let d=(0,j6e.default)({asset:{version:i},root:p},D6e());await Da(this.tilesetPath,JSON.stringify(d),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:a}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),qi.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await P6e(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}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await O6e(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:h}=this._createChildAndBoundingVolume(o),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},b=await new aD({outputVersion:this.options.outputVersion}).convert(m,p,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Da(this.tilesetPath,new Uint8Array(b),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,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 m_(a,ml,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=Tq(t.mbs));let r={box:EU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:Dq(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,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(m_(s,wU,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=TU.default.hrtime(this.conversionStartTime),i=Zg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${vIt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Av=require("path");var xIt="4.3.1",bIt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",oD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await $r(bIt,lq,{}),n=process.cwd();t&&(n=(0,Av.join)(n,t)),await Da(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(Rf[vn.DECODER],"draco",vn.DECODER),await this.installFromUrl(Rf[vn.DECODER_WASM],"draco",vn.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rf[vn.ENCODER],"draco",vn.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Iu.TRANSCODER,"libs"),await this.installFromNpm("textures",Iu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Iu.ENCODER,"libs"),await this.installFromNpm("textures",Iu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new o0,a=(0,Av.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,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let i=await ta(`https://unpkg.com/@loaders.gl/${t}@${xIt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,Av.join)(process.cwd(),"modules",t,"dist",n);await Da(o,a,r)}async installFromUrl(t,r,n){let a=await(await ta(t)).arrayBuffer();if(!a)return;let o=(0,Av.join)(process.cwd(),"modules",r,"dist","libs");await Da(o,a,n)}};function Rs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function M6e(e,t){let r=Rs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function L6e(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 q6e(e,t){let r=Rs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function js(e,t){let r=Rs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var G6e=require("fs/promises"),SU={I3S:"I3S",_3DTILES:"3DTILES"};async function yIt(){let[,,...e]=process.argv;e.length===0&&CU();let t=L6e(e),r=wIt(t);if(r.installDependencies){new oD().install("deps");return}if(r.addHash){let i=N6e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await sD.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,G6e.copyFile)(i.tileset,a);let o=await F1(zu(new za(a)));await hq(a,o,"@specialIndexFileHASH128@");return}let n=N6e(r);await _It(n)}yIt().catch(e=>{console.log(e),process.exit(1)});function CU(){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("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log("--output-version [3dtile version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. 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 _It(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case SU.I3S:await new Ev().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:sD.default});break;case SU._3DTILES:await new yv().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,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:sD.default});break;default:CU()}}function N6e(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]")},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(SU).includes(i.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:i=>t||Boolean(i)&&Object.values(["1.0","1.1"]).includes(i)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},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 wIt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,U6e.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=Rs(n,e);break;case"--tileset":t.tileset=M6e(n,e);break;case"--name":t.name=Rs(n,e);break;case"--output":t.output=Rs(n,e);break;case"--output-version":t.outputVersion=Rs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=js(n,e);break;case"--split-nodes":t.mergeMaterials=js(n,e);break;case"--max-depth":t.maxDepth=q6e(n,e);break;case"--add-hash":t.addHash=js(n,e);break;case"--egm":t.egm=Rs(n,e);break;case"--token":t.token=Rs(n,e);break;case"--no-draco":t.draco=js(n,e);break;case"--validate":t.validate=js(n,e);break;case"--install-dependencies":t.installDependencies=js(n,e);break;case"--generate-textures":t.generateTextures=js(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=js(n,e);break;case"--analyze":t.analyze=js(n,e);break;case"--quiet":t.quiet=js(n,e);break;case"--metadata-class":t.metadataClass=Rs(n,e);break;case"--help":CU();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
161
161
  /*! Bundled license information:
162
162
 
163
163
  is-buffer/index.js: