@deck.gl/geo-layers 9.0.0-alpha.7 → 9.0.0-beta.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.
package/dist.min.js CHANGED
@@ -4,23 +4,23 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var Qy=Object.create;var Bi=Object.defineProperty;var $y=Object.getOwnPropertyDescriptor;var eA=Object.getOwnPropertyNames;var tA=Object.getPrototypeOf,rA=Object.prototype.hasOwnProperty;var Wl=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var re=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),de=(t,e)=>{for(var r in e)Bi(t,r,{get:e[r],enumerable:!0})},Si=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of eA(e))!rA.call(t,i)&&i!==r&&Bi(t,i,{get:()=>e[i],enumerable:!(n=$y(e,i))||n.enumerable});return t},St=(t,e,r)=>(Si(t,e,"default"),r&&Si(r,e,"default")),P=(t,e,r)=>(r=t!=null?Qy(tA(t)):{},Si(e||!t||!t.__esModule?Bi(r,"default",{value:t,enumerable:!0}):r,t)),nA=t=>Si(Bi({},"__esModule",{value:!0}),t);var Ve=re((DO,Xl)=>{Xl.exports=globalThis.deck});var ze=re((UO,Yl)=>{Yl.exports=globalThis.deck});var Mi=re(dt=>{"use strict";var Zl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",oA=Zl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ql="["+Zl+"]["+oA+"]*",sA=new RegExp("^"+Ql+"$"),aA=function(e,r){for(var n=[],i=r.exec(e);i;){var o=[];o.startIndex=r.lastIndex-i[0].length;for(var s=i.length,a=0;a<s;a++)o.push(i[a]);n.push(o),i=r.exec(e)}return n},cA=function(e){var r=sA.exec(e);return!(r===null||typeof r>"u")};dt.isExist=function(t){return typeof t<"u"};dt.isEmptyObject=function(t){return Object.keys(t).length===0};dt.merge=function(t,e,r){if(e)for(var n=Object.keys(e),i=n.length,o=0;o<i;o++)r==="strict"?t[n[o]]=[e[n[o]]]:t[n[o]]=e[n[o]]};dt.getValue=function(t){return dt.isExist(t)?t:""};dt.isName=cA;dt.getAllMatches=aA;dt.nameRegexp=Ql});var ua=re(nf=>{"use strict";var ca=Mi(),uA={allowBooleanAttributes:!1,unpairedTags:[]};nf.validate=function(t,e){e=Object.assign({},uA,e);var r=[],n=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(var o=0;o<t.length;o++)if(t[o]==="<"&&t[o+1]==="?"){if(o+=2,o=ef(t,o),o.err)return o}else if(t[o]==="<"){var s=o;if(o++,t[o]==="!"){o=tf(t,o);continue}else{var a=!1;t[o]==="/"&&(a=!0,o++);for(var c="";o<t.length&&t[o]!==">"&&t[o]!==" "&&t[o]!==" "&&t[o]!==`
8
- `&&t[o]!=="\r";o++)c+=t[o];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),o--),!yA(c)){var u=void 0;return c.trim().length===0?u="Invalid space after '<'.":u="Tag '"+c+"' is an invalid name.",se("InvalidTag",u,Te(t,o))}var l=hA(t,o);if(l===!1)return se("InvalidAttr","Attributes for '"+c+"' have open quote.",Te(t,o));var f=l.value;if(o=l.index,f[f.length-1]==="/"){var h=o-f.length;f=f.substring(0,f.length-1);var d=rf(f,e);if(d===!0)n=!0;else return se(d.err.code,d.err.msg,Te(t,h+d.err.line))}else if(a)if(l.tagClosed){if(f.trim().length>0)return se("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",Te(t,s));var p=r.pop();if(c!==p.tagName){var g=Te(t,p.tagStartPos);return se("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+g.line+", col "+g.col+") instead of closing tag '"+c+"'.",Te(t,s))}r.length==0&&(i=!0)}else return se("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",Te(t,o));else{var m=rf(f,e);if(m!==!0)return se(m.err.code,m.err.msg,Te(t,o-f.length+m.err.line));if(i===!0)return se("InvalidXml","Multiple possible root nodes found.",Te(t,o));e.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:s}),n=!0}for(o++;o<t.length;o++)if(t[o]==="<")if(t[o+1]==="!"){o++,o=tf(t,o);continue}else if(t[o+1]==="?"){if(o=ef(t,++o),o.err)return o}else break;else if(t[o]==="&"){var A=mA(t,o);if(A==-1)return se("InvalidChar","char '&' is not expected.",Te(t,o));o=A}else if(i===!0&&!$l(t[o]))return se("InvalidXml","Extra text at the end",Te(t,o));t[o]==="<"&&o--}}else{if($l(t[o]))continue;return se("InvalidChar","char '"+t[o]+"' is not expected.",Te(t,o))}if(n){if(r.length==1)return se("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Te(t,r[0].tagStartPos));if(r.length>0)return se("InvalidXml","Invalid '"+JSON.stringify(r.map(function(_){return _.tagName}),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return se("InvalidXml","Start tag expected.",1);return!0};function $l(t){return t===" "||t===" "||t===`
9
- `||t==="\r"}function ef(t,e){for(var r=e;e<t.length;e++)if(t[e]=="?"||t[e]==" "){var n=t.substr(r,e-r);if(e>5&&n==="xml")return se("InvalidXml","XML declaration allowed only at the start of the document.",Te(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function tf(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){var r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var lA='"',fA="'";function hA(t,e){for(var r="",n="",i=!1;e<t.length;e++){if(t[e]===lA||t[e]===fA)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){i=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:i}}var dA=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function rf(t,e){for(var r=ca.getAllMatches(t,dA),n={},i=0;i<r.length;i++){if(r[i][1].length===0)return se("InvalidAttr","Attribute '"+r[i][2]+"' has no space in starting.",mn(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return se("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",mn(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return se("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",mn(r[i]));var o=r[i][2];if(!gA(o))return se("InvalidAttr","Attribute '"+o+"' is an invalid name.",mn(r[i]));if(!n.hasOwnProperty(o))n[o]=1;else return se("InvalidAttr","Attribute '"+o+"' is repeated.",mn(r[i]))}return!0}function pA(t,e){var r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}function mA(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,pA(t,e);for(var r=0;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}function se(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function gA(t){return ca.isName(t)}function yA(t){return ca.isName(t)}function Te(t,e){var r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function mn(t){return t.startIndex+t[1].length}});var sf=re(la=>{var of={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,r,n){return e}},AA=function(e){return Object.assign({},of,e)};la.buildOptions=AA;la.defaultOptions=of});var cf=re((jO,af)=>{"use strict";function wi(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _A(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var vA=function(){function t(r){_A(this,t),this.tagname=r,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push(wi({},n,i))},e.addChild=function(n){if(n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0){var i;this.child.push((i={},wi(i,n.tagname,n.child),wi(i,":@",n[":@"]),i))}else this.child.push(wi({},n.tagname,n.child))},t}();af.exports=vA});var ff=re((kO,lf)=>{function xA(t,e){return SA(t)||EA(t,e)||bA(t,e)||TA()}function TA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bA(t,e){if(t){if(typeof t=="string")return uf(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return uf(t,e)}}function uf(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function EA(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function SA(t){if(Array.isArray(t))return t}var BA=Mi();function CA(t,e){var r={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;for(var n=1,i=!1,o=!1,s="";e<t.length;e++)if(t[e]==="<"&&!o){if(i&&IA(t,e)){e+=7;var a=MA(t,e+1),c=xA(a,3);entityName=c[0],val=c[1],e=c[2],val.indexOf("&")===-1&&(r[PA(entityName)]={regx:RegExp("&".concat(entityName,";"),"g"),val})}else if(i&&OA(t,e))e+=8;else if(i&&RA(t,e))e+=8;else if(i&&LA(t,e))e+=9;else if(wA)o=!0;else throw new Error("Invalid DOCTYPE");n++,s=""}else if(t[e]===">"){if(o?t[e-1]==="-"&&t[e-2]==="-"&&(o=!1,n--):n--,n===0)break}else t[e]==="["?i=!0:s+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:e}}function MA(t,e){for(var r="";e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)r+=t[e];if(r=r.trim(),r.indexOf(" ")!==-1)throw new Error("External entites are not supported");for(var n=t[e++],i="";e<t.length&&t[e]!==n;e++)i+=t[e];return[r,i,e]}function wA(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function IA(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function OA(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function RA(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function LA(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function PA(t){if(BA.isName(t))return t;throw new Error("Invalid entity name ".concat(t))}lf.exports=CA});var df=re((JO,hf)=>{var FA=/^[-+]?0x[a-fA-F0-9]+$/,DA=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var NA={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function UA(t,e={}){if(e=Object.assign({},NA,e),!t||typeof t!="string")return t;let r=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(r))return t;if(e.hex&&FA.test(r))return Number.parseInt(r,16);{let n=DA.exec(r);if(n){let i=n[1],o=n[2],s=GA(n[3]),a=n[4]||n[6];if(!e.leadingZeros&&o.length>0&&i&&r[2]!==".")return t;if(!e.leadingZeros&&o.length>0&&!i&&r[1]!==".")return t;{let c=Number(r),u=""+c;return u.search(/[eE]/)!==-1||a?e.eNotation?c:t:r.indexOf(".")!==-1?u==="0"&&s===""||u===s||i&&u==="-"+s?c:t:o?s===u||i+s===u?c:t:r===u||r===i+u?c:t}}else return t}}function GA(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}hf.exports=UA});var gf=re((WO,mf)=>{"use strict";function pf(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Zt(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Zt=function(r){return typeof r}:Zt=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Zt(t)}function HA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var da=Mi(),gn=cf(),VA=ff(),zA=df(),qO="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,da.nameRegexp),jA=function t(e){HA(this,t),this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=kA,this.parseXml=KA,this.parseTextData=JA,this.resolveNameSpace=qA,this.buildAttributesMap=XA,this.isItStopNode=$A,this.replaceEntitiesValue=ZA,this.readStopNodeData=t1,this.saveTextToParentTag=QA,this.addChild=YA};function kA(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function JA(t,e,r,n,i,o,s){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){s||(t=this.replaceEntitiesValue(t));var a=this.options.tagValueProcessor(e,t,r,i,o);if(a==null)return t;if(Zt(a)!==Zt(t)||a!==t)return a;if(this.options.trimValues)return ha(t,this.options.parseTagValue,this.options.numberParseOptions);var c=t.trim();return c===t?ha(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function qA(t){if(this.options.removeNSPrefix){var e=t.split(":"),r=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=r+e[1])}return t}var WA=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function XA(t,e,r){if(!this.options.ignoreAttributes&&typeof t=="string"){for(var n=da.getAllMatches(t,WA),i=n.length,o={},s=0;s<i;s++){var a=this.resolveNameSpace(n[s][1]),c=n[s][4],u=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(u=this.options.transformAttributeName(u)),u==="__proto__"&&(u="#__proto__"),c!==void 0){this.options.trimValues&&(c=c.trim()),c=this.replaceEntitiesValue(c);var l=this.options.attributeValueProcessor(a,c,e);l==null?o[u]=c:Zt(l)!==Zt(c)||l!==c?o[u]=l:o[u]=ha(c,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(o[u]=!0)}if(!Object.keys(o).length)return;if(this.options.attributesGroupName){var f={};return f[this.options.attributesGroupName]=o,f}return o}}var KA=function(e){e=e.replace(/\r\n?/g,`
11
- `);for(var r=new gn("!xml"),n=r,i="",o="",s=0;s<e.length;s++){var a=e[s];if(a==="<")if(e[s+1]==="/"){var c=Yt(e,">",s,"Closing Tag is not closed."),u=e.substring(s+2,c).trim();if(this.options.removeNSPrefix){var l=u.indexOf(":");l!==-1&&(u=u.substr(l+1))}this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&(i=this.saveTextToParentTag(i,n,o));var f=o.substring(o.lastIndexOf(".")+1);if(u&&this.options.unpairedTags.indexOf(u)!==-1)throw new Error("Unpaired tag can not be used as closing tag: </".concat(u,">"));var h=0;f&&this.options.unpairedTags.indexOf(f)!==-1?(h=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):h=o.lastIndexOf("."),o=o.substring(0,h),n=this.tagsNodeStack.pop(),i="",s=c}else if(e[s+1]==="?"){var d=fa(e,s,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,n,o),!(this.options.ignoreDeclaration&&d.tagName==="?xml"||this.options.ignorePiTags)){var p=new gn(d.tagName);p.add(this.options.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&(p[":@"]=this.buildAttributesMap(d.tagExp,o,d.tagName)),this.addChild(n,p,o)}s=d.closeIndex+1}else if(e.substr(s+1,3)==="!--"){var g=Yt(e,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){var m=e.substring(s+4,g-2);i=this.saveTextToParentTag(i,n,o),n.add(this.options.commentPropName,[pf({},this.options.textNodeName,m)])}s=g}else if(e.substr(s+1,2)==="!D"){var A=VA(e,s);this.docTypeEntities=A.entities,s=A.i}else if(e.substr(s+1,2)==="!["){var _=Yt(e,"]]>",s,"CDATA is not closed.")-2,v=e.substring(s+9,_);if(i=this.saveTextToParentTag(i,n,o),this.options.cdataPropName)n.add(this.options.cdataPropName,[pf({},this.options.textNodeName,v)]);else{var x=this.parseTextData(v,n.tagname,o,!0,!1,!0);x==null&&(x=""),n.add(this.options.textNodeName,x)}s=_+2}else{var B=fa(e,s,this.options.removeNSPrefix),S=B.tagName,C=B.tagExp,E=B.attrExpPresent,b=B.closeIndex;this.options.transformTagName&&(S=this.options.transformTagName(S)),n&&i&&n.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,n,o,!1));var y=n;if(y&&this.options.unpairedTags.indexOf(y.tagname)!==-1&&(n=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),S!==r.tagname&&(o+=o?"."+S:S),this.isItStopNode(this.options.stopNodes,o,S)){var M="";if(C.length>0&&C.lastIndexOf("/")===C.length-1)s=B.closeIndex;else if(this.options.unpairedTags.indexOf(S)!==-1)s=B.closeIndex;else{var I=this.readStopNodeData(e,S,b+1);if(!I)throw new Error("Unexpected end of ".concat(S));s=I.i,M=I.tagContent}var O=new gn(S);S!==C&&E&&(O[":@"]=this.buildAttributesMap(C,o,S)),M&&(M=this.parseTextData(M,S,o,!0,E,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),O.add(this.options.textNodeName,M),this.addChild(n,O,o)}else{if(C.length>0&&C.lastIndexOf("/")===C.length-1){S[S.length-1]==="/"?(S=S.substr(0,S.length-1),o=o.substr(0,o.length-1),C=S):C=C.substr(0,C.length-1),this.options.transformTagName&&(S=this.options.transformTagName(S));var R=new gn(S);S!==C&&E&&(R[":@"]=this.buildAttributesMap(C,o,S)),this.addChild(n,R,o),o=o.substr(0,o.lastIndexOf("."))}else{var F=new gn(S);this.tagsNodeStack.push(n),S!==C&&E&&(F[":@"]=this.buildAttributesMap(C,o,S)),this.addChild(n,F,o),n=F}i="",s=b}}else i+=e[s]}return r.child};function YA(t,e,r){var n=this.options.updateTag(e.tagname,r,e[":@"]);n===!1||(typeof n=="string"&&(e.tagname=n),t.addChild(e))}var ZA=function(e){if(this.options.processEntities){for(var r in this.docTypeEntities){var n=this.docTypeEntities[r];e=e.replace(n.regx,n.val)}for(var i in this.lastEntities){var o=this.lastEntities[i];e=e.replace(o.regex,o.val)}if(this.options.htmlEntities)for(var s in this.htmlEntities){var a=this.htmlEntities[s];e=e.replace(a.regex,a.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function QA(t,e,r,n){return t&&(n===void 0&&(n=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function $A(t,e,r){var n="*."+r;for(var i in t){var o=t[i];if(n===o||e===o)return!0}return!1}function e1(t,e){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:">",n,i="",o=e;o<t.length;o++){var s=t[o];if(n)s===n&&(n="");else if(s==='"'||s==="'")n=s;else if(s===r[0])if(r[1]){if(t[o+1]===r[1])return{data:i,index:o}}else return{data:i,index:o};else s===" "&&(s=" ");i+=s}}function Yt(t,e,r,n){var i=t.indexOf(e,r);if(i===-1)throw new Error(n);return i+e.length-1}function fa(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:">",i=e1(t,e+1,n);if(i){var o=i.data,s=i.index,a=o.search(/\s/),c=o,u=!0;if(a!==-1&&(c=o.substr(0,a).replace(/\s\s*$/,""),o=o.substr(a+1)),r){var l=c.indexOf(":");l!==-1&&(c=c.substr(l+1),u=c!==i.data.substr(l+1))}return{tagName:c,tagExp:o,closeIndex:s,attrExpPresent:u}}}function t1(t,e,r){for(var n=r,i=1;r<t.length;r++)if(t[r]==="<")if(t[r+1]==="/"){var o=Yt(t,">",r,"".concat(e," is not closed")),s=t.substring(r+2,o).trim();if(s===e&&(i--,i===0))return{tagContent:t.substring(n,r),i:o};r=o}else if(t[r+1]==="?"){var a=Yt(t,"?>",r+1,"StopNode is not closed.");r=a}else if(t.substr(r+1,3)==="!--"){var c=Yt(t,"-->",r+3,"StopNode is not closed.");r=c}else if(t.substr(r+1,2)==="!["){var u=Yt(t,"]]>",r,"StopNode is not closed.")-2;r=u}else{var l=fa(t,r,">");if(l){var f=l&&l.tagName;f===e&&l.tagExp[l.tagExp.length-1]!=="/"&&i++,r=l.closeIndex}}}function ha(t,e,r){if(e&&typeof t=="string"){var n=t.trim();return n==="true"?!0:n==="false"?!1:zA(t,r)}else return da.isExist(t)?t:""}mf.exports=jA});var _f=re(Af=>{"use strict";function r1(t,e){return yf(t,e)}function yf(t,e,r){for(var n,i={},o=0;o<t.length;o++){var s=t[o],a=n1(s),c="";if(r===void 0?c=a:c=r+"."+a,a===e.textNodeName)n===void 0?n=s[a]:n+=""+s[a];else{if(a===void 0)continue;if(s[a]){var u=yf(s[a],e,c),l=o1(u,e);s[":@"]?i1(u,s[":@"],c,e):Object.keys(u).length===1&&u[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?u=u[e.textNodeName]:Object.keys(u).length===0&&(e.alwaysCreateTextNode?u[e.textNodeName]="":u=""),i[a]!==void 0&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(u)):e.isArray(a,c,l)?i[a]=[u]:i[a]=u}}}return typeof n=="string"?n.length>0&&(i[e.textNodeName]=n):n!==void 0&&(i[e.textNodeName]=n),i}function n1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function i1(t,e,r,n){if(e)for(var i=Object.keys(e),o=i.length,s=0;s<o;s++){var a=i[s];n.isArray(a,r+"."+a,!0,!0)?t[a]=[e[a]]:t[a]=e[a]}}function o1(t,e){var r=e.textNodeName,n=Object.keys(t).length;return!!(n===0||n===1&&(t[r]||typeof t[r]=="boolean"||t[r]===0))}Af.prettify=r1});var xf=re((KO,vf)=>{function s1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a1=sf(),c1=a1.buildOptions,u1=gf(),l1=_f(),f1=l1.prettify,h1=ua(),d1=function(){function t(r){s1(this,t),this.externalEntities={},this.options=c1(r)}var e=t.prototype;return e.parse=function(n,i){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});var o=h1.validate(n,i);if(o!==!0)throw Error("".concat(o.err.msg,":").concat(o.err.line,":").concat(o.err.col))}var s=new u1(this.options);s.addExternalEntities(this.externalEntities);var a=s.parseXml(n);return this.options.preserveOrder||a===void 0?a:f1(a,this.options)},e.addEntity=function(n,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=i},t}();vf.exports=d1});var Bf=re((YO,Sf)=>{var p1=`
12
- `;function m1(t,e){var r="";return e.format&&e.indentBy.length>0&&(r=p1),bf(t,e,"",r)}function bf(t,e,r,n){for(var i="",o=!1,s=0;s<t.length;s++){var a=t[s],c=g1(a),u="";if(r.length===0?u=c:u="".concat(r,".").concat(c),c===e.textNodeName){var l=a[c];y1(u,e)||(l=e.tagValueProcessor(c,l),l=Ef(l,e)),o&&(i+=n),i+=l,o=!1;continue}else if(c===e.cdataPropName){o&&(i+=n),i+="<![CDATA[".concat(a[c][0][e.textNodeName],"]]>"),o=!1;continue}else if(c===e.commentPropName){i+=n+"<!--".concat(a[c][0][e.textNodeName],"-->"),o=!0;continue}else if(c[0]==="?"){var f=Tf(a[":@"],e),h=c==="?xml"?"":n,d=a[c][0][e.textNodeName];d=d.length!==0?" "+d:"",i+=h+"<".concat(c).concat(d).concat(f,"?>"),o=!0;continue}var p=n;p!==""&&(p+=e.indentBy);var g=Tf(a[":@"],e),m=n+"<".concat(c).concat(g),A=bf(a[c],e,u,p);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!A||A.length===0)&&e.suppressEmptyNode?i+=m+"/>":A&&A.endsWith(">")?i+=m+">".concat(A).concat(n,"</").concat(c,">"):(i+=m+">",A&&n!==""&&(A.includes("/>")||A.includes("</"))?i+=n+e.indentBy+A+n:i+=A,i+="</".concat(c,">")),o=!0}return i}function g1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function Tf(t,e){var r="";if(t&&!e.ignoreAttributes)for(var n in t){var i=e.attributeValueProcessor(n,t[n]);i=Ef(i,e),i===!0&&e.suppressBooleanAttributes?r+=" ".concat(n.substr(e.attributeNamePrefix.length)):r+=" ".concat(n.substr(e.attributeNamePrefix.length),'="').concat(i,'"')}return r}function y1(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);var r=t.substr(t.lastIndexOf(".")+1);for(var n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+r)return!0;return!1}function Ef(t,e){if(t&&t.length>0&&e.processEntities)for(var r=0;r<e.entities.length;r++){var n=e.entities[r];t=t.replace(n.regex,n.val)}return t}Sf.exports=m1});var Mf=re((ZO,Cf)=>{"use strict";function yn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?yn=function(r){return typeof r}:yn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},yn(t)}function A1(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var _1=Bf(),v1={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Bt(t){this.options=Object.assign({},v1,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=b1),this.processTextOrObjNode=x1,this.options.format?(this.indentate=T1,this.tagEndChar=`>
7
+ "use strict";var __exports__=(()=>{var EA=Object.create;var Zs=Object.defineProperty;var wA=Object.getOwnPropertyDescriptor;var SA=Object.getOwnPropertyNames;var BA=Object.getPrototypeOf,CA=Object.prototype.hasOwnProperty;var yh=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var ce=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ae=(t,e)=>{for(var r in e)Zs(t,r,{get:e[r],enumerable:!0})},Ys=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of SA(e))!CA.call(t,s)&&s!==r&&Zs(t,s,{get:()=>e[s],enumerable:!(n=wA(e,s))||n.enumerable});return t},Dt=(t,e,r)=>(Ys(t,e,"default"),r&&Ys(r,e,"default")),U=(t,e,r)=>(r=t!=null?EA(BA(t)):{},Ys(e||!t||!t.__esModule?Zs(r,"default",{value:t,enumerable:!0}):r,t)),MA=t=>Ys(Zs({},"__esModule",{value:!0}),t);var Ye=ce((uL,_h)=>{_h.exports=globalThis.deck});var Ze=ce((fL,vh)=>{vh.exports=globalThis.deck});var $s=ce(bt=>{"use strict";var xh=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",OA=xh+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",bh="["+xh+"]["+OA+"]*",RA=new RegExp("^"+bh+"$"),LA=function(e,r){for(var n=[],s=r.exec(e);s;){var i=[];i.startIndex=r.lastIndex-s[0].length;for(var o=s.length,a=0;a<o;a++)i.push(s[a]);n.push(i),s=r.exec(e)}return n},PA=function(e){var r=RA.exec(e);return!(r===null||typeof r>"u")};bt.isExist=function(t){return typeof t<"u"};bt.isEmptyObject=function(t){return Object.keys(t).length===0};bt.merge=function(t,e,r){if(e)for(var n=Object.keys(e),s=n.length,i=0;i<s;i++)r==="strict"?t[n[i]]=[e[n[i]]]:t[n[i]]=e[n[i]]};bt.getValue=function(t){return bt.isExist(t)?t:""};bt.isName=PA;bt.getAllMatches=LA;bt.nameRegexp=bh});var Za=ce(Bh=>{"use strict";var Ya=$s(),FA={allowBooleanAttributes:!1,unpairedTags:[]};Bh.validate=function(t,e){e=Object.assign({},FA,e);var r=[],n=!1,s=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(var i=0;i<t.length;i++)if(t[i]==="<"&&t[i+1]==="?"){if(i+=2,i=Eh(t,i),i.err)return i}else if(t[i]==="<"){var o=i;if(i++,t[i]==="!"){i=wh(t,i);continue}else{var a=!1;t[i]==="/"&&(a=!0,i++);for(var c="";i<t.length&&t[i]!==">"&&t[i]!==" "&&t[i]!==" "&&t[i]!==`
8
+ `&&t[i]!=="\r";i++)c+=t[i];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),i--),!zA(c)){var u=void 0;return c.trim().length===0?u="Invalid space after '<'.":u="Tag '"+c+"' is an invalid name.",he("InvalidTag",u,Ce(t,i))}var l=UA(t,i);if(l===!1)return he("InvalidAttr","Attributes for '"+c+"' have open quote.",Ce(t,i));var f=l.value;if(i=l.index,f[f.length-1]==="/"){var h=i-f.length;f=f.substring(0,f.length-1);var d=Sh(f,e);if(d===!0)n=!0;else return he(d.err.code,d.err.msg,Ce(t,h+d.err.line))}else if(a)if(l.tagClosed){if(f.trim().length>0)return he("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",Ce(t,o));var p=r.pop();if(c!==p.tagName){var g=Ce(t,p.tagStartPos);return he("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+g.line+", col "+g.col+") instead of closing tag '"+c+"'.",Ce(t,o))}r.length==0&&(s=!0)}else return he("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",Ce(t,i));else{var m=Sh(f,e);if(m!==!0)return he(m.err.code,m.err.msg,Ce(t,i-f.length+m.err.line));if(s===!0)return he("InvalidXml","Multiple possible root nodes found.",Ce(t,i));e.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:o}),n=!0}for(i++;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="!"){i++,i=wh(t,i);continue}else if(t[i+1]==="?"){if(i=Eh(t,++i),i.err)return i}else break;else if(t[i]==="&"){var A=HA(t,i);if(A==-1)return he("InvalidChar","char '&' is not expected.",Ce(t,i));i=A}else if(s===!0&&!Th(t[i]))return he("InvalidXml","Extra text at the end",Ce(t,i));t[i]==="<"&&i--}}else{if(Th(t[i]))continue;return he("InvalidChar","char '"+t[i]+"' is not expected.",Ce(t,i))}if(n){if(r.length==1)return he("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Ce(t,r[0].tagStartPos));if(r.length>0)return he("InvalidXml","Invalid '"+JSON.stringify(r.map(function(v){return v.tagName}),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return he("InvalidXml","Start tag expected.",1);return!0};function Th(t){return t===" "||t===" "||t===`
9
+ `||t==="\r"}function Eh(t,e){for(var r=e;e<t.length;e++)if(t[e]=="?"||t[e]==" "){var n=t.substr(r,e-r);if(e>5&&n==="xml")return he("InvalidXml","XML declaration allowed only at the start of the document.",Ce(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function wh(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){var r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var NA='"',DA="'";function UA(t,e){for(var r="",n="",s=!1;e<t.length;e++){if(t[e]===NA||t[e]===DA)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){s=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:s}}var GA=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Sh(t,e){for(var r=Ya.getAllMatches(t,GA),n={},s=0;s<r.length;s++){if(r[s][1].length===0)return he("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",Un(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return he("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",Un(r[s]));if(r[s][3]===void 0&&!e.allowBooleanAttributes)return he("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",Un(r[s]));var i=r[s][2];if(!VA(i))return he("InvalidAttr","Attribute '"+i+"' is an invalid name.",Un(r[s]));if(!n.hasOwnProperty(i))n[i]=1;else return he("InvalidAttr","Attribute '"+i+"' is repeated.",Un(r[s]))}return!0}function kA(t,e){var r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}function HA(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,kA(t,e);for(var r=0;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}function he(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function VA(t){return Ya.isName(t)}function zA(t){return Ya.isName(t)}function Ce(t,e){var r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function Un(t){return t.startIndex+t[1].length}});var Mh=ce(Qa=>{var Ch={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},stopNodes:[],alwaysCreateTextNode:!1,isArray:function(){return!1},commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,r,n){return e}},jA=function(e){return Object.assign({},Ch,e)};Qa.buildOptions=jA;Qa.defaultOptions=Ch});var Oh=ce((gL,Ih)=>{"use strict";function ei(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function qA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var JA=function(){function t(r){qA(this,t),this.tagname=r,this.child=[],this[":@"]={}}var e=t.prototype;return e.add=function(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push(ei({},n,s))},e.addChild=function(n){if(n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0){var s;this.child.push((s={},ei(s,n.tagname,n.child),ei(s,":@",n[":@"]),s))}else this.child.push(ei({},n.tagname,n.child))},t}();Ih.exports=JA});var Ph=ce((yL,Lh)=>{function WA(t,e){return ZA(t)||YA(t,e)||KA(t,e)||XA()}function XA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
10
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function KA(t,e){if(t){if(typeof t=="string")return Rh(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rh(t,e)}}function Rh(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function YA(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function ZA(t){if(Array.isArray(t))return t}var QA=$s();function $A(t,e){var r={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;for(var n=1,s=!1,i=!1,o="";e<t.length;e++)if(t[e]==="<"&&!i){if(s&&r1(t,e)){e+=7;var a=e1(t,e+1),c=WA(a,3);entityName=c[0],val=c[1],e=c[2],val.indexOf("&")===-1&&(r[o1(entityName)]={regx:RegExp("&".concat(entityName,";"),"g"),val})}else if(s&&n1(t,e))e+=8;else if(s&&s1(t,e))e+=8;else if(s&&i1(t,e))e+=9;else if(t1)i=!0;else throw new Error("Invalid DOCTYPE");n++,o=""}else if(t[e]===">"){if(i?t[e-1]==="-"&&t[e-2]==="-"&&(i=!1,n--):n--,n===0)break}else t[e]==="["?s=!0:o+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:e}}function e1(t,e){for(var r="";e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)r+=t[e];if(r=r.trim(),r.indexOf(" ")!==-1)throw new Error("External entites are not supported");for(var n=t[e++],s="";e<t.length&&t[e]!==n;e++)s+=t[e];return[r,s,e]}function t1(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function r1(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function n1(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function s1(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function i1(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function o1(t){if(QA.isName(t))return t;throw new Error("Invalid entity name ".concat(t))}Lh.exports=$A});var Nh=ce((_L,Fh)=>{var a1=/^[-+]?0x[a-fA-F0-9]+$/,c1=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var u1={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function l1(t,e={}){if(e=Object.assign({},u1,e),!t||typeof t!="string")return t;let r=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(r))return t;if(e.hex&&a1.test(r))return Number.parseInt(r,16);{let n=c1.exec(r);if(n){let s=n[1],i=n[2],o=f1(n[3]),a=n[4]||n[6];if(!e.leadingZeros&&i.length>0&&s&&r[2]!==".")return t;if(!e.leadingZeros&&i.length>0&&!s&&r[1]!==".")return t;{let c=Number(r),u=""+c;return u.search(/[eE]/)!==-1||a?e.eNotation?c:t:r.indexOf(".")!==-1?u==="0"&&o===""||u===o||s&&u==="-"+o?c:t:i?o===u||s+o===u?c:t:r===u||r===s+u?c:t}}else return t}}function f1(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}Fh.exports=l1});var Gh=ce((vL,Uh)=>{"use strict";function Dh(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function dr(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?dr=function(r){return typeof r}:dr=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},dr(t)}function h1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var tc=$s(),Gn=Oh(),d1=Ph(),p1=Nh(),AL="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,tc.nameRegexp),m1=function t(e){h1(this,t),this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=g1,this.parseXml=x1,this.parseTextData=y1,this.resolveNameSpace=_1,this.buildAttributesMap=v1,this.isItStopNode=w1,this.replaceEntitiesValue=T1,this.readStopNodeData=B1,this.saveTextToParentTag=E1,this.addChild=b1};function g1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function y1(t,e,r,n,s,i,o){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t));var a=this.options.tagValueProcessor(e,t,r,s,i);if(a==null)return t;if(dr(a)!==dr(t)||a!==t)return a;if(this.options.trimValues)return ec(t,this.options.parseTagValue,this.options.numberParseOptions);var c=t.trim();return c===t?ec(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function _1(t){if(this.options.removeNSPrefix){var e=t.split(":"),r=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=r+e[1])}return t}var A1=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function v1(t,e,r){if(!this.options.ignoreAttributes&&typeof t=="string"){for(var n=tc.getAllMatches(t,A1),s=n.length,i={},o=0;o<s;o++){var a=this.resolveNameSpace(n[o][1]),c=n[o][4],u=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(u=this.options.transformAttributeName(u)),u==="__proto__"&&(u="#__proto__"),c!==void 0){this.options.trimValues&&(c=c.trim()),c=this.replaceEntitiesValue(c);var l=this.options.attributeValueProcessor(a,c,e);l==null?i[u]=c:dr(l)!==dr(c)||l!==c?i[u]=l:i[u]=ec(c,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(i[u]=!0)}if(!Object.keys(i).length)return;if(this.options.attributesGroupName){var f={};return f[this.options.attributesGroupName]=i,f}return i}}var x1=function(e){e=e.replace(/\r\n?/g,`
11
+ `);for(var r=new Gn("!xml"),n=r,s="",i="",o=0;o<e.length;o++){var a=e[o];if(a==="<")if(e[o+1]==="/"){var c=hr(e,">",o,"Closing Tag is not closed."),u=e.substring(o+2,c).trim();if(this.options.removeNSPrefix){var l=u.indexOf(":");l!==-1&&(u=u.substr(l+1))}this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&(s=this.saveTextToParentTag(s,n,i));var f=i.substring(i.lastIndexOf(".")+1);if(u&&this.options.unpairedTags.indexOf(u)!==-1)throw new Error("Unpaired tag can not be used as closing tag: </".concat(u,">"));var h=0;f&&this.options.unpairedTags.indexOf(f)!==-1?(h=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):h=i.lastIndexOf("."),i=i.substring(0,h),n=this.tagsNodeStack.pop(),s="",o=c}else if(e[o+1]==="?"){var d=$a(e,o,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");if(s=this.saveTextToParentTag(s,n,i),!(this.options.ignoreDeclaration&&d.tagName==="?xml"||this.options.ignorePiTags)){var p=new Gn(d.tagName);p.add(this.options.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&(p[":@"]=this.buildAttributesMap(d.tagExp,i,d.tagName)),this.addChild(n,p,i)}o=d.closeIndex+1}else if(e.substr(o+1,3)==="!--"){var g=hr(e,"-->",o+4,"Comment is not closed.");if(this.options.commentPropName){var m=e.substring(o+4,g-2);s=this.saveTextToParentTag(s,n,i),n.add(this.options.commentPropName,[Dh({},this.options.textNodeName,m)])}o=g}else if(e.substr(o+1,2)==="!D"){var A=d1(e,o);this.docTypeEntities=A.entities,o=A.i}else if(e.substr(o+1,2)==="!["){var v=hr(e,"]]>",o,"CDATA is not closed.")-2,x=e.substring(o+9,v);if(s=this.saveTextToParentTag(s,n,i),this.options.cdataPropName)n.add(this.options.cdataPropName,[Dh({},this.options.textNodeName,x)]);else{var b=this.parseTextData(x,n.tagname,i,!0,!1,!0);b==null&&(b=""),n.add(this.options.textNodeName,b)}o=v+2}else{var M=$a(e,o,this.options.removeNSPrefix),C=M.tagName,I=M.tagExp,B=M.attrExpPresent,S=M.closeIndex;this.options.transformTagName&&(C=this.options.transformTagName(C)),n&&s&&n.tagname!=="!xml"&&(s=this.saveTextToParentTag(s,n,i,!1));var y=n;if(y&&this.options.unpairedTags.indexOf(y.tagname)!==-1&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),C!==r.tagname&&(i+=i?"."+C:C),this.isItStopNode(this.options.stopNodes,i,C)){var R="";if(I.length>0&&I.lastIndexOf("/")===I.length-1)o=M.closeIndex;else if(this.options.unpairedTags.indexOf(C)!==-1)o=M.closeIndex;else{var P=this.readStopNodeData(e,C,S+1);if(!P)throw new Error("Unexpected end of ".concat(C));o=P.i,R=P.tagContent}var F=new Gn(C);C!==I&&B&&(F[":@"]=this.buildAttributesMap(I,i,C)),R&&(R=this.parseTextData(R,C,i,!0,B,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),F.add(this.options.textNodeName,R),this.addChild(n,F,i)}else{if(I.length>0&&I.lastIndexOf("/")===I.length-1){C[C.length-1]==="/"?(C=C.substr(0,C.length-1),i=i.substr(0,i.length-1),I=C):I=I.substr(0,I.length-1),this.options.transformTagName&&(C=this.options.transformTagName(C));var N=new Gn(C);C!==I&&B&&(N[":@"]=this.buildAttributesMap(I,i,C)),this.addChild(n,N,i),i=i.substr(0,i.lastIndexOf("."))}else{var G=new Gn(C);this.tagsNodeStack.push(n),C!==I&&B&&(G[":@"]=this.buildAttributesMap(I,i,C)),this.addChild(n,G,i),n=G}s="",o=S}}else s+=e[o]}return r.child};function b1(t,e,r){var n=this.options.updateTag(e.tagname,r,e[":@"]);n===!1||(typeof n=="string"&&(e.tagname=n),t.addChild(e))}var T1=function(e){if(this.options.processEntities){for(var r in this.docTypeEntities){var n=this.docTypeEntities[r];e=e.replace(n.regx,n.val)}for(var s in this.lastEntities){var i=this.lastEntities[s];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(var o in this.htmlEntities){var a=this.htmlEntities[o];e=e.replace(a.regex,a.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function E1(t,e,r,n){return t&&(n===void 0&&(n=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function w1(t,e,r){var n="*."+r;for(var s in t){var i=t[s];if(n===i||e===i)return!0}return!1}function S1(t,e){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:">",n,s="",i=e;i<t.length;i++){var o=t[i];if(n)o===n&&(n="");else if(o==='"'||o==="'")n=o;else if(o===r[0])if(r[1]){if(t[i+1]===r[1])return{data:s,index:i}}else return{data:s,index:i};else o===" "&&(o=" ");s+=o}}function hr(t,e,r,n){var s=t.indexOf(e,r);if(s===-1)throw new Error(n);return s+e.length-1}function $a(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:">",s=S1(t,e+1,n);if(s){var i=s.data,o=s.index,a=i.search(/\s/),c=i,u=!0;if(a!==-1&&(c=i.substr(0,a).replace(/\s\s*$/,""),i=i.substr(a+1)),r){var l=c.indexOf(":");l!==-1&&(c=c.substr(l+1),u=c!==s.data.substr(l+1))}return{tagName:c,tagExp:i,closeIndex:o,attrExpPresent:u}}}function B1(t,e,r){for(var n=r,s=1;r<t.length;r++)if(t[r]==="<")if(t[r+1]==="/"){var i=hr(t,">",r,"".concat(e," is not closed")),o=t.substring(r+2,i).trim();if(o===e&&(s--,s===0))return{tagContent:t.substring(n,r),i};r=i}else if(t[r+1]==="?"){var a=hr(t,"?>",r+1,"StopNode is not closed.");r=a}else if(t.substr(r+1,3)==="!--"){var c=hr(t,"-->",r+3,"StopNode is not closed.");r=c}else if(t.substr(r+1,2)==="!["){var u=hr(t,"]]>",r,"StopNode is not closed.")-2;r=u}else{var l=$a(t,r,">");if(l){var f=l&&l.tagName;f===e&&l.tagExp[l.tagExp.length-1]!=="/"&&s++,r=l.closeIndex}}}function ec(t,e,r){if(e&&typeof t=="string"){var n=t.trim();return n==="true"?!0:n==="false"?!1:p1(t,r)}else return tc.isExist(t)?t:""}Uh.exports=m1});var Vh=ce(Hh=>{"use strict";function C1(t,e){return kh(t,e)}function kh(t,e,r){for(var n,s={},i=0;i<t.length;i++){var o=t[i],a=M1(o),c="";if(r===void 0?c=a:c=r+"."+a,a===e.textNodeName)n===void 0?n=o[a]:n+=""+o[a];else{if(a===void 0)continue;if(o[a]){var u=kh(o[a],e,c),l=O1(u,e);o[":@"]?I1(u,o[":@"],c,e):Object.keys(u).length===1&&u[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?u=u[e.textNodeName]:Object.keys(u).length===0&&(e.alwaysCreateTextNode?u[e.textNodeName]="":u=""),s[a]!==void 0&&s.hasOwnProperty(a)?(Array.isArray(s[a])||(s[a]=[s[a]]),s[a].push(u)):e.isArray(a,c,l)?s[a]=[u]:s[a]=u}}}return typeof n=="string"?n.length>0&&(s[e.textNodeName]=n):n!==void 0&&(s[e.textNodeName]=n),s}function M1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function I1(t,e,r,n){if(e)for(var s=Object.keys(e),i=s.length,o=0;o<i;o++){var a=s[o];n.isArray(a,r+"."+a,!0,!0)?t[a]=[e[a]]:t[a]=e[a]}}function O1(t,e){var r=e.textNodeName,n=Object.keys(t).length;return!!(n===0||n===1&&(t[r]||typeof t[r]=="boolean"||t[r]===0))}Hh.prettify=C1});var jh=ce((bL,zh)=>{function R1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var L1=Mh(),P1=L1.buildOptions,F1=Gh(),N1=Vh(),D1=N1.prettify,U1=Za(),G1=function(){function t(r){R1(this,t),this.externalEntities={},this.options=P1(r)}var e=t.prototype;return e.parse=function(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});var i=U1.validate(n,s);if(i!==!0)throw Error("".concat(i.err.msg,":").concat(i.err.line,":").concat(i.err.col))}var o=new F1(this.options);o.addExternalEntities(this.externalEntities);var a=o.parseXml(n);return this.options.preserveOrder||a===void 0?a:D1(a,this.options)},e.addEntity=function(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s},t}();zh.exports=G1});var Kh=ce((TL,Xh)=>{var k1=`
12
+ `;function H1(t,e){var r="";return e.format&&e.indentBy.length>0&&(r=k1),Jh(t,e,"",r)}function Jh(t,e,r,n){for(var s="",i=!1,o=0;o<t.length;o++){var a=t[o],c=V1(a),u="";if(r.length===0?u=c:u="".concat(r,".").concat(c),c===e.textNodeName){var l=a[c];z1(u,e)||(l=e.tagValueProcessor(c,l),l=Wh(l,e)),i&&(s+=n),s+=l,i=!1;continue}else if(c===e.cdataPropName){i&&(s+=n),s+="<![CDATA[".concat(a[c][0][e.textNodeName],"]]>"),i=!1;continue}else if(c===e.commentPropName){s+=n+"<!--".concat(a[c][0][e.textNodeName],"-->"),i=!0;continue}else if(c[0]==="?"){var f=qh(a[":@"],e),h=c==="?xml"?"":n,d=a[c][0][e.textNodeName];d=d.length!==0?" "+d:"",s+=h+"<".concat(c).concat(d).concat(f,"?>"),i=!0;continue}var p=n;p!==""&&(p+=e.indentBy);var g=qh(a[":@"],e),m=n+"<".concat(c).concat(g),A=Jh(a[c],e,u,p);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?s+=m+">":s+=m+"/>":(!A||A.length===0)&&e.suppressEmptyNode?s+=m+"/>":A&&A.endsWith(">")?s+=m+">".concat(A).concat(n,"</").concat(c,">"):(s+=m+">",A&&n!==""&&(A.includes("/>")||A.includes("</"))?s+=n+e.indentBy+A+n:s+=A,s+="</".concat(c,">")),i=!0}return s}function V1(t){for(var e=Object.keys(t),r=0;r<e.length;r++){var n=e[r];if(n!==":@")return n}}function qh(t,e){var r="";if(t&&!e.ignoreAttributes)for(var n in t){var s=e.attributeValueProcessor(n,t[n]);s=Wh(s,e),s===!0&&e.suppressBooleanAttributes?r+=" ".concat(n.substr(e.attributeNamePrefix.length)):r+=" ".concat(n.substr(e.attributeNamePrefix.length),'="').concat(s,'"')}return r}function z1(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);var r=t.substr(t.lastIndexOf(".")+1);for(var n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+r)return!0;return!1}function Wh(t,e){if(t&&t.length>0&&e.processEntities)for(var r=0;r<e.entities.length;r++){var n=e.entities[r];t=t.replace(n.regex,n.val)}return t}Xh.exports=H1});var Zh=ce((EL,Yh)=>{"use strict";function kn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?kn=function(r){return typeof r}:kn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},kn(t)}function j1(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var q1=Kh(),J1={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,r){return r},attributeValueProcessor:function(e,r){return r},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Ut(t){this.options=Object.assign({},J1,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=K1),this.processTextOrObjNode=W1,this.options.format?(this.indentate=X1,this.tagEndChar=`>
13
13
  `,this.newLine=`
14
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Bt.prototype.build=function(t){return this.options.preserveOrder?_1(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t=A1({},this.options.arrayNodeName,t)),this.j2x(t,0).val)};Bt.prototype.j2x=function(t,e){var r="",n="";for(var i in t)if(typeof t[i]>"u")this.isAttribute(i)&&(n+="");else if(t[i]===null)this.isAttribute(i)?n+="":i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)n+=this.buildTextValNode(t[i],i,"",e);else if(yn(t[i])!=="object"){var o=this.isAttribute(i);if(o)r+=this.buildAttrPairStr(o,""+t[i]);else if(i===this.options.textNodeName){var s=this.options.tagValueProcessor(i,""+t[i]);n+=this.replaceEntitiesValue(s)}else n+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){for(var a=t[i].length,c="",u=0;u<a;u++){var l=t[i][u];typeof l>"u"||(l===null?i[0]==="?"?n+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:yn(l)==="object"?this.options.oneListGroup?c+=this.j2x(l,e+1).val:c+=this.processTextOrObjNode(l,i,e):c+=this.buildTextValNode(l,i,"",e))}this.options.oneListGroup&&(c=this.buildObjectNode(c,i,"",e)),n+=c}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName)for(var f=Object.keys(t[i]),h=f.length,d=0;d<h;d++)r+=this.buildAttrPairStr(f[d],""+t[i][f[d]]);else n+=this.processTextOrObjNode(t[i],i,e);return{attrStr:r,val:n}};Bt.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function x1(t,e,r){var n=this.j2x(t,r+1);return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}Bt.prototype.buildObjectNode=function(t,e,r,n){if(t==="")return e[0]==="?"?this.indentate(n)+"<"+e+r+"?"+this.tagEndChar:this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar;var i="</"+e+this.tagEndChar,o="";return e[0]==="?"&&(o="?",i=""),(r||r==="")&&t.indexOf("<")===-1?this.indentate(n)+"<"+e+r+o+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&o.length===0?this.indentate(n)+"<!--".concat(t,"-->")+this.newLine:this.indentate(n)+"<"+e+r+o+this.tagEndChar+t+this.indentate(n)+i};Bt.prototype.closeTag=function(t){var e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e="></".concat(t),e};Bt.prototype.buildTextValNode=function(t,e,r,n){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(n)+"<![CDATA[".concat(t,"]]>")+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(n)+"<!--".concat(t,"-->")+this.newLine;if(e[0]==="?")return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;var i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+i+"</"+e+this.tagEndChar};Bt.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e<this.options.entities.length;e++){var r=this.options.entities[e];t=t.replace(r.regex,r.val)}return t};function T1(t){return this.options.indentBy.repeat(t)}function b1(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}Cf.exports=Bt});var If=re((QO,wf)=>{"use strict";var E1=ua(),S1=xf(),B1=Mf();wf.exports={XMLParser:S1,XMLValidator:E1,XMLBuilder:B1}});var xc=re((md,Ln)=>{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof Wl=="function"&&typeof Ln=="object"&&Ln&&Ln.exports?Ln.exports=e():(t.dcodeIO=t.dcodeIO||{}).Long=e()})(md,function(){"use strict";function t(b,y,M){this.low=b|0,this.high=y|0,this.unsigned=!!M}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function e(b){return(b&&b.__isLong__)===!0}t.isLong=e;var r={},n={};function i(b,y){var M,I,O;return y?(b>>>=0,(O=0<=b&&b<256)&&(I=n[b],I)?I:(M=s(b,(b|0)<0?-1:0,!0),O&&(n[b]=M),M)):(b|=0,(O=-128<=b&&b<128)&&(I=r[b],I)?I:(M=s(b,b<0?-1:0,!1),O&&(r[b]=M),M))}t.fromInt=i;function o(b,y){if(isNaN(b)||!isFinite(b))return y?A:m;if(y){if(b<0)return A;if(b>=d)return S}else{if(b<=-p)return C;if(b+1>=p)return B}return b<0?o(-b,y).neg():s(b%h|0,b/h|0,y)}t.fromNumber=o;function s(b,y,M){return new t(b,y,M)}t.fromBits=s;var a=Math.pow;function c(b,y,M){if(b.length===0)throw Error("empty string");if(b==="NaN"||b==="Infinity"||b==="+Infinity"||b==="-Infinity")return m;if(typeof y=="number"?(M=y,y=!1):y=!!y,M=M||10,M<2||36<M)throw RangeError("radix");var I;if((I=b.indexOf("-"))>0)throw Error("interior hyphen");if(I===0)return c(b.substring(1),y,M).neg();for(var O=o(a(M,8)),R=m,F=0;F<b.length;F+=8){var X=Math.min(8,b.length-F),z=parseInt(b.substring(F,F+X),M);if(X<8){var Q=o(a(M,X));R=R.mul(Q).add(o(z))}else R=R.mul(O),R=R.add(o(z))}return R.unsigned=y,R}t.fromString=c;function u(b){return b instanceof t?b:typeof b=="number"?o(b):typeof b=="string"?c(b):s(b.low,b.high,b.unsigned)}t.fromValue=u;var l=1<<16,f=1<<24,h=l*l,d=h*h,p=d/2,g=i(f),m=i(0);t.ZERO=m;var A=i(0,!0);t.UZERO=A;var _=i(1);t.ONE=_;var v=i(1,!0);t.UONE=v;var x=i(-1);t.NEG_ONE=x;var B=s(-1,2147483647,!1);t.MAX_VALUE=B;var S=s(-1,-1,!0);t.MAX_UNSIGNED_VALUE=S;var C=s(0,-2147483648,!1);t.MIN_VALUE=C;var E=t.prototype;return E.toInt=function(){return this.unsigned?this.low>>>0:this.low},E.toNumber=function(){return this.unsigned?(this.high>>>0)*h+(this.low>>>0):this.high*h+(this.low>>>0)},E.toString=function(y){if(y=y||10,y<2||36<y)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(C)){var M=o(y),I=this.div(M),O=I.mul(M).sub(this);return I.toString(y)+O.toInt().toString(y)}else return"-"+this.neg().toString(y);for(var R=o(a(y,6),this.unsigned),F=this,X="";;){var z=F.div(R),Q=F.sub(z.mul(R)).toInt()>>>0,W=Q.toString(y);if(F=z,F.isZero())return W+X;for(;W.length<6;)W="0"+W;X=""+W+X}},E.getHighBits=function(){return this.high},E.getHighBitsUnsigned=function(){return this.high>>>0},E.getLowBits=function(){return this.low},E.getLowBitsUnsigned=function(){return this.low>>>0},E.getNumBitsAbs=function(){if(this.isNegative())return this.eq(C)?64:this.neg().getNumBitsAbs();for(var y=this.high!=0?this.high:this.low,M=31;M>0&&!(y&1<<M);M--);return this.high!=0?M+33:M+1},E.isZero=function(){return this.high===0&&this.low===0},E.isNegative=function(){return!this.unsigned&&this.high<0},E.isPositive=function(){return this.unsigned||this.high>=0},E.isOdd=function(){return(this.low&1)===1},E.isEven=function(){return(this.low&1)===0},E.equals=function(y){return e(y)||(y=u(y)),this.unsigned!==y.unsigned&&this.high>>>31===1&&y.high>>>31===1?!1:this.high===y.high&&this.low===y.low},E.eq=E.equals,E.notEquals=function(y){return!this.eq(y)},E.neq=E.notEquals,E.lessThan=function(y){return this.comp(y)<0},E.lt=E.lessThan,E.lessThanOrEqual=function(y){return this.comp(y)<=0},E.lte=E.lessThanOrEqual,E.greaterThan=function(y){return this.comp(y)>0},E.gt=E.greaterThan,E.greaterThanOrEqual=function(y){return this.comp(y)>=0},E.gte=E.greaterThanOrEqual,E.compare=function(y){if(e(y)||(y=u(y)),this.eq(y))return 0;var M=this.isNegative(),I=y.isNegative();return M&&!I?-1:!M&&I?1:this.unsigned?y.high>>>0>this.high>>>0||y.high===this.high&&y.low>>>0>this.low>>>0?-1:1:this.sub(y).isNegative()?-1:1},E.comp=E.compare,E.negate=function(){return!this.unsigned&&this.eq(C)?C:this.not().add(_)},E.neg=E.negate,E.add=function(y){e(y)||(y=u(y));var M=this.high>>>16,I=this.high&65535,O=this.low>>>16,R=this.low&65535,F=y.high>>>16,X=y.high&65535,z=y.low>>>16,Q=y.low&65535,W=0,K=0,ee=0,xe=0;return xe+=R+Q,ee+=xe>>>16,xe&=65535,ee+=O+z,K+=ee>>>16,ee&=65535,K+=I+X,W+=K>>>16,K&=65535,W+=M+F,W&=65535,s(ee<<16|xe,W<<16|K,this.unsigned)},E.subtract=function(y){return e(y)||(y=u(y)),this.add(y.neg())},E.sub=E.subtract,E.multiply=function(y){if(this.isZero()||(e(y)||(y=u(y)),y.isZero()))return m;if(this.eq(C))return y.isOdd()?C:m;if(y.eq(C))return this.isOdd()?C:m;if(this.isNegative())return y.isNegative()?this.neg().mul(y.neg()):this.neg().mul(y).neg();if(y.isNegative())return this.mul(y.neg()).neg();if(this.lt(g)&&y.lt(g))return o(this.toNumber()*y.toNumber(),this.unsigned);var M=this.high>>>16,I=this.high&65535,O=this.low>>>16,R=this.low&65535,F=y.high>>>16,X=y.high&65535,z=y.low>>>16,Q=y.low&65535,W=0,K=0,ee=0,xe=0;return xe+=R*Q,ee+=xe>>>16,xe&=65535,ee+=O*Q,K+=ee>>>16,ee&=65535,ee+=R*z,K+=ee>>>16,ee&=65535,K+=I*Q,W+=K>>>16,K&=65535,K+=O*z,W+=K>>>16,K&=65535,K+=R*X,W+=K>>>16,K&=65535,W+=M*Q+I*z+O*X+R*F,W&=65535,s(ee<<16|xe,W<<16|K,this.unsigned)},E.mul=E.multiply,E.divide=function(y){if(e(y)||(y=u(y)),y.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?A:m;var M,I,O;if(this.unsigned){if(y.unsigned||(y=y.toUnsigned()),y.gt(this))return A;if(y.gt(this.shru(1)))return v;O=A}else{if(this.eq(C)){if(y.eq(_)||y.eq(x))return C;if(y.eq(C))return _;var R=this.shr(1);return M=R.div(y).shl(1),M.eq(m)?y.isNegative()?_:x:(I=this.sub(y.mul(M)),O=M.add(I.div(y)),O)}else if(y.eq(C))return this.unsigned?A:m;if(this.isNegative())return y.isNegative()?this.neg().div(y.neg()):this.neg().div(y).neg();if(y.isNegative())return this.div(y.neg()).neg();O=m}for(I=this;I.gte(y);){M=Math.max(1,Math.floor(I.toNumber()/y.toNumber()));for(var F=Math.ceil(Math.log(M)/Math.LN2),X=F<=48?1:a(2,F-48),z=o(M),Q=z.mul(y);Q.isNegative()||Q.gt(I);)M-=X,z=o(M,this.unsigned),Q=z.mul(y);z.isZero()&&(z=_),O=O.add(z),I=I.sub(Q)}return O},E.div=E.divide,E.modulo=function(y){return e(y)||(y=u(y)),this.sub(this.div(y).mul(y))},E.mod=E.modulo,E.not=function(){return s(~this.low,~this.high,this.unsigned)},E.and=function(y){return e(y)||(y=u(y)),s(this.low&y.low,this.high&y.high,this.unsigned)},E.or=function(y){return e(y)||(y=u(y)),s(this.low|y.low,this.high|y.high,this.unsigned)},E.xor=function(y){return e(y)||(y=u(y)),s(this.low^y.low,this.high^y.high,this.unsigned)},E.shiftLeft=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low<<y,this.high<<y|this.low>>>32-y,this.unsigned):s(0,this.low<<y-32,this.unsigned)},E.shl=E.shiftLeft,E.shiftRight=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?s(this.low>>>y|this.high<<32-y,this.high>>y,this.unsigned):s(this.high>>y-32,this.high>=0?0:-1,this.unsigned)},E.shr=E.shiftRight,E.shiftRightUnsigned=function(y){if(e(y)&&(y=y.toInt()),y&=63,y===0)return this;var M=this.high;if(y<32){var I=this.low;return s(I>>>y|M<<32-y,M>>>y,this.unsigned)}else return y===32?s(M,0,this.unsigned):s(M>>>y-32,0,this.unsigned)},E.shru=E.shiftRightUnsigned,E.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},E.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},E.toBytes=function(b){return b?this.toBytesLE():this.toBytesBE()},E.toBytesLE=function(){var b=this.high,y=this.low;return[y&255,y>>>8&255,y>>>16&255,y>>>24&255,b&255,b>>>8&255,b>>>16&255,b>>>24&255]},E.toBytesBE=function(){var b=this.high,y=this.low;return[b>>>24&255,b>>>16&255,b>>>8&255,b&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255]},t})});var wo=re((nU,dp)=>{dp.exports=globalThis.h3||{}});var _t=re((hU,Cp)=>{Cp.exports=globalThis.luma});var Vo=re((bG,am)=>{am.exports=globalThis.deck});var jr=re((g4,Mm)=>{Mm.exports=globalThis.loaders});var iy=re((Nj,ny)=>{ny.exports=globalThis.deck});var py=re(Rl=>{Rl.read=function(t,e,r,n,i){var o,s,a=i*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=o*256+t[e+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=n;l>0;s=s*256+t[e+f],f+=h,l-=8);if(o===0)o=1-u;else{if(o===c)return s?NaN:(d?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-u}return(d?-1:1)*s*Math.pow(2,o-n)};Rl.write=function(t,e,r,n,i,o){var s,a,c,u=o*8-i-1,l=(1<<u)-1,f=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+f>=1?e+=h/c:e+=h*Math.pow(2,1-f),e*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(e*c-1)*Math.pow(2,i),s=s+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;t[r+d]=a&255,d+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;t[r+d]=s&255,d+=p,s/=256,u-=8);t[r+d-p]|=g*128}});var vy=re((Bk,_y)=>{"use strict";_y.exports=k;var Zs=py();function k(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}k.Varint=0;k.Fixed64=1;k.Bytes=2;k.Fixed32=5;var Ll=(1<<16)*(1<<16),my=1/Ll,s2=12,Ay=typeof TextDecoder>"u"?null:new TextDecoder("utf8");k.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,o=this.pos;this.type=n&7,t(i,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Qs(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=yy(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Qs(this.buf,this.pos)+Qs(this.buf,this.pos+4)*Ll;return this.pos+=8,t},readSFixed64:function(){var t=Qs(this.buf,this.pos)+yy(this.buf,this.pos+4)*Ll;return this.pos+=8,t},readFloat:function(){var t=Zs.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Zs.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,a2(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=s2&&Ay?x2(this.buf,e,t):v2(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==k.Bytes)return t.push(this.readVarint(e));var r=Et(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==k.Bytes)return t.push(this.readSVarint());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==k.Bytes)return t.push(this.readBoolean());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==k.Bytes)return t.push(this.readFloat());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==k.Bytes)return t.push(this.readDouble());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed32());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed32());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readFixed64());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==k.Bytes)return t.push(this.readSFixed64());var e=Et(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===k.Varint)for(;this.buf[this.pos++]>127;);else if(e===k.Bytes)this.pos=this.readVarint()+this.pos;else if(e===k.Fixed32)this.pos+=4;else if(e===k.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),pn(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),pn(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),pn(this.buf,t&-1,this.pos),pn(this.buf,Math.floor(t*my),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),pn(this.buf,t&-1,this.pos),pn(this.buf,Math.floor(t*my),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){c2(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=T2(this.buf,t,this.pos);var r=this.pos-e;r>=128&&gy(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Zs.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Zs.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&gy(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,k.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,f2,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,h2,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,m2,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,d2,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,p2,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,g2,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,y2,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,A2,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,_2,e)},writeBytesField:function(t,e){this.writeTag(t,k.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,k.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,k.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,k.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function a2(t,e,r){var n=r.buf,i,o;if(o=n[r.pos++],i=(o&112)>>4,o<128||(o=n[r.pos++],i|=(o&127)<<3,o<128)||(o=n[r.pos++],i|=(o&127)<<10,o<128)||(o=n[r.pos++],i|=(o&127)<<17,o<128)||(o=n[r.pos++],i|=(o&127)<<24,o<128)||(o=n[r.pos++],i|=(o&1)<<31,o<128))return dn(t,i,e);throw new Error("Expected varint not more than 10 bytes")}function Et(t){return t.type===k.Bytes?t.readVarint()+t.pos:t.pos+1}function dn(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function c2(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),u2(r,n,e),l2(n,e)}function u2(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function l2(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function gy(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function f2(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function h2(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function d2(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function p2(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function m2(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function g2(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function y2(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function A2(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function _2(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function Qs(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function pn(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function yy(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function v2(t,e,r){for(var n="",i=e;i<r;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a>r)break;var c,u,l;a===1?o<128&&(s=o):a===2?(c=t[i+1],(c&192)===128&&(s=(o&31)<<6|c&63,s<=127&&(s=null))):a===3?(c=t[i+1],u=t[i+2],(c&192)===128&&(u&192)===128&&(s=(o&15)<<12|(c&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):a===4&&(c=t[i+1],u=t[i+2],l=t[i+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(s=(o&15)<<18|(c&63)<<12|(u&63)<<6|l&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,a=1):s>65535&&(s-=65536,n+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),n+=String.fromCharCode(s),i+=a}return n}function x2(t,e,r){return Ay.decode(t.subarray(e,r))}function T2(t,e,r){for(var n=0,i,o;n<e.length;n++){if(i=e.charCodeAt(n),i>55295&&i<57344)if(o)if(i<56320){t[r++]=239,t[r++]=191,t[r++]=189,o=i;continue}else i=o-55296<<10|i-56320|65536,o=null;else{i>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):o=i;continue}else o&&(t[r++]=239,t[r++]=191,t[r++]=189,o=null);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:(i<65536?t[r++]=i>>12|224:(t[r++]=i>>18|240,t[r++]=i>>12&63|128),t[r++]=i>>6&63|128),t[r++]=i&63|128)}return r}});var Ei={};de(Ei,{GeohashLayer:()=>aa,GreatCircleLayer:()=>io,H3ClusterLayer:()=>Do,H3HexagonLayer:()=>cr,MVTLayer:()=>ia,QuadkeyLayer:()=>po,S2Layer:()=>lo,TerrainLayer:()=>ks,Tile3DLayer:()=>Ds,TileLayer:()=>At,TripsLayer:()=>Mo,_GeoCellLayer:()=>Le,_Tile2DHeader:()=>Pn,_Tileset2D:()=>Hn,_WMSLayer:()=>to,_getURLFromTemplate:()=>ot});var Qe={},Kl=P(Ve());St(Qe,P(Ve()));if(!Kl.GeoJsonLayer)throw new Error("@deck.gl/layers is not found");St(Ei,Qe);var ar=P(ze()),fd=P(Ve());function iA(t){return typeof t=="string"?t.charAt(0).toLowerCase()+t.slice(1):t}function Ci(t){if(Array.isArray(t))return t.map(e=>Ci(e));if(t&&typeof t=="object"){let e={};for(let[r,n]of Object.entries(t))e[iA(r)]=Ci(n);return e}return t}var Of=P(If(),1);function pa(t,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e?._parser);let r={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e?.removeNSPrefix,textNodeName:e?.textNodeName,isArray:(i,o,s,a)=>{var c;return Boolean(e==null||(c=e.arrayPaths)===null||c===void 0?void 0:c.some(l=>o===l))},...e?._fastXML},n=C1(t,r);return e!=null&&e.uncapitalizeKeys?Ci(n):n}function C1(t,e){return new Of.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(t)}var M1="4.1.0-alpha.9",Ae={name:"XML",id:"xml",module:"xml",version:M1,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:w1,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(t,e)=>pa(new TextDecoder().decode(t),{...Ae.options.xml,...e?.xml}),parseTextSync:(t,e)=>pa(t,{...Ae.options.xml,...e?.xml})};function w1(t){return t.startsWith("<?xml")}async function Ce(t,e,r,n){return n._parse(t,e,r,n)}function H(t,e){if(!t)throw new Error(e||"loader assertion failed.")}var $e={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},I1=$e.self||$e.window||$e.global||{},O1=$e.window||$e.self||$e.global||{},R1=$e.global||$e.self||$e.window||{},L1=$e.document||{};var An=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Rf=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),P1=Rf&&parseFloat(Rf[1])||0;function ma(t,e){return Lf(t||{},e)}function Lf(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(r>3)return e;let n={...t};for(let[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=Lf(n[i]||{},e[i],r+1):n[i]=e[i];return n}function F1(){var t;return(t=globalThis._loadersgl_)!==null&&t!==void 0&&t.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.1.0-alpha.9"),globalThis._loadersgl_.version}var Pf=F1();function Ff(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var et={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},uR=et.self||et.window||et.global||{},lR=et.window||et.self||et.global||{},fR=et.global||et.self||et.window||{},hR=et.document||{};var Mr=typeof process!="object"||String(process)!=="[object process]"||process.browser,Ii=typeof importScripts=="function",dR=typeof window<"u"&&typeof window.orientation<"u",Df=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),pR=Df&&parseFloat(Df[1])||0;var ga={};async function tt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return e&&(t=Nf(t,e,r,n)),ga[t]=ga[t]||D1(t),await ga[t]}function Nf(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(!r.useLocalLibraries&&t.startsWith("http"))return t;n=n||t;let i=r.modules||{};return i[n]?i[n]:Mr?r.CDN?(Ff(r.CDN.startsWith("http")),`${r.CDN}/${e}@${Pf}/dist/libs/${n}`):Ii?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function D1(t){if(t.endsWith("wasm"))return await U1(t);if(!Mr)try{return Me&&Me.requireFromFile&&await Me.requireFromFile(t)}catch(r){return console.error(r),null}if(Ii)return importScripts(t);let e=await G1(t);return N1(e,t)}function N1(t,e){if(!Mr)return Me.requireFromString&&Me.requireFromString(t,e);if(Ii)return eval.call(globalThis,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}async function U1(t){return Mr||!Me.readFileAsArrayBuffer||t.startsWith("http")?await(await fetch(t)).arrayBuffer():await Me.readFileAsArrayBuffer(t)}async function G1(t){return Mr||!Me.readFileAsText||t.startsWith("http")?await(await fetch(t)).text():await Me.readFileAsText(t)}function Gf(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof t=="string"?t.slice(0,e):ArrayBuffer.isView(t)?Uf(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?Uf(t,0,e):""}function Uf(t,e,r){if(t.byteLength<=e+r)return"";let n=new DataView(t),i="";for(let o=0;o<r;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}function ya(t){try{return JSON.parse(t)}catch{throw new Error(`Failed to parse JSON from data starting with "${Gf(t)}"`)}}function _n(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n=e,i=n&&n.length>1&&n[0].constructor||null;if(!i)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let o=n.reduce((c,u)=>c+u.length,0),s=new i(o),a=0;for(let c of n)s.set(c,a),a+=c.length;return s}function Qt(t,e,r){let n=r!==void 0?new Uint8Array(t).subarray(e,e+r):new Uint8Array(t).subarray(e);return new Uint8Array(n).buffer}function Ct(t,e){return H(t>=0),H(e>0),t+(e-1)&~(e-1)}function Aa(t,e,r){let n;if(t instanceof ArrayBuffer)n=new Uint8Array(t);else{let i=t.byteOffset,o=t.byteLength;n=new Uint8Array(t.buffer||t.arrayBuffer,i,o)}return e.set(n,r),r+Ct(n.byteLength,4)}function vn(){let t;if(typeof window<"u"&&window.performance)t=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var $t=class{constructor(e,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=e,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=vn(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(vn()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Mt=class{constructor(e){this.id=void 0,this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:e,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let r of Object.values(this.stats))e(r)}getTable(){let e={};return this.forEach(r=>{e[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(e){let{name:r,type:n}=e,i=this.stats[r];return i||(e instanceof $t?i=e:i=new $t(r,n),this.stats[r]=i),i}};var H1="Queued Requests",V1="Active Requests",z1="Cancelled Requests",j1="Queued Requests Ever",k1="Active Requests Ever",J1={id:"request-scheduler",throttleRequests:!0,maxRequests:6},wt=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.props=void 0,this.stats=void 0,this.activeRequestCount=0,this.requestQueue=[],this.requestMap=new Map,this.deferredUpdate=null,this.props={...J1,...e},this.stats=new Mt({id:this.props.id}),this.stats.get(H1),this.stats.get(V1),this.stats.get(z1),this.stats.get(j1),this.stats.get(k1)}scheduleRequest(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);let n={handle:e,priority:0,getPriority:r},i=new Promise(o=>(n.resolve=o,n));return this.requestQueue.push(n),this.requestMap.set(e,i),this._issueNewRequests(),i}_issueRequest(e){let{handle:r,resolve:n}=e,i=!1,o=()=>{i||(i=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:o}):Promise.resolve({done:o})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let r=0;r<e;++r){let n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){let e=this.requestQueue;for(let r=0;r<e.length;++r){let n=e[r];this._updateRequest(n)||(e.splice(r,1),this.requestMap.delete(n.handle),r--)}e.sort((r,n)=>r.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}};var It={};de(It,{dirname:()=>W1,filename:()=>q1,join:()=>X1,resolve:()=>K1});function Hf(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)===null||t===void 0?void 0:t.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function q1(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(e+1):""}function W1(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(0,e):""}function X1(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n="/";return e=e.map((i,o)=>(o&&(i=i.replace(new RegExp(`^${n}`),"")),o!==e.length-1&&(i=i.replace(new RegExp(`${n}$`),"")),i)),e.join(n)}function K1(){let t=[];for(let i=0;i<arguments.length;i++)t[i]=i<0||arguments.length<=i?void 0:arguments[i];let e="",r=!1,n;for(let i=t.length-1;i>=-1&&!r;i--){let o;i>=0?o=t[i]:(n===void 0&&(n=Hf()),o=n),o.length!==0&&(e=`${o}/${e}`,r=o.charCodeAt(0)===xn)}return e=Y1(e,!r),r?`/${e}`:e.length>0?e:"."}var xn=47,_a=46;function Y1(t,e){let r="",n=-1,i=0,o,s=!1;for(let a=0;a<=t.length;++a){if(a<t.length)o=t.charCodeAt(a);else{if(o===xn)break;o=xn}if(o===xn){if(!(n===a-1||i===1))if(n!==a-1&&i===2){if(r.length<2||!s||r.charCodeAt(r.length-1)!==_a||r.charCodeAt(r.length-2)!==_a){if(r.length>2){let c=r.length-1,u=c;for(;u>=0&&r.charCodeAt(u)!==xn;--u);if(u!==c){r=u===-1?"":r.slice(0,u),n=a,i=0,s=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,i=0,s=!1;continue}}e&&(r.length>0?r+="/..":r="..",s=!0)}else{let c=t.slice(n+1,a);r.length>0?r+=`/${c}`:r=c,s=!1}n=a,i=0}else o===_a&&i!==-1?++i:i=-1}return r}var Oi=class{constructor(e){this.data=void 0,this.fetch=void 0,this.loadOptions=void 0,this._needsRefresh=!0,this.props=void 0,this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=Z1(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=this._needsRefresh;return e&&(this._needsRefresh=!1),r}};function Z1(t){let e=t?.fetch;if(e&&typeof e=="function")return(n,i)=>e(n,i);let r=t?.fetch;return r&&typeof r!="function"?n=>fetch(n,r):n=>fetch(n)}var Re=class extends Oi{};Re.type="template";Re.testURL=t=>!1;function Vf(t,e){var r,n,i;let o=(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e),s=(o==null||(n=o.ServiceExceptionReport)===null||n===void 0?void 0:n.ServiceException)||(o==null||(i=o["ogc:ServiceExceptionReport"])===null||i===void 0?void 0:i["ogc:ServiceException"]);return typeof s=="string"?s:s.value||s.code||"Unknown error"}var Q1="4.1.0-alpha.9",er={id:"wms-error",name:"WMS Error",module:"wms",version:Q1,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:$1,options:{wms:{throwOnError:!1}},parse:async(t,e)=>va(new TextDecoder().decode(t),e),parseSync:(t,e)=>va(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>va(t,e)};function $1(t){return t.startsWith("<?xml")}function va(t,e){let r={...er.options.wms,...e?.wms},n=Vf(t,r),i=r.minimalErrors?n:`WMS Service error: ${n}`;if(r.throwOnError)throw new Error(i);return i}function tr(t){return Array.isArray(t)?t:t?[t]:[]}function Tn(t){let e=tr(t);return e.length>0&&e.every(r=>typeof r=="string")?e:[]}function bn(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseFloat(t);default:return}}function Ri(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseInt(t,10);default:return}}function rr(t){switch(t){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function xa(t,e){var r;let n=(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e),i=n.WMT_MS_Capabilities||n.WMS_Capabilities||n,o=e_(i);if(e!=null&&e.inheritedLayerProps)for(let s of o.layers)jf(s,null);return e!=null&&e.includeRawJSON&&(o.json=i),e!=null&&e.includeXMLText&&(o.xml=t),o}function e_(t){var e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m;let A={version:String(t.version||""),name:String(((e=t.Service)===null||e===void 0?void 0:e.Name)||"unnamed"),title:(r=t.Service)!==null&&r!==void 0&&r.Title?String((n=t.Service)===null||n===void 0?void 0:n.Title):void 0,abstract:(i=t.Service)!==null&&i!==void 0&&i.Abstract?String((o=t.Service)===null||o===void 0?void 0:o.Abstract):void 0,keywords:Tn((s=t.Service)===null||s===void 0||(a=s.KeywordList)===null||a===void 0?void 0:a.Keyword),fees:(c=t.Service)!==null&&c!==void 0&&c.Fees?JSON.stringify((u=t.Service)===null||u===void 0?void 0:u.Fees):void 0,accessConstraints:(l=t.Service)!==null&&l!==void 0&&l.AccessConstraints?JSON.stringify((f=t.Service)===null||f===void 0?void 0:f.AccessConstraints):void 0,layerLimit:Ri((h=t.Service)===null||h===void 0?void 0:h.LayerLimit),maxWidth:Ri((d=t.Service)===null||d===void 0?void 0:d.maxWidth),maxHeight:Ri((p=t.Service)===null||p===void 0?void 0:p.maxHeight),layers:[],requests:t_((g=t.Capability)===null||g===void 0?void 0:g.Request),exceptions:r_(t.Exception)},_=tr((m=t.Capability)===null||m===void 0?void 0:m.Layer);for(let v of _)A.layers.push(zf(v));for(let[v,x]of Object.entries(A))x===void 0&&delete A[v];return A}function t_(t){let e={};for(let[r,n]of Object.entries(t||{})){let i=Tn(n?.Format);e[r]={mimeTypes:i}}return e}function r_(t){if(tr(t?.Format).length>0)return{mimeTypes:Tn(t)}}function zf(t){var e;let r={title:String(t?.Title||""),name:t?.Name&&String(t?.Name),abstract:t?.Name&&String(t?.Abstract),keywords:Tn((e=t.KeywordList)===null||e===void 0?void 0:e.Keyword)},n=t?.CRS||t?.SRS;n&&Array.isArray(n)&&n.every(l=>typeof l=="string")&&(r.crs=n);let i=t?.EX_GeographicBoundingBox&&n_(t?.EX_GeographicBoundingBox);i&&(r.geographicBoundingBox=i),i=t?.LatLonBoundingBox&&i_(t?.LatLonBoundingBox),i&&(r.geographicBoundingBox=i);let o=t?.BoundingBox&&o_(t?.BoundingBox);o&&o.length>0&&(r.boundingBoxes=o);let a=tr(t?.Dimension).map(l=>a_(l));a.length&&(r.dimensions=a),t!=null&&t.opaque&&(r.opaque=rr(t?.opaque)),t!=null&&t.cascaded&&(r.cascaded=rr(t?.cascaded)),t!=null&&t.queryable&&(r.queryable=rr(t?.queryable));let c=tr(t?.Layer),u=[];for(let l of c)u.push(zf(l));u.length>0&&(r.layers=u);for(let[l,f]of Object.entries(r))f===void 0&&delete r[l];return r}function n_(t){let{westBoundLongitude:e,northBoundLatitude:r,eastBoundLongitude:n,southBoundLatitude:i}=t;return[[e,i],[n,r]]}function i_(t){let{minx:e,miny:r,maxx:n,maxy:i}=t;return[[e,r],[n,i]]}function o_(t){return tr(t).map(r=>s_(r))}function s_(t){let{CRS:e,SRS:r,minx:n,miny:i,maxx:o,maxy:s,resx:a,resy:c}=t,u={crs:e||r,boundingBox:[[bn(n),bn(i)],[bn(o),bn(s)]]};return a&&(u.xResolution=a),c&&(u.yResolution=c),u}function a_(t){let{name:e,units:r,value:n}=t,i={name:e,units:r,extent:n};return t.unitSymbol&&(i.unitSymbol=t.unitSymbol),t.default&&(i.defaultValue=t.default),t.multipleValues&&(i.multipleValues=rr(t.multipleValues)),t.nearestValue&&(i.nearestValue=rr(t.nearestValue)),t.current&&(i.current=rr(t.current)),i}function jf(t,e){e!=null&&e.geographicBoundingBox&&!t.geographicBoundingBox&&(t.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!t.crs&&(t.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!t.boundingBoxes&&(t.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!t.dimensions&&(t.dimensions=[...e.dimensions]);for(let r of t.layers||[])jf(r,t)}var c_="4.1.0-alpha.9",wr={id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:c_,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:u_,options:{wms:{}},parse:async(t,e)=>xa(new TextDecoder().decode(t),e?.wms),parseTextSync:(t,e)=>xa(t,e?.wms)};function u_(t){return t.startsWith("<?xml")}function Ta(t,e){var r,n;let o=((n=((r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e)).FeatureInfoResponse)===null||n===void 0?void 0:n.FIELDS)||[];return{features:(Array.isArray(o)?o:[o]).map(a=>l_(a))}}function l_(t){return{attributes:t||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}var kf={...wr,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(t,e)=>Ta(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>Ta(t,e)};function ba(t,e){var r;return(r=Ae.parseTextSync)===null||r===void 0?void 0:r.call(Ae,t,e)}var Jf={...wr,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(t,e)=>ba(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>ba(t,e)};function qf(t,e){let{type:r="auto"}=t,n=r==="auto"?h_(t.url,e):f_(r,e);if(!n)throw new Error("Not a valid image source type");return n.create(t)}function f_(t,e){for(let r of e)if(r.type===t)return r;return null}function h_(t,e){for(let r of e)if(r.testURL&&r.testURL(t))return r;return null}var Wf="4.1.0-alpha.9";var Ea,d_=(Ea=globalThis.loaders)===null||Ea===void 0?void 0:Ea.parseImageNode,Sa=typeof Image<"u",Ba=typeof ImageBitmap<"u",p_=Boolean(d_),Ca=An?!0:p_;function Xf(t){switch(t){case"auto":return Ba||Sa||Ca;case"imagebitmap":return Ba;case"image":return Sa;case"data":return Ca;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function Kf(){if(Ba)return"imagebitmap";if(Sa)return"image";if(Ca)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Yf(t){let e=m_(t);if(!e)throw new Error("Not an image");return e}function En(t){switch(Yf(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("getImageData");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0),r.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function m_(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&t instanceof Image?"image":t&&typeof t=="object"&&t.data&&t.width&&t.height?"data":null}var g_=/^data:image\/svg\+xml/,y_=/\.svg((\?|#).*)?$/;function Li(t){return t&&(g_.test(t)||y_.test(t))}function Zf(t,e){if(Li(e)){let n=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return Ma(t,e)}function Ma(t,e){if(Li(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function Pi(t,e,r){let n=Zf(t,r),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await A_(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function A_(t,e){let r=new Image;return r.src=t,e.image&&e.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,i)=>{try{r.onload=()=>n(r),r.onerror=o=>{let s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}var __={},Qf=!0;async function $f(t,e,r){let n;Li(r)?n=await Pi(t,e,r):n=Ma(t,r);let i=e&&e.imagebitmap;return await v_(n,i)}async function v_(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((x_(e)||!Qf)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(r){console.warn(r),Qf=!1}return await createImageBitmap(t)}function x_(t){for(let e in t||__)return!1;return!0}function eh(t){return!S_(t,"ftyp",4)||!(t[8]&96)?null:T_(t)}function T_(t){switch(b_(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function b_(t,e,r){return String.fromCharCode(...t.slice(e,r))}function E_(t){return[...t].map(e=>e.charCodeAt(0))}function S_(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=E_(e);for(let i=0;i<n.length;++i)if(n[i]!==t[i+r])return!1;return!0}var rt=!1,Sn=!0;function nr(t){let e=Bn(t);return C_(e)||I_(e)||M_(e)||w_(e)||B_(e)}function B_(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),r=eh(e);return r?{mimeType:r.mimeType,width:0,height:0}:null}function C_(t){let e=Bn(t);return e.byteLength>=24&&e.getUint32(0,rt)===2303741511?{mimeType:"image/png",width:e.getUint32(16,rt),height:e.getUint32(20,rt)}:null}function M_(t){let e=Bn(t);return e.byteLength>=10&&e.getUint32(0,rt)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Sn),height:e.getUint16(8,Sn)}:null}function w_(t){let e=Bn(t);return e.byteLength>=14&&e.getUint16(0,rt)===16973&&e.getUint32(2,Sn)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Sn),height:e.getUint32(22,Sn)}:null}function I_(t){let e=Bn(t);if(!(e.byteLength>=3&&e.getUint16(0,rt)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=O_(),o=2;for(;o+9<e.byteLength;){let s=e.getUint16(o,rt);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,rt),width:e.getUint16(o+7,rt)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,rt)}return null}function O_(){let t=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)t.add(r);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Bn(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}async function th(t,e){var r;let{mimeType:n}=nr(t)||{},i=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return H(i),await i(t,n)}async function rh(t,e,r){e=e||{};let i=(e.image||{}).type||"auto",{url:o}=r||{},s=R_(i),a;switch(s){case"imagebitmap":a=await $f(t,e,o);break;case"image":a=await Pi(t,e,o);break;case"data":a=await th(t,e);break;default:H(!1)}return i==="data"&&(a=En(a)),a}function R_(t){switch(t){case"auto":case"data":return Kf();default:return Xf(t),t}}var L_=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],P_=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],F_={image:{type:"auto",decode:!0}},Ot={id:"image",module:"images",name:"Images",version:Wf,mimeTypes:P_,extensions:L_,parse:rh,tests:[t=>Boolean(nr(new DataView(t)))],options:F_};var wa={};function Ia(t){if(wa[t]===void 0){let e=An?N_(t):D_(t);wa[t]=e}return wa[t]}function D_(t){var e,r;let n=["image/png","image/jpeg","image/gif"],i=((e=globalThis.loaders)===null||e===void 0?void 0:e.imageFormatsNode)||n,o=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return Boolean(o)&&i.includes(t)}function N_(t){switch(t){case"image/avif":case"image/webp":return U_(t);default:return!0}}function U_(t){try{return document.createElement("canvas").toDataURL(t).indexOf(`data:${t}`)===0}catch{return!1}}var nh={type:"wms",testURL:t=>t.toLowerCase().includes("wms"),create:t=>new Oa(t)},Oa=class extends Re{constructor(e){var r;super(e),this.url=void 0,this.data=void 0,this.substituteCRS84=void 0,this.flipCRS=void 0,this.wmsParameters=void 0,this.vendorParameters=void 0,this.capabilities=null,this.url=e.url,this.data=e.url,this.substituteCRS84=(r=e.substituteCRS84)!==null&&r!==void 0?r:!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...e.wmsParameters},this.vendorParameters=e.vendorParameters||{}}async getMetadata(){let e=await this.getCapabilities();return this.normalizeMetadata(e)}async getImage(e){let{boundingBox:r,bbox:n,...i}=e,o={bbox:r?[...r[0],...r[1]]:n,...i};return await this.getMap(o)}normalizeMetadata(e){return e}async getCapabilities(e,r){let n=this.getCapabilitiesURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);let s=await wr.parse(o,this.loadOptions);return this.capabilities=s,s}async getMap(e,r){let n=this.getMapURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await Ot.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}async getFeatureInfo(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await kf.parse(o,this.loadOptions)}async getFeatureInfoText(e,r){let n=this.getFeatureInfoURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),new TextDecoder().decode(o)}async describeLayer(e,r){let n=this.describeLayerURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();return this._checkResponse(i,o),await Jf.parse(o,this.loadOptions)}async getLegendGraphic(e,r){let n=this.getLegendGraphicURL(e,r),i=await this.fetch(n),o=await i.arrayBuffer();this._checkResponse(i,o);try{return await Ot.parse(o,this.loadOptions)}catch{throw this._parseError(o)}}getCapabilitiesURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetCapabilities",n,r)}getMapURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetMap",n,r)}getFeatureInfoURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetFeatureInfo",n,r)}describeLayerURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("DescribeLayer",n,r)}getLegendGraphicURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetLegendGraphic",n,r)}_parseWMSUrl(e){let[r,n]=e.split("?"),i=n.split("&"),o={};for(let s of i){let[a,c]=s.split("=");o[a]=c}return{url:r,parameters:o}}_getWMSUrl(e,r,n){let i=this.url,o=!0,s={service:"WMS",version:r.version,request:e,...r,...this.vendorParameters,...n},a=["transparent","time","elevation"];for(let[c,u]of Object.entries(s))(!a.includes(c)||u)&&(i+=o?"?":"&",o=!1,i+=this._getURLParameter(c,u,r));return encodeURI(i)}_getWMS130Parameters(e){let r={...e};return r.srs&&(r.crs=r.crs||r.srs,delete r.srs),r}_getURLParameter(e,r,n){switch(e){case"crs":n.version!=="1.3.0"?e="srs":this.substituteCRS84&&r==="EPSG:4326"&&(r="CRS:84");break;case"srs":n.version==="1.3.0"&&(e="crs");break;case"bbox":let i=this._flipBoundingBox(r,n);i&&(r=i);break;default:}return e=e.toUpperCase(),Array.isArray(r)?`${e}=${r.join(",")}`:`${e}=${r?String(r):""}`}_flipBoundingBox(e,r){if(!Array.isArray(e)||e.length!==4)return null;let n=r.version==="1.3.0"&&this.flipCRS.includes(r.crs||"")&&!(this.substituteCRS84&&r.crs==="EPSG:4326"),i=e;return n?[i[1],i[0],i[3],i[2]]:i}async _fetchArrayBuffer(e){let r=await this.fetch(e),n=await r.arrayBuffer();return this._checkResponse(r,n),n}_checkResponse(e,r){let n=e.headers["content-type"];if(!e.ok||er.mimeTypes.includes(n)){var i;let o=ma(this.loadOptions,{wms:{throwOnError:!0}}),s=(i=er.parseSync)===null||i===void 0?void 0:i.call(er,r,o);throw new Error(s)}}_parseError(e){var r;let n=(r=er.parseSync)===null||r===void 0?void 0:r.call(er,e,this.loadOptions);return new Error(n)}};var Ir=class extends Re{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){let r=this.getGranularParameters(e),n=this.getURLFromTemplate(r),o=await(await this.fetch(n)).arrayBuffer();return await Ot.parse(o)}getGranularParameters(e){let[[r,n],[i,o]]=e.boundingBox;return{...e,east:r,north:n,south:o,west:i}}getURLFromTemplate(e){let r=this.props.url;for(let[n,i]of Object.entries(e))r=r.replace(`\${${n}}`,String(i)),r=r.replace(`{${n}}`,String(i));return r}};Ir.type="template";Ir.testURL=t=>t.toLowerCase().includes("{");var Ra=class extends Ir{constructor(e){super(e),this.data=void 0,this.data=e.url}async getMetadata(){return await this.metadata()}async getImage(e){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(e){throw new Error("not implemented")}metadataURL(e){return`${this.props.url}?f=pjson`}exportImageURL(e){let r=`bbox=${e.bbox[0]},${e.bbox[1]},${e.bbox[2]},${e.bbox[3]}`,n=`size=${e.width},${e.height}`,i={...e,bbox:r,size:n};return delete i.width,delete i.height,this.getUrl("exportImage",i)}getUrl(e,r,n){let i=`${this.props.url}/${e}`,o=!0;for(let[s,a]of Object.entries(r))i+=o?"?":"&",o=!1,Array.isArray(a)?i+=`${s.toUpperCase()}=${a.join(",")}`:i+=`${s.toUpperCase()}=${a?String(a):""}`;return i}async checkResponse(e){if(!e.ok)throw new Error("error")}},ih={type:"arcgis-image-server",testURL:t=>t.toLowerCase().includes("ImageServer"),create:t=>new Ra(t)};var G_=[nh,ih];function La(t){return qf(t,G_)}function L(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var H_=1/Math.PI*180,V_=1/180*Math.PI,z_={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...z_}};var Y=globalThis.mathgl.config;function Pa(t,{precision:e=Y.precision}={}){return t=j_(t),"".concat(parseFloat(t.toPrecision(e)))}function we(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Fa(t){return oh(t)}function Da(t){return Ie(t)}function oh(t,e){return Na(t,r=>r*V_,e)}function Ie(t,e){return Na(t,r=>r*H_,e)}function Fi(t,e,r){return Na(t,n=>Math.max(e,Math.min(r,n)))}function Rt(t,e,r){return we(t)?t.map((n,i)=>Rt(n,e[i],r)):r*e+(1-r)*t}function _e(t,e,r){let n=Y.EPSILON;r&&(Y.EPSILON=r);try{if(t===e)return!0;if(we(t)&&we(e)){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!_e(t[i],e[i]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=Y.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{Y.EPSILON=n}}function j_(t){return Math.round(t/Y.EPSILON)*Y.EPSILON}function k_(t){return t.clone?t.clone():new Array(t.length)}function Na(t,e,r){if(we(t)){let n=t;r=r||k_(n);for(let i=0;i<r.length&&i<n.length;++i){let o=typeof t=="number"?t:t[i];r[i]=e(o,i,r)}return r}return e(t)}function J_(t){function e(){var r=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var Lt=class extends J_(Array){clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:we(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Y)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Pa(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!_e(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let i=0;i<this.ELEMENTS;++i){let o=e[i],s=typeof r=="number"?r:r[i];this[i]=o+n*(s-o)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(Y.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function q_(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function G(t){if(!Number.isFinite(t))throw new Error("Invalid number ".concat(JSON.stringify(t)));return t}function Pt(t,e,r=""){if(Y.debug&&!q_(t,e))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return t}function le(t,e){if(!t)throw new Error("math.gl assertion ".concat(e))}var Ft=class extends Lt{get x(){return this[0]}set x(e){this[0]=G(e)}get y(){return this[1]}set y(e){this[1]=G(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-e[n];r+=i*i}return G(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return G(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return le(e>=0&&e<this.ELEMENTS,"index is out of range"),G(this[e])}setComponent(e,r){return le(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var $=typeof Float32Array<"u"?Float32Array:Array,Cn=Math.random;function Or(t){return t>=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}var jP=Math.PI/180;function W_(){let t=new $(2);return $!=Float32Array&&(t[0]=0,t[1]=0),t}function sh(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t}function ah(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t}function Di(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Ni(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t}var kP=function(){let t=W_();return function(e,r,n,i,o,s){let a,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],o(t,t,s),e[a]=t[0],e[a+1]=t[1];return e}}();function Ui(t,e,r){let n=e[0],i=e[1],o=r[3]*n+r[7]*i||1;return t[0]=(r[0]*n+r[4]*i)/o,t[1]=(r[1]*n+r[5]*i)/o,t}function Gi(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o||1;return t[0]=(r[0]*n+r[4]*i+r[8]*o)/s,t[1]=(r[1]*n+r[5]*i+r[9]*o)/s,t[2]=(r[2]*n+r[6]*i+r[10]*o)/s,t}function ch(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t}function uh(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t[3]=e[3],t}function Hi(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=r[0]*n+r[3]*i+r[6]*o,t[1]=r[1]*n+r[4]*i+r[7]*o,t[2]=r[2]*n+r[5]*i+r[8]*o,t[3]=e[3],t}var ir=class extends Ft{constructor(e=0,r=0){super(2),we(e)&&arguments.length===1?this.copy(e):(Y.debug&&(G(e),G(r)),this[0]=e,this[1]=r)}set(e,r){return this[0]=e,this[1]=r,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y)),this[0]=e.x,this[1]=e.y,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return Ni(this,this,e),this.check()}transformAsVector(e){return Ui(this,this,e),this.check()}transformByMatrix3(e){return Di(this,this,e),this.check()}transformByMatrix2x3(e){return ah(this,this,e),this.check()}transformByMatrix2(e){return sh(this,this,e),this.check()}};var Lr={};de(Lr,{add:()=>Z_,angle:()=>za,bezier:()=>lv,ceil:()=>Q_,clone:()=>X_,copy:()=>K_,create:()=>Vi,cross:()=>or,dist:()=>_v,distance:()=>ph,div:()=>Av,divide:()=>dh,dot:()=>Mn,equals:()=>mv,exactEquals:()=>pv,floor:()=>$_,forEach:()=>Tv,fromValues:()=>zi,hermite:()=>uv,inverse:()=>sv,len:()=>ja,length:()=>lh,lerp:()=>av,max:()=>tv,min:()=>ev,mul:()=>yv,multiply:()=>hh,negate:()=>ov,normalize:()=>Ua,random:()=>fv,rotateX:()=>Ga,rotateY:()=>Ha,rotateZ:()=>Va,round:()=>rv,scale:()=>nv,scaleAndAdd:()=>iv,set:()=>Y_,slerp:()=>cv,sqrDist:()=>vv,sqrLen:()=>xv,squaredDistance:()=>mh,squaredLength:()=>gh,str:()=>dv,sub:()=>gv,subtract:()=>fh,transformMat3:()=>wn,transformMat4:()=>sr,transformQuat:()=>In,zero:()=>hv});function Vi(){let t=new $(3);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function X_(t){let e=new $(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function lh(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function zi(t,e,r){let n=new $(3);return n[0]=t,n[1]=e,n[2]=r,n}function K_(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Y_(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function Z_(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function fh(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function hh(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function dh(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function Q_(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function $_(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function ev(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function tv(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function rv(t,e){return t[0]=Or(e[0]),t[1]=Or(e[1]),t[2]=Or(e[2]),t}function nv(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function iv(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function ph(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}function mh(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function gh(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function ov(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function sv(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function Ua(t,e){let r=e[0],n=e[1],i=e[2],o=r*r+n*n+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function Mn(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function or(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2];return t[0]=i*c-o*a,t[1]=o*s-n*c,t[2]=n*a-i*s,t}function av(t,e,r,n){let i=e[0],o=e[1],s=e[2];return t[0]=i+n*(r[0]-i),t[1]=o+n*(r[1]-o),t[2]=s+n*(r[2]-s),t}function cv(t,e,r,n){let i=Math.acos(Math.min(Math.max(Mn(e,r),-1),1)),o=Math.sin(i),s=Math.sin((1-n)*i)/o,a=Math.sin(n*i)/o;return t[0]=s*e[0]+a*r[0],t[1]=s*e[1]+a*r[1],t[2]=s*e[2]+a*r[2],t}function uv(t,e,r,n,i,o){let s=o*o,a=s*(2*o-3)+1,c=s*(o-2)+o,u=s*(o-1),l=s*(3-2*o);return t[0]=e[0]*a+r[0]*c+n[0]*u+i[0]*l,t[1]=e[1]*a+r[1]*c+n[1]*u+i[1]*l,t[2]=e[2]*a+r[2]*c+n[2]*u+i[2]*l,t}function lv(t,e,r,n,i,o){let s=1-o,a=s*s,c=o*o,u=a*s,l=3*o*a,f=3*c*s,h=c*o;return t[0]=e[0]*u+r[0]*l+n[0]*f+i[0]*h,t[1]=e[1]*u+r[1]*l+n[1]*f+i[1]*h,t[2]=e[2]*u+r[2]*l+n[2]*f+i[2]*h,t}function fv(t,e){e=e===void 0?1:e;let r=Cn()*2*Math.PI,n=Cn()*2-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}function sr(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[3]*n+r[7]*i+r[11]*o+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*i+r[8]*o+r[12])/s,t[1]=(r[1]*n+r[5]*i+r[9]*o+r[13])/s,t[2]=(r[2]*n+r[6]*i+r[10]*o+r[14])/s,t}function wn(t,e,r){let n=e[0],i=e[1],o=e[2];return t[0]=n*r[0]+i*r[3]+o*r[6],t[1]=n*r[1]+i*r[4]+o*r[7],t[2]=n*r[2]+i*r[5]+o*r[8],t}function In(t,e,r){let n=r[0],i=r[1],o=r[2],s=r[3],a=e[0],c=e[1],u=e[2],l=i*u-o*c,f=o*a-n*u,h=n*c-i*a,d=i*h-o*f,p=o*l-n*h,g=n*f-i*l,m=s*2;return l*=m,f*=m,h*=m,d*=2,p*=2,g*=2,t[0]=a+l+d,t[1]=c+f+p,t[2]=u+h+g,t}function Ga(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0],o[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),o[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function Ha(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),o[1]=i[1],o[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function Va(t,e,r,n){let i=[],o=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],o[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),o[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),o[2]=i[2],t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t}function za(t,e){let r=t[0],n=t[1],i=t[2],o=e[0],s=e[1],a=e[2],c=Math.sqrt((r*r+n*n+i*i)*(o*o+s*s+a*a)),u=c&&Mn(t,e)/c;return Math.acos(Math.min(Math.max(u,-1),1))}function hv(t){return t[0]=0,t[1]=0,t[2]=0,t}function dv(t){return"vec3(".concat(t[0],", ").concat(t[1],", ").concat(t[2],")")}function pv(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function mv(t,e){let r=t[0],n=t[1],i=t[2],o=e[0],s=e[1],a=e[2];return Math.abs(r-o)<=1e-6*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=1e-6*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-a)<=1e-6*Math.max(1,Math.abs(i),Math.abs(a))}var gv=fh,yv=hh,Av=dh,_v=ph,vv=mh,ja=lh,xv=gh,Tv=function(){let t=Vi();return function(e,r,n,i,o,s){let a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var ka=[0,0,0],ji,T=class extends Ft{static get ZERO(){return ji||(ji=new T(0,0,0),Object.freeze(ji)),ji}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&we(e)?this.copy(e):(Y.debug&&(G(e),G(r),G(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y),G(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=G(e)}angle(e){return za(this,e)}cross(e){return or(this,this,e),this.check()}rotateX({radians:e,origin:r=ka}){return Ga(this,this,r,e),this.check()}rotateY({radians:e,origin:r=ka}){return Ha(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=ka}){return Va(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return sr(this,this,e),this.check()}transformAsVector(e){return Gi(this,this,e),this.check()}transformByMatrix3(e){return wn(this,this,e),this.check()}transformByMatrix2(e){return ch(this,this,e),this.check()}transformByQuaternion(e){return In(this,this,e),this.check()}};var ki,Pr=class extends Ft{static get ZERO(){return ki||(ki=new Pr(0,0,0,0),Object.freeze(ki)),ki}constructor(e=0,r=0,n=0,i=0){super(-0,-0,-0,-0),we(e)&&arguments.length===1?this.copy(e):(Y.debug&&(G(e),G(r),G(n),G(i)),this[0]=e,this[1]=r,this[2]=n,this[3]=i)}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}fromObject(e){return Y.debug&&(G(e.x),G(e.y),G(e.z),G(e.w)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e.w=this[3],e}get ELEMENTS(){return 4}get z(){return this[2]}set z(e){this[2]=G(e)}get w(){return this[3]}set w(e){this[3]=G(e)}transform(e){return sr(this,this,e),this.check()}transformByMatrix3(e){return Hi(this,this,e),this.check()}transformByMatrix2(e){return uh(this,this,e),this.check()}transformByQuaternion(e){return In(this,this,e),this.check()}applyMatrix4(e){return e.transform(this,this),this}};var Fr=class extends Lt{toString(){let e="[";if(Y.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=" ".concat(this[n*this.RANK+r])}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=" ".concat(this[r])}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=G(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(e,r){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function yh(){let t=new $(9);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Ah(t,e){if(t===e){let r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function _h(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=l*s-a*u,h=-l*o+a*c,d=u*o-s*c,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-l*n+i*u)*p,t[2]=(a*n-i*s)*p,t[3]=h*p,t[4]=(l*r-i*c)*p,t[5]=(-a*r+i*o)*p,t[6]=d*p,t[7]=(-u*r+n*c)*p,t[8]=(s*r-n*o)*p,t):null}function vh(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],u=t[8];return e*(u*o-s*c)+r*(-u*i+s*a)+n*(c*i-o*a)}function Ja(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1],p=r[2],g=r[3],m=r[4],A=r[5],_=r[6],v=r[7],x=r[8];return t[0]=h*n+d*s+p*u,t[1]=h*i+d*a+p*l,t[2]=h*o+d*c+p*f,t[3]=g*n+m*s+A*u,t[4]=g*i+m*a+A*l,t[5]=g*o+m*c+A*f,t[6]=_*n+v*s+x*u,t[7]=_*i+v*a+x*l,t[8]=_*o+v*c+x*f,t}function xh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=o,t[3]=s,t[4]=a,t[5]=c,t[6]=h*n+d*s+u,t[7]=h*i+d*a+l,t[8]=h*o+d*c+f,t}function Th(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*s,t[1]=d*i+h*a,t[2]=d*o+h*c,t[3]=d*s-h*n,t[4]=d*a-h*i,t[5]=d*c-h*o,t[6]=u,t[7]=l,t[8]=f,t}function qa(t,e,r){let n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function bh(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,u=r*s,l=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,A=o*c;return t[0]=1-f-p,t[3]=l-A,t[6]=h+m,t[1]=l+A,t[4]=1-u-p,t[7]=d-g,t[2]=h-m,t[5]=d+g,t[8]=1-u-f,t}var Wa;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL1ROW0=3]="COL1ROW0",t[t.COL1ROW1=4]="COL1ROW1",t[t.COL1ROW2=5]="COL1ROW2",t[t.COL2ROW0=6]="COL2ROW0",t[t.COL2ROW1=7]="COL2ROW1",t[t.COL2ROW2=8]="COL2ROW2"})(Wa||(Wa={}));var Ev=Object.freeze([1,0,0,0,1,0,0,0,1]),j=class extends Fr{static get IDENTITY(){return Bv()}static get ZERO(){return Sv()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Wa}constructor(e,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):r.length>0?this.copy([e,...r]):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}identity(){return this.copy(Ev)}fromObject(e){return this.check()}fromQuaternion(e){return bh(this,e),this.check()}set(e,r,n,i,o,s,a,c,u){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=u,this.check()}setRowMajor(e,r,n,i,o,s,a,c,u){return this[0]=e,this[1]=i,this[2]=a,this[3]=r,this[4]=o,this[5]=c,this[6]=n,this[7]=s,this[8]=u,this.check()}determinant(){return vh(this)}transpose(){return Ah(this,this),this.check()}invert(){return _h(this,this),this.check()}multiplyLeft(e){return Ja(this,e,this),this.check()}multiplyRight(e){return Ja(this,this,e),this.check()}rotate(e){return Th(this,this,e),this.check()}scale(e){return Array.isArray(e)?qa(this,this,e):qa(this,this,[e,e]),this.check()}translate(e){return xh(this,this,e),this.check()}transform(e,r){let n;switch(e.length){case 2:n=Di(r||[-0,-0],e,this);break;case 3:n=wn(r||[-0,-0,-0],e,this);break;case 4:n=Hi(r||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(n,e.length),n}transformVector(e,r){return this.transform(e,r)}transformVector2(e,r){return this.transform(e,r)}transformVector3(e,r){return this.transform(e,r)}},Ji,qi=null;function Sv(){return Ji||(Ji=new j([0,0,0,0,0,0,0,0,0]),Object.freeze(Ji)),Ji}function Bv(){return qi||(qi=new j,Object.freeze(qi)),qi}var Wi={};de(Wi,{add:()=>Zv,adjoint:()=>Rv,clone:()=>Mv,copy:()=>wv,create:()=>Cv,decompose:()=>zv,determinant:()=>Ya,equals:()=>tx,exactEquals:()=>ex,frob:()=>Yv,fromQuat:()=>nc,fromQuat2:()=>Gv,fromRotation:()=>Fv,fromRotationTranslation:()=>Sh,fromRotationTranslationScale:()=>jv,fromRotationTranslationScaleOrigin:()=>kv,fromScaling:()=>Pv,fromTranslation:()=>Lv,fromValues:()=>Iv,fromXRotation:()=>Dv,fromYRotation:()=>Nv,fromZRotation:()=>Uv,frustum:()=>ic,getRotation:()=>Vv,getScaling:()=>Bh,getTranslation:()=>Hv,identity:()=>Eh,invert:()=>Ka,lookAt:()=>ac,mul:()=>rx,multiply:()=>On,multiplyScalar:()=>Qv,multiplyScalarAndAdd:()=>$v,ortho:()=>sc,orthoNO:()=>Mh,orthoZO:()=>Wv,perspective:()=>oc,perspectiveFromFieldOfView:()=>qv,perspectiveNO:()=>Ch,perspectiveZO:()=>Jv,rotate:()=>$a,rotateX:()=>ec,rotateY:()=>tc,rotateZ:()=>rc,scale:()=>Qa,set:()=>Ov,str:()=>Kv,sub:()=>nx,subtract:()=>wh,targetTo:()=>Xv,translate:()=>Za,transpose:()=>Xa});function Cv(){let t=new $(16);return $!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function Mv(t){let e=new $(16);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 wv(t,e){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 Iv(t,e,r,n,i,o,s,a,c,u,l,f,h,d,p,g){let m=new $(16);return m[0]=t,m[1]=e,m[2]=r,m[3]=n,m[4]=i,m[5]=o,m[6]=s,m[7]=a,m[8]=c,m[9]=u,m[10]=l,m[11]=f,m[12]=h,m[13]=d,m[14]=p,m[15]=g,m}function Ov(t,e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=s,t[6]=a,t[7]=c,t[8]=u,t[9]=l,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=g,t[15]=m,t}function Eh(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Xa(t,e){if(t===e){let r=e[1],n=e[2],i=e[3],o=e[6],s=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=o,t[11]=e[14],t[12]=i,t[13]=s,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function Ka(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],_=r*a-n*s,v=r*c-i*s,x=r*u-o*s,B=n*c-i*a,S=n*u-o*a,C=i*u-o*c,E=l*g-f*p,b=l*m-h*p,y=l*A-d*p,M=f*m-h*g,I=f*A-d*g,O=h*A-d*m,R=_*O-v*I+x*M+B*y-S*b+C*E;return R?(R=1/R,t[0]=(a*O-c*I+u*M)*R,t[1]=(i*I-n*O-o*M)*R,t[2]=(g*C-m*S+A*B)*R,t[3]=(h*S-f*C-d*B)*R,t[4]=(c*y-s*O-u*b)*R,t[5]=(r*O-i*y+o*b)*R,t[6]=(m*x-p*C-A*v)*R,t[7]=(l*C-h*x+d*v)*R,t[8]=(s*I-a*y+u*E)*R,t[9]=(n*y-r*I-o*E)*R,t[10]=(p*S-g*x+A*_)*R,t[11]=(f*x-l*S-d*_)*R,t[12]=(a*b-s*M-c*E)*R,t[13]=(r*M-n*b+i*E)*R,t[14]=(g*v-p*B-m*_)*R,t[15]=(l*B-f*v+h*_)*R,t):null}function Rv(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],_=r*a-n*s,v=r*c-i*s,x=r*u-o*s,B=n*c-i*a,S=n*u-o*a,C=i*u-o*c,E=l*g-f*p,b=l*m-h*p,y=l*A-d*p,M=f*m-h*g,I=f*A-d*g,O=h*A-d*m;return t[0]=a*O-c*I+u*M,t[1]=i*I-n*O-o*M,t[2]=g*C-m*S+A*B,t[3]=h*S-f*C-d*B,t[4]=c*y-s*O-u*b,t[5]=r*O-i*y+o*b,t[6]=m*x-p*C-A*v,t[7]=l*C-h*x+d*v,t[8]=s*I-a*y+u*E,t[9]=n*y-r*I-o*E,t[10]=p*S-g*x+A*_,t[11]=f*x-l*S-d*_,t[12]=a*b-s*M-c*E,t[13]=r*M-n*b+i*E,t[14]=g*v-p*B-m*_,t[15]=l*B-f*v+h*_,t}function Ya(t){let e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],s=t[5],a=t[6],c=t[7],u=t[8],l=t[9],f=t[10],h=t[11],d=t[12],p=t[13],g=t[14],m=t[15],A=e*s-r*o,_=e*a-n*o,v=r*a-n*s,x=u*p-l*d,B=u*g-f*d,S=l*g-f*p,C=e*S-r*B+n*x,E=o*S-s*B+a*x,b=u*v-l*_+f*A,y=d*v-p*_+g*A;return c*C-i*E+m*b-h*y}function On(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=e[9],d=e[10],p=e[11],g=e[12],m=e[13],A=e[14],_=e[15],v=r[0],x=r[1],B=r[2],S=r[3];return t[0]=v*n+x*a+B*f+S*g,t[1]=v*i+x*c+B*h+S*m,t[2]=v*o+x*u+B*d+S*A,t[3]=v*s+x*l+B*p+S*_,v=r[4],x=r[5],B=r[6],S=r[7],t[4]=v*n+x*a+B*f+S*g,t[5]=v*i+x*c+B*h+S*m,t[6]=v*o+x*u+B*d+S*A,t[7]=v*s+x*l+B*p+S*_,v=r[8],x=r[9],B=r[10],S=r[11],t[8]=v*n+x*a+B*f+S*g,t[9]=v*i+x*c+B*h+S*m,t[10]=v*o+x*u+B*d+S*A,t[11]=v*s+x*l+B*p+S*_,v=r[12],x=r[13],B=r[14],S=r[15],t[12]=v*n+x*a+B*f+S*g,t[13]=v*i+x*c+B*h+S*m,t[14]=v*o+x*u+B*d+S*A,t[15]=v*s+x*l+B*p+S*_,t}function Za(t,e,r){let n=r[0],i=r[1],o=r[2],s,a,c,u,l,f,h,d,p,g,m,A;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*o+e[12],t[13]=e[1]*n+e[5]*i+e[9]*o+e[13],t[14]=e[2]*n+e[6]*i+e[10]*o+e[14],t[15]=e[3]*n+e[7]*i+e[11]*o+e[15]):(s=e[0],a=e[1],c=e[2],u=e[3],l=e[4],f=e[5],h=e[6],d=e[7],p=e[8],g=e[9],m=e[10],A=e[11],t[0]=s,t[1]=a,t[2]=c,t[3]=u,t[4]=l,t[5]=f,t[6]=h,t[7]=d,t[8]=p,t[9]=g,t[10]=m,t[11]=A,t[12]=s*n+l*i+p*o+e[12],t[13]=a*n+f*i+g*o+e[13],t[14]=c*n+h*i+m*o+e[14],t[15]=u*n+d*i+A*o+e[15]),t}function Qa(t,e,r){let n=r[0],i=r[1],o=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function $a(t,e,r,n){let i=n[0],o=n[1],s=n[2],a=Math.sqrt(i*i+o*o+s*s),c,u,l,f,h,d,p,g,m,A,_,v,x,B,S,C,E,b,y,M,I,O,R,F;return a<1e-6?null:(a=1/a,i*=a,o*=a,s*=a,u=Math.sin(r),c=Math.cos(r),l=1-c,f=e[0],h=e[1],d=e[2],p=e[3],g=e[4],m=e[5],A=e[6],_=e[7],v=e[8],x=e[9],B=e[10],S=e[11],C=i*i*l+c,E=o*i*l+s*u,b=s*i*l-o*u,y=i*o*l-s*u,M=o*o*l+c,I=s*o*l+i*u,O=i*s*l+o*u,R=o*s*l-i*u,F=s*s*l+c,t[0]=f*C+g*E+v*b,t[1]=h*C+m*E+x*b,t[2]=d*C+A*E+B*b,t[3]=p*C+_*E+S*b,t[4]=f*y+g*M+v*I,t[5]=h*y+m*M+x*I,t[6]=d*y+A*M+B*I,t[7]=p*y+_*M+S*I,t[8]=f*O+g*R+v*F,t[9]=h*O+m*R+x*F,t[10]=d*O+A*R+B*F,t[11]=p*O+_*R+S*F,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function ec(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[4],s=e[5],a=e[6],c=e[7],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*i+u*n,t[5]=s*i+l*n,t[6]=a*i+f*n,t[7]=c*i+h*n,t[8]=u*i-o*n,t[9]=l*i-s*n,t[10]=f*i-a*n,t[11]=h*i-c*n,t}function tc(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i-u*n,t[1]=s*i-l*n,t[2]=a*i-f*n,t[3]=c*i-h*n,t[8]=o*n+u*i,t[9]=s*n+l*i,t[10]=a*n+f*i,t[11]=c*n+h*i,t}function rc(t,e,r){let n=Math.sin(r),i=Math.cos(r),o=e[0],s=e[1],a=e[2],c=e[3],u=e[4],l=e[5],f=e[6],h=e[7];return e!==t&&(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[0]=o*i+u*n,t[1]=s*i+l*n,t[2]=a*i+f*n,t[3]=c*i+h*n,t[4]=u*i-o*n,t[5]=l*i-s*n,t[6]=f*i-a*n,t[7]=h*i-c*n,t}function Lv(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function Pv(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Fv(t,e,r){let n=r[0],i=r[1],o=r[2],s=Math.sqrt(n*n+i*i+o*o),a,c,u;return s<1e-6?null:(s=1/s,n*=s,i*=s,o*=s,c=Math.sin(e),a=Math.cos(e),u=1-a,t[0]=n*n*u+a,t[1]=i*n*u+o*c,t[2]=o*n*u-i*c,t[3]=0,t[4]=n*i*u-o*c,t[5]=i*i*u+a,t[6]=o*i*u+n*c,t[7]=0,t[8]=n*o*u+i*c,t[9]=i*o*u-n*c,t[10]=o*o*u+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function Dv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Nv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Uv(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Sh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=n+n,c=i+i,u=o+o,l=n*a,f=n*c,h=n*u,d=i*c,p=i*u,g=o*u,m=s*a,A=s*c,_=s*u;return t[0]=1-(d+g),t[1]=f+_,t[2]=h-A,t[3]=0,t[4]=f-_,t[5]=1-(l+g),t[6]=p+m,t[7]=0,t[8]=h+A,t[9]=p-m,t[10]=1-(l+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Gv(t,e){let r=new $(3),n=-e[0],i=-e[1],o=-e[2],s=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=n*n+i*i+o*o+s*s;return f>0?(r[0]=(a*s+l*n+c*o-u*i)*2/f,r[1]=(c*s+l*i+u*n-a*o)*2/f,r[2]=(u*s+l*o+a*i-c*n)*2/f):(r[0]=(a*s+l*n+c*o-u*i)*2,r[1]=(c*s+l*i+u*n-a*o)*2,r[2]=(u*s+l*o+a*i-c*n)*2),Sh(t,e,r),t}function Hv(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function Bh(t,e){let r=e[0],n=e[1],i=e[2],o=e[4],s=e[5],a=e[6],c=e[8],u=e[9],l=e[10];return t[0]=Math.sqrt(r*r+n*n+i*i),t[1]=Math.sqrt(o*o+s*s+a*a),t[2]=Math.sqrt(c*c+u*u+l*l),t}function Vv(t,e){let r=new $(3);Bh(r,e);let n=1/r[0],i=1/r[1],o=1/r[2],s=e[0]*n,a=e[1]*i,c=e[2]*o,u=e[4]*n,l=e[5]*i,f=e[6]*o,h=e[8]*n,d=e[9]*i,p=e[10]*o,g=s+l+p,m=0;return g>0?(m=Math.sqrt(g+1)*2,t[3]=.25*m,t[0]=(f-d)/m,t[1]=(h-c)/m,t[2]=(a-u)/m):s>l&&s>p?(m=Math.sqrt(1+s-l-p)*2,t[3]=(f-d)/m,t[0]=.25*m,t[1]=(a+u)/m,t[2]=(h+c)/m):l>p?(m=Math.sqrt(1+l-s-p)*2,t[3]=(h-c)/m,t[0]=(a+u)/m,t[1]=.25*m,t[2]=(f+d)/m):(m=Math.sqrt(1+p-s-l)*2,t[3]=(a-u)/m,t[0]=(h+c)/m,t[1]=(f+d)/m,t[2]=.25*m),t}function zv(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let i=n[0],o=n[1],s=n[2],a=n[4],c=n[5],u=n[6],l=n[8],f=n[9],h=n[10];r[0]=Math.sqrt(i*i+o*o+s*s),r[1]=Math.sqrt(a*a+c*c+u*u),r[2]=Math.sqrt(l*l+f*f+h*h);let d=1/r[0],p=1/r[1],g=1/r[2],m=i*d,A=o*p,_=s*g,v=a*d,x=c*p,B=u*g,S=l*d,C=f*p,E=h*g,b=m+x+E,y=0;return b>0?(y=Math.sqrt(b+1)*2,t[3]=.25*y,t[0]=(B-C)/y,t[1]=(S-_)/y,t[2]=(A-v)/y):m>x&&m>E?(y=Math.sqrt(1+m-x-E)*2,t[3]=(B-C)/y,t[0]=.25*y,t[1]=(A+v)/y,t[2]=(S+_)/y):x>E?(y=Math.sqrt(1+x-m-E)*2,t[3]=(S-_)/y,t[0]=(A+v)/y,t[1]=.25*y,t[2]=(B+C)/y):(y=Math.sqrt(1+E-m-x)*2,t[3]=(A-v)/y,t[0]=(S+_)/y,t[1]=(B+C)/y,t[2]=.25*y),t}function jv(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=i+i,u=o+o,l=s+s,f=i*c,h=i*u,d=i*l,p=o*u,g=o*l,m=s*l,A=a*c,_=a*u,v=a*l,x=n[0],B=n[1],S=n[2];return t[0]=(1-(p+m))*x,t[1]=(h+v)*x,t[2]=(d-_)*x,t[3]=0,t[4]=(h-v)*B,t[5]=(1-(f+m))*B,t[6]=(g+A)*B,t[7]=0,t[8]=(d+_)*S,t[9]=(g-A)*S,t[10]=(1-(f+p))*S,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function kv(t,e,r,n,i){let o=e[0],s=e[1],a=e[2],c=e[3],u=o+o,l=s+s,f=a+a,h=o*u,d=o*l,p=o*f,g=s*l,m=s*f,A=a*f,_=c*u,v=c*l,x=c*f,B=n[0],S=n[1],C=n[2],E=i[0],b=i[1],y=i[2],M=(1-(g+A))*B,I=(d+x)*B,O=(p-v)*B,R=(d-x)*S,F=(1-(h+A))*S,X=(m+_)*S,z=(p+v)*C,Q=(m-_)*C,W=(1-(h+g))*C;return t[0]=M,t[1]=I,t[2]=O,t[3]=0,t[4]=R,t[5]=F,t[6]=X,t[7]=0,t[8]=z,t[9]=Q,t[10]=W,t[11]=0,t[12]=r[0]+E-(M*E+R*b+z*y),t[13]=r[1]+b-(I*E+F*b+Q*y),t[14]=r[2]+y-(O*E+X*b+W*y),t[15]=1,t}function nc(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r+r,a=n+n,c=i+i,u=r*s,l=n*s,f=n*a,h=i*s,d=i*a,p=i*c,g=o*s,m=o*a,A=o*c;return t[0]=1-f-p,t[1]=l+A,t[2]=h-m,t[3]=0,t[4]=l-A,t[5]=1-u-p,t[6]=d+g,t[7]=0,t[8]=h+m,t[9]=d-g,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ic(t,e,r,n,i,o,s){let a=1/(r-e),c=1/(i-n),u=1/(o-s);return t[0]=o*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(i+n)*c,t[10]=(s+o)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*o*2*u,t[15]=0,t}function Ch(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=(i+n)*s,t[14]=2*i*n*s}else t[10]=-1,t[14]=-2*n;return t}var oc=Ch;function Jv(t,e,r,n,i){let o=1/Math.tan(e/2);if(t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let s=1/(n-i);t[10]=i*s,t[14]=i*n*s}else t[10]=-1,t[14]=-n;return t}function qv(t,e,r,n){let i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(s+a),u=2/(i+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((s-a)*c*.5),t[9]=(i-o)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function Mh(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),u=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=(s+o)*u,t[15]=1,t}var sc=Mh;function Wv(t,e,r,n,i,o,s){let a=1/(e-r),c=1/(n-i),u=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=u,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=o*u,t[15]=1,t}function ac(t,e,r,n){let i,o,s,a,c,u,l,f,h,d,p=e[0],g=e[1],m=e[2],A=n[0],_=n[1],v=n[2],x=r[0],B=r[1],S=r[2];return Math.abs(p-x)<1e-6&&Math.abs(g-B)<1e-6&&Math.abs(m-S)<1e-6?Eh(t):(f=p-x,h=g-B,d=m-S,i=1/Math.sqrt(f*f+h*h+d*d),f*=i,h*=i,d*=i,o=_*d-v*h,s=v*f-A*d,a=A*h-_*f,i=Math.sqrt(o*o+s*s+a*a),i?(i=1/i,o*=i,s*=i,a*=i):(o=0,s=0,a=0),c=h*a-d*s,u=d*o-f*a,l=f*s-h*o,i=Math.sqrt(c*c+u*u+l*l),i?(i=1/i,c*=i,u*=i,l*=i):(c=0,u=0,l=0),t[0]=o,t[1]=c,t[2]=f,t[3]=0,t[4]=s,t[5]=u,t[6]=h,t[7]=0,t[8]=a,t[9]=l,t[10]=d,t[11]=0,t[12]=-(o*p+s*g+a*m),t[13]=-(c*p+u*g+l*m),t[14]=-(f*p+h*g+d*m),t[15]=1,t)}function Xv(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=n[0],c=n[1],u=n[2],l=i-r[0],f=o-r[1],h=s-r[2],d=l*l+f*f+h*h;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,h*=d);let p=c*h-u*f,g=u*l-a*h,m=a*f-c*l;return d=p*p+g*g+m*m,d>0&&(d=1/Math.sqrt(d),p*=d,g*=d,m*=d),t[0]=p,t[1]=g,t[2]=m,t[3]=0,t[4]=f*m-h*g,t[5]=h*p-l*m,t[6]=l*g-f*p,t[7]=0,t[8]=l,t[9]=f,t[10]=h,t[11]=0,t[12]=i,t[13]=o,t[14]=s,t[15]=1,t}function Kv(t){return"mat4(".concat(t[0],", ").concat(t[1],", ").concat(t[2],", ").concat(t[3],", ").concat(t[4],", ").concat(t[5],", ").concat(t[6],", ").concat(t[7],", ").concat(t[8],", ").concat(t[9],", ").concat(t[10],", ").concat(t[11],", ").concat(t[12],", ").concat(t[13],", ").concat(t[14],", ").concat(t[15],")")}function Yv(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function Zv(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function wh(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function Qv(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function $v(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function ex(t,e){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]}function tx(t,e){let r=t[0],n=t[1],i=t[2],o=t[3],s=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],p=t[12],g=t[13],m=t[14],A=t[15],_=e[0],v=e[1],x=e[2],B=e[3],S=e[4],C=e[5],E=e[6],b=e[7],y=e[8],M=e[9],I=e[10],O=e[11],R=e[12],F=e[13],X=e[14],z=e[15];return Math.abs(r-_)<=1e-6*Math.max(1,Math.abs(r),Math.abs(_))&&Math.abs(n-v)<=1e-6*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(i-x)<=1e-6*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(o-B)<=1e-6*Math.max(1,Math.abs(o),Math.abs(B))&&Math.abs(s-S)<=1e-6*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(a-C)<=1e-6*Math.max(1,Math.abs(a),Math.abs(C))&&Math.abs(c-E)<=1e-6*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(u-b)<=1e-6*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(l-y)<=1e-6*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(f-M)<=1e-6*Math.max(1,Math.abs(f),Math.abs(M))&&Math.abs(h-I)<=1e-6*Math.max(1,Math.abs(h),Math.abs(I))&&Math.abs(d-O)<=1e-6*Math.max(1,Math.abs(d),Math.abs(O))&&Math.abs(p-R)<=1e-6*Math.max(1,Math.abs(p),Math.abs(R))&&Math.abs(g-F)<=1e-6*Math.max(1,Math.abs(g),Math.abs(F))&&Math.abs(m-X)<=1e-6*Math.max(1,Math.abs(m),Math.abs(X))&&Math.abs(A-z)<=1e-6*Math.max(1,Math.abs(A),Math.abs(z))}var rx=On,nx=wh;function ix(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function Ih(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function Oh(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function Rh(t){let e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}function Lh(t){let e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}function Ph(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o;return s>0&&(s=1/Math.sqrt(s)),t[0]=r*s,t[1]=n*s,t[2]=i*s,t[3]=o*s,t}function Fh(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Dh(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3];return t[0]=i+n*(r[0]-i),t[1]=o+n*(r[1]-o),t[2]=s+n*(r[2]-s),t[3]=a+n*(r[3]-a),t}function Nh(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*o+r[12]*s,t[1]=r[1]*n+r[5]*i+r[9]*o+r[13]*s,t[2]=r[2]*n+r[6]*i+r[10]*o+r[14]*s,t[3]=r[3]*n+r[7]*i+r[11]*o+r[15]*s,t}function Uh(t,e,r){let n=e[0],i=e[1],o=e[2],s=r[0],a=r[1],c=r[2],u=r[3],l=u*n+a*o-c*i,f=u*i+c*n-s*o,h=u*o+s*i-a*n,d=-s*n-a*i-c*o;return t[0]=l*u+d*-s+f*-c-h*-a,t[1]=f*u+d*-a+h*-s-l*-c,t[2]=h*u+d*-c+l*-a-f*-s,t[3]=e[3],t}var TF=function(){let t=ix();return function(e,r,n,i,o,s){let a,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],o(t,t,s),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var lc;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(lc||(lc={}));var sx=45*Math.PI/180,ax=1,cc=.1,uc=500,cx=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),D=class extends Fr{static get IDENTITY(){return lx()}static get ZERO(){return ux()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return lc}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=o,this[5]=s,this[6]=a,this[7]=c,this[8]=u,this[9]=l,this[10]=f,this[11]=h,this[12]=d,this[13]=p,this[14]=g,this[15]=m,this.check()}setRowMajor(e,r,n,i,o,s,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=o,this[2]=u,this[3]=d,this[4]=r,this[5]=s,this[6]=l,this[7]=p,this[8]=n,this[9]=a,this[10]=f,this[11]=g,this[12]=i,this[13]=c,this[14]=h,this[15]=m,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(cx)}fromObject(e){return this.check()}fromQuaternion(e){return nc(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:i,top:o,near:s=cc,far:a=uc}=e;return a===1/0?fx(this,r,n,i,o,s):ic(this,r,n,i,o,s,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=e;return ac(this,r,n,i),this.check()}ortho(e){let{left:r,right:n,bottom:i,top:o,near:s=cc,far:a=uc}=e;return sc(this,r,n,i,o,s,a),this.check()}orthographic(e){let{fovy:r=sx,aspect:n=ax,focalDistance:i=1,near:o=cc,far:s=uc}=e;Gh(r);let a=r/2,c=i*Math.tan(a),u=c*n;return this.ortho({left:-u,right:u,bottom:-c,top:c,near:o,far:s})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:o=500}=e;return Gh(r),oc(this,r,n,i,o),this.check()}determinant(){return Ya(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-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],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*o,e[6]=this[6]*s,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*o,e[10]=this[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],o=1/n[1],s=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*o,e[2]=this[2]*s,e[3]=this[4]*i,e[4]=this[5]*o,e[5]=this[6]*s,e[6]=this[8]*i,e[7]=this[9]*o,e[8]=this[10]*s,e}transpose(){return Xa(this,this),this.check()}invert(){return Ka(this,this),this.check()}multiplyLeft(e){return On(this,e,this),this.check()}multiplyRight(e){return On(this,this,e),this.check()}rotateX(e){return ec(this,this,e),this.check()}rotateY(e){return tc(this,this,e),this.check()}rotateZ(e){return rc(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return $a(this,this,e,r),this.check()}scale(e){return Qa(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return Za(this,this,e),this.check()}transform(e,r){return e.length===4?(r=Nh(r||[-0,-0,-0,-0],e,this),Pt(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,i;switch(n){case 2:i=Ni(r||[-0,-0],e,this);break;case 3:i=sr(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(i,e.length),i}transformAsVector(e,r){let n;switch(e.length){case 2:n=Ui(r||[-0,-0],e,this);break;case 3:n=Gi(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Pt(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},Xi,Ki;function ux(){return Xi||(Xi=new D([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Xi)),Xi}function lx(){return Ki||(Ki=new D,Object.freeze(Ki)),Ki}function Gh(t){if(t>Math.PI*2)throw Error("expected radians")}function fx(t,e,r,n,i,o){let s=2*o/(r-e),a=2*o/(i-n),c=(r+e)/(r-e),u=(i+n)/(i-n),l=-1,f=-1,h=-2*o;return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=u,t[10]=l,t[11]=f,t[12]=0,t[13]=0,t[14]=h,t[15]=0,t}function Hh(){let t=new $(4);return $!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Vh(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function fc(t,e,r){r=r*.5;let n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function hc(t,e,r){let n=e[0],i=e[1],o=e[2],s=e[3],a=r[0],c=r[1],u=r[2],l=r[3];return t[0]=n*l+s*a+i*u-o*c,t[1]=i*l+s*c+o*a-n*u,t[2]=o*l+s*u+n*c-i*a,t[3]=s*l-n*a-i*c-o*u,t}function zh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*a,t[1]=i*c+o*a,t[2]=o*c-i*a,t[3]=s*c-n*a,t}function jh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c-o*a,t[1]=i*c+s*a,t[2]=o*c+n*a,t[3]=s*c-i*a,t}function kh(t,e,r){r*=.5;let n=e[0],i=e[1],o=e[2],s=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+i*a,t[1]=i*c-n*a,t[2]=o*c+s*a,t[3]=s*c-o*a,t}function Jh(t,e){let r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t}function Rn(t,e,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=r[0],u=r[1],l=r[2],f=r[3],h,d,p,g,m;return h=i*c+o*u+s*l+a*f,h<0&&(h=-h,c=-c,u=-u,l=-l,f=-f),1-h>1e-6?(d=Math.acos(h),m=Math.sin(d),p=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(p=1-n,g=n),t[0]=p*i+g*c,t[1]=p*o+g*u,t[2]=p*s+g*l,t[3]=p*a+g*f,t}function qh(t,e){let r=e[0],n=e[1],i=e[2],o=e[3],s=r*r+n*n+i*i+o*o,a=s?1/s:0;return t[0]=-r*a,t[1]=-n*a,t[2]=-i*a,t[3]=o*a,t}function Wh(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function dc(t,e){let r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{let i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);let o=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[o*3+o]-e[s*3+s]+1),t[i]=.5*n,n=.5/n,t[3]=(e[o*3+s]-e[s*3+o])*n,t[o]=(e[o*3+i]+e[i*3+o])*n,t[s]=(e[s*3+i]+e[i*3+s])*n}return t}var Xh=Ih;var Kh=Oh,Yh=Fh,Zh=Dh,Qh=Rh;var $h=Lh;var ed=Ph;var td=function(){let t=Vi(),e=zi(1,0,0),r=zi(0,1,0);return function(n,i,o){let s=Mn(i,o);return s<-.999999?(or(t,e,i),ja(t)<1e-6&&or(t,r,i),Ua(t,t),fc(n,t,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(or(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,ed(n,n))}}(),DF=function(){let t=Hh(),e=Hh();return function(r,n,i,o,s,a){return Rn(t,n,s,a),Rn(e,i,o,a),Rn(r,t,e,2*a*(1-a)),r}}(),NF=function(){let t=yh();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],ed(e,dc(e,t))}}();var hx=[0,0,0,1],nt=class extends Lt{constructor(e=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(e)&&arguments.length===1?this.copy(e):this.set(e,r,n,i)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,r,n,i){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this.check()}fromObject(e){return this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this.check()}fromMatrix3(e){return dc(this,e),this.check()}fromAxisRotation(e,r){return fc(this,e,r),this.check()}identity(){return Vh(this),this.check()}setAxisAngle(e,r){return this.fromAxisRotation(e,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=G(e)}get y(){return this[1]}set y(e){this[1]=G(e)}get z(){return this[2]}set z(e){this[2]=G(e)}get w(){return this[3]}set w(e){this[3]=G(e)}len(){return Qh(this)}lengthSquared(){return $h(this)}dot(e){return Yh(this,e)}rotationTo(e,r){return td(this,e,r),this.check()}add(e){return Xh(this,this,e),this.check()}calculateW(){return Jh(this,this),this.check()}conjugate(){return Wh(this,this),this.check()}invert(){return qh(this,this),this.check()}lerp(e,r,n){return n===void 0?this.lerp(this,e,r):(Zh(this,e,r,n),this.check())}multiplyRight(e){return hc(this,this,e),this.check()}multiplyLeft(e){return hc(this,e,this),this.check()}normalize(){let e=this.len(),r=e>0?1/e:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,e===0&&(this[3]=1),this.check()}rotateX(e){return zh(this,this,e),this.check()}rotateY(e){return jh(this,this,e),this.check()}rotateZ(e){return kh(this,this,e),this.check()}scale(e){return Kh(this,this,e),this.check()}slerp(e,r,n){let i,o,s;switch(arguments.length){case 1:({start:i=hx,target:o,ratio:s}=e);break;case 2:i=this,o=e,s=r;break;default:i=e,o=r,s=n}return Rn(this,i,o,s),this.check()}transformVector4(e,r=new Pr){return Uh(r,e,this),Pt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,r){return this.setAxisAngle(e,r)}premultiply(e){return this.multiplyLeft(e)}multiply(e){return this.multiplyRight(e)}};var je={};de(je,{EPSILON1:()=>dx,EPSILON10:()=>Tx,EPSILON11:()=>bx,EPSILON12:()=>Ex,EPSILON13:()=>Sx,EPSILON14:()=>Bx,EPSILON15:()=>Cx,EPSILON16:()=>Mx,EPSILON17:()=>wx,EPSILON18:()=>Ix,EPSILON19:()=>Ox,EPSILON2:()=>px,EPSILON20:()=>Rx,EPSILON3:()=>mx,EPSILON4:()=>gx,EPSILON5:()=>yx,EPSILON6:()=>Ax,EPSILON7:()=>_x,EPSILON8:()=>vx,EPSILON9:()=>xx,PI_OVER_FOUR:()=>Px,PI_OVER_SIX:()=>Fx,PI_OVER_TWO:()=>Lx,TWO_PI:()=>Dx});var dx=.1,px=.01,mx=.001,gx=1e-4,yx=1e-5,Ax=1e-6,_x=1e-7,vx=1e-8,xx=1e-9,Tx=1e-10,bx=1e-11,Ex=1e-12,Sx=1e-13,Bx=1e-14,Cx=1e-15,Mx=1e-16,wx=1e-17,Ix=1e-18,Ox=1e-19,Rx=1e-20,Lx=Math.PI/2,Px=Math.PI/4,Fx=Math.PI/6,Dx=Math.PI*2;function Yi(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var ke=Math.PI,od=ke/4,rd=ke/180,nd=180/ke,Zi=512;function pt(t){let[e,r]=t;Yi(Number.isFinite(e)),Yi(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*rd,i=r*rd,o=Zi*(n+ke)/(2*ke),s=Zi*(ke+Math.log(Math.tan(od+i*.5)))/(2*ke);return[o,s]}function mt(t){let[e,r]=t,n=e/Zi*(2*ke)-ke,i=2*(Math.atan(Math.exp(r/Zi*(2*ke)-ke))-od);return[n*nd,i*nd]}var v3=Math.PI/180;var ad=6378137*Math.PI;function pc(t){var e=pt(t);return e[0]=(e[0]/256-1)*ad,e[1]=(e[1]/256-1)*ad,e}function $i(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$i=function(r){return typeof r}:$i=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},$i(t)}function cd(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function mc(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){cd(o,n,i,s,a,"next",c)}function a(c){cd(o,n,i,s,a,"throw",c)}s(void 0)})}}function ud(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Qi(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ud(Object(r),!0).forEach(function(n){Qx(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ud(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Qx(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function $x(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ld(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function eT(t,e,r){return e&&ld(t.prototype,e),r&&ld(t,r),t}function eo(t,e,r){return typeof Reflect<"u"&&Reflect.get?eo=Reflect.get:eo=function(i,o,s){var a=tT(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},eo(t,e,r||t)}function tT(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Dr(t),t!==null););return t}function rT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&gc(t,e)}function gc(t,e){return gc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},gc(t,e)}function nT(t){var e=sT();return function(){var n=Dr(t),i;if(e){var o=Dr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return iT(this,i)}}function iT(t,e){if(e&&($i(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return oT(t)}function oT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function sT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Dr(t){return Dr=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Dr(t)}var aT={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:function(){}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:function(){}},onImageLoad:{type:"function",value:function(){}},onImageLoadError:{type:"function",compare:!1,value:function(e,r){return console.error(r,e)}}},to=function(t){rT(r,t);var e=nT(r);function r(){var i;$x(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.shouldUpdateState=function(){return!0},n.initializeState=function(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0},n.updateState=function(o){var s=this,a=o.changeFlags,c=o.props,u=o.oldProps,l=this.context.viewport;a.dataChanged||c.serviceType!==u.serviceType?(this.state.imageSource=this._createImageSource(c),this._loadMetadata(),this.debounce(function(){return s.loadImage(l,"image source changed")},0)):(0,ar._deepEqual)(c.layers,u.layers,1)?a.viewportChanged&&this.debounce(function(){return s.loadImage(l,"viewport changed")}):this.debounce(function(){return s.loadImage(l,"layers changed")},0)},n.finalizeState=function(){},n.renderLayers=function(){var o=this.state,s=o.bounds,a=o.image,c=o.lastRequestParameters;return a&&new fd.BitmapLayer(Qi(Qi({},this.getSubLayerProps({id:"bitmap"})),{},{_imageCoordinateSystem:c.srs==="EPSG:4326"?ar.COORDINATE_SYSTEM.LNGLAT:ar.COORDINATE_SYSTEM.CARTESIAN,bounds:s,image:a}))},n.getFeatureInfoText=function(){var i=mc(regeneratorRuntime.mark(function s(a,c){var u,l,f,h;return regeneratorRuntime.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(u=this.state.lastRequestParameters,!u){p.next=6;break}return p.next=4,(l=(f=this.state.imageSource).getFeatureInfoText)===null||l===void 0?void 0:l.call(f,Qi(Qi({},u),{},{query_layers:u.layers,x:a,y:c,info_format:"application/vnd.ogc.gml"}));case 4:return h=p.sent,p.abrupt("return",h);case 6:return p.abrupt("return","");case 7:case"end":return p.stop()}},s,this)}));function o(s,a){return i.apply(this,arguments)}return o}(),n._createImageSource=function(o){if(o.data instanceof Re)return o.data;if(typeof o.data=="string")return La({url:o.data,loadOptions:o.loadOptions,type:o.serviceType});throw new Error("invalid image source in props.data")},n._loadMetadata=function(){var i=mc(regeneratorRuntime.mark(function s(){var a,c,u,l;return regeneratorRuntime.wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return a=this.state.imageSource,h.prev=1,this.state.loadCounter++,h.next=5,a.getMetadata();case 5:c=h.sent,this.state.imageSource===a&&((u=this.getCurrentLayer())===null||u===void 0||u.props.onMetadataLoad(c)),h.next=12;break;case 9:h.prev=9,h.t0=h.catch(1),(l=this.getCurrentLayer())===null||l===void 0||l.props.onMetadataLoadError(h.t0);case 12:return h.prev=12,this.state.loadCounter--,h.finish(12);case 15:case"end":return h.stop()}},s,this,[[1,9,12,15]])}));function o(){return i.apply(this,arguments)}return o}(),n.loadImage=function(){var i=mc(regeneratorRuntime.mark(function s(a,c){var u,l,f,h,d,p,g,m,A,_,v,x,B,S;return regeneratorRuntime.wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(u=this.props,l=u.layers,f=u.serviceType,!(f==="wms"&&l.length===0)){E.next=3;break}return E.abrupt("return");case 3:return h=a.getBounds(),d=a.width,p=a.height,g=this.getRequestId(),m=this.props.srs,m==="auto"&&(m=a.resolution?"EPSG:4326":"EPSG:3857"),A={width:d,height:p,boundingBox:[[h[0],h[1]],[h[2],h[3]]],layers:l,crs:m},m==="EPSG:3857"&&(_=pc([h[0],h[1]]),v=pc([h[2],h[3]]),A.boundingBox=[_,v]),E.prev=10,this.state.loadCounter++,this.props.onImageLoadStart(g),E.next=15,this.state.imageSource.getImage(A);case 15:x=E.sent,this.state.lastRequestId<g&&((B=this.getCurrentLayer())===null||B===void 0||B.props.onImageLoad(g),this.setState({image:x,bounds:h,lastRequestParameters:A,lastRequestId:g})),E.next=23;break;case 19:E.prev=19,E.t0=E.catch(10),this.raiseError(E.t0,"Load image"),(S=this.getCurrentLayer())===null||S===void 0||S.props.onImageLoadError(g,E.t0);case 23:return E.prev=23,this.state.loadCounter--,E.finish(23);case 26:case"end":return E.stop()}},s,this,[[10,19,23,26]])}));function o(s,a){return i.apply(this,arguments)}return o}(),n.getRequestId=function(){return this.state._nextRequestId++},n.debounce=function(o){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:500;clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(function(){return o()},s)},eT(r,[{key:"isLoaded",get:function(){return Boolean(this.state)&&this.state.loadCounter===0&&eo(Dr(r.prototype),"isLoaded",this)}}]),r}(ar.CompositeLayer);to.layerName="WMSLayer";to.defaultProps=aT;var hd=P(Ve());function ro(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ro=function(r){return typeof r}:ro=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ro(t)}function cT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function uT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&yc(t,e)}function yc(t,e){return yc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},yc(t,e)}function lT(t){var e=dT();return function(){var n=no(t),i;if(e){var o=no(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return fT(this,i)}}function fT(t,e){if(e&&(ro(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return hT(t)}function hT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function dT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function no(t){return no=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},no(t)}var pT={getHeight:{type:"accessor",value:0},greatCircle:!0},io=function(t){uT(r,t);var e=lT(r);function r(){return cT(this,r),e.apply(this,arguments)}return r}(hd.ArcLayer);io.layerName="GreatCircleLayer";io.defaultProps=pT;var pd=P(ze()),vc=P(Ve());function oo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?oo=function(r){return typeof r}:oo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},oo(t)}var mT=["updateTriggers"];function gT(t,e){if(t==null)return{};var r=yT(t,e),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i<o.length;i++)n=o[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function yT(t,e){if(t==null)return{};var r={},n=Object.keys(t),i,o;for(o=0;o<n.length;o++)i=n[o],!(e.indexOf(i)>=0)&&(r[i]=t[i]);return r}function AT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _T(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ac(t,e)}function Ac(t,e){return Ac=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Ac(t,e)}function vT(t){var e=bT();return function(){var n=so(t),i;if(e){var o=so(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return xT(this,i)}}function xT(t,e){if(e&&(oo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return TT(t)}function TT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function bT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function so(t){return so=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},so(t)}function dd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function _c(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?dd(Object(r),!0).forEach(function(n){ET(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):dd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ET(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var ST=_c({},vc.PolygonLayer.defaultProps),Le=function(t){_T(r,t);var e=vT(r);function r(){return AT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){return null},n.renderLayers=function(){var o=this.props,s=o.elevationScale,a=o.extruded,c=o.wireframe,u=o.filled,l=o.stroked,f=o.lineWidthUnits,h=o.lineWidthScale,d=o.lineWidthMinPixels,p=o.lineWidthMaxPixels,g=o.lineJointRounded,m=o.lineMiterLimit,A=o.lineDashJustified,_=o.getElevation,v=o.getFillColor,x=o.getLineColor,B=o.getLineWidth,S=this.props,C=S.updateTriggers,E=S.material,b=S.transitions,y=this.getSubLayerClass("cell",vc.PolygonLayer),M=this.indexToBounds()||{},I=M.updateTriggers,O=gT(M,mT);return new y({filled:u,wireframe:c,extruded:a,elevationScale:s,stroked:l,lineWidthUnits:f,lineWidthScale:h,lineWidthMinPixels:d,lineWidthMaxPixels:p,lineJointRounded:g,lineMiterLimit:m,lineDashJustified:A,material:E,transitions:b,getElevation:_,getFillColor:v,getLineColor:x,getLineWidth:B},this.getSubLayerProps({id:"cell",updateTriggers:C&&_c(_c({},I),{},{getElevation:C.getElevation,getFillColor:C.getFillColor,getLineColor:C.getLineColor,getLineWidth:C.getLineWidth})}),O)},r}(pd.CompositeLayer);Le.layerName="GeoCellLayer";Le.defaultProps=ST;var ao=P(xc());function _d(t,e){return wT(t)||MT(t,e)||CT(t,e)||BT()}function BT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
15
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CT(t,e){if(t){if(typeof t=="string")return gd(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gd(t,e)}}function gd(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function MT(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function wT(t){if(Array.isArray(t))return t}var IT=3,OT=30,RT=2*OT+1,yd=180/Math.PI;function vd(t,e,r){var n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function Ad(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function xd(t){return[Ad(t[0]),Ad(t[1])]}function Td(t,e){var r=_d(e,2),n=r[0],i=r[1];switch(t){case 0:return[1,n,i];case 1:return[-n,1,i];case 2:return[-n,-i,1];case 3:return[-1,-i,-n];case 4:return[i,-1,-n];case 5:return[i,n,-1];default:throw new Error("Invalid face")}}function bd(t){var e=_d(t,3),r=e[0],n=e[1],i=e[2],o=Math.atan2(i,Math.sqrt(r*r+n*n)),s=Math.atan2(n,r);return[s*yd,o*yd]}function Ed(t){for(var e=ao.default.fromString(t,!0,10).toString(2);e.length<IT+RT;)e="0"+e;for(var r=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,r),o=i.length/2,s=ao.default.fromString(n,!0,2).toString(10),a=ao.default.fromString(i,!0,2).toString(4);a.length<o;)a="0"+a;return"".concat(s,"/").concat(a)}function LT(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);var i=e[0];e[0]=e[1],e[1]=i}}function Sd(t){for(var e=t.split("/"),r=parseInt(e[0],10),n=e[1],i=n.length,o=[0,0],s,a=i-1;a>=0;a--){s=i-a;var c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);var f=Math.pow(2,s-1);LT(f,o,u,l),o[0]+=f*u,o[1]+=f*l}if(r%2===1){var h=o[0];o[0]=o[1],o[1]=h}return{face:r,ij:o,level:s}}var Bd=P(xc());function PT(t){var e=t.padEnd(16,"0");return Bd.default.fromString(e,16)}var FT=100;function DT(t){for(var e=t.face,r=t.ij,n=t.level,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(FT*Math.pow(2,-n))),s=new Float64Array(4*o*2+2),a=0,c=0,u=0;u<4;u++)for(var l=i[u].slice(0),f=i[u+1],h=(f[0]-l[0])/o,d=(f[1]-l[1])/o,p=0;p<o;p++){l[0]+=h,l[1]+=d;var g=vd(r,n,l),m=xd(g),A=Td(e,m),_=bd(A);Math.abs(_[1])>89.999&&(_[0]=c);var v=_[0]-c;_[0]+=v>180?-360:v<-180?360:0,s[a++]=_[0],s[a++]=_[1],c=_[0]}return s[a++]=s[0],s[a++]=s[1],s}function NT(t){if(typeof t=="string"){if(t.indexOf("/")>0)return t;t=PT(t)}return Ed(t.toString())}function Cd(t){var e=NT(t),r=Sd(e);return DT(r)}function co(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?co=function(r){return typeof r}:co=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},co(t)}function UT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function GT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Tc(t,e)}function Tc(t,e){return Tc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Tc(t,e)}function HT(t){var e=jT();return function(){var n=uo(t),i;if(e){var o=uo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return VT(this,i)}}function VT(t,e){if(e&&(co(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return zT(t)}function zT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function jT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function uo(t){return uo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},uo(t)}var kT={getS2Token:{type:"accessor",value:function(e){return e.token}}},lo=function(t){GT(r,t);var e=HT(r);function r(){return UT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getS2Token;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return Cd(a(u,l))}}},r}(Le);lo.layerName="S2Layer";lo.defaultProps=kT;function bc(t,e){return XT(t)||WT(t,e)||qT(t,e)||JT()}function JT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qT(t,e){if(t){if(typeof t=="string")return Md(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Md(t,e)}}function Md(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function WT(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function XT(t){if(Array.isArray(t))return t}var Ec=512;function KT(t,e){for(var r=0,n=0,i=1<<t.length,o=i/Ec,s=0;s<t.length;s++){i>>=1;var a=parseInt(t[s]);a%2&&(r|=i),a>1&&(n|=i)}return[[r/o,Ec-n/o],[(r+e)/o,Ec-(n+e)/o]]}function wd(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=KT(t,e),n=bc(r,2),i=n[0],o=n[1],s=mt(i),a=bc(s,2),c=a[0],u=a[1],l=mt(o),f=bc(l,2),h=f[0],d=f[1];return[h,u,h,d,c,d,c,u,h,u]}function fo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?fo=function(r){return typeof r}:fo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},fo(t)}function YT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ZT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Sc(t,e)}function Sc(t,e){return Sc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Sc(t,e)}function QT(t){var e=tb();return function(){var n=ho(t),i;if(e){var o=ho(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return $T(this,i)}}function $T(t,e){if(e&&(fo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return eb(t)}function eb(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function tb(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ho(t){return ho=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ho(t)}var rb={getQuadkey:{type:"accessor",value:function(e){return e.quadkey}}},po=function(t){ZT(r,t);var e=QT(r);function r(){return YT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.extruded,c=o.getQuadkey,u=a?.99:1;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(f,h){return wd(c(f,h),u)},updateTriggers:{getPolygon:u}}},r}(Le);po.layerName="QuadkeyLayer";po.defaultProps=rb;var Bo=P(ze()),up=P(Ve());function Id(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function nb(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){Id(o,n,i,s,a,"next",c)}function a(c){Id(o,n,i,s,a,"throw",c)}s(void 0)})}}function ib(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Od(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function ob(t,e,r){return e&&Od(t.prototype,e),r&&Od(t,r),t}var Pn=function(){function t(r){ib(this,t),this.index=void 0,this.isVisible=void 0,this.isSelected=void 0,this.parent=void 0,this.children=void 0,this.content=void 0,this.state=void 0,this.layers=void 0,this.id=void 0,this.zoom=void 0,this.userData=void 0,this.boundingBox=void 0,this._abortController=void 0,this._loader=void 0,this._loaderId=void 0,this._isLoaded=void 0,this._isCancelled=void 0,this._needsReload=void 0,this._bbox=void 0,this.index=r,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}var e=t.prototype;return e._loadData=function(){var r=nb(regeneratorRuntime.mark(function i(o){var s,a,c,u,l,f,h,d,p,g,m,A,_,v;return regeneratorRuntime.wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return s=o.getData,a=o.requestScheduler,c=o.onLoad,u=o.onError,l=this.index,f=this.id,h=this.bbox,d=this.userData,p=this.zoom,g=this._loaderId,this._abortController=new AbortController,m=this._abortController.signal,B.next=7,a.scheduleRequest(this,function(S){return S.isSelected?1:-1});case 7:if(A=B.sent,A){B.next=11;break}return this._isCancelled=!0,B.abrupt("return");case 11:if(!this._isCancelled){B.next=14;break}return A.done(),B.abrupt("return");case 14:return _=null,B.prev=15,B.next=18,s({index:l,id:f,bbox:h,userData:d,zoom:p,signal:m});case 18:_=B.sent,B.next=24;break;case 21:B.prev=21,B.t0=B.catch(15),v=B.t0||!0;case 24:return B.prev=24,A.done(),B.finish(24);case 27:if(g===this._loaderId){B.next=29;break}return B.abrupt("return");case 29:if(this._loader=void 0,this.content=_,!(this._isCancelled&&!_)){B.next=34;break}return this._isLoaded=!1,B.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,v?u(v,this):c(this);case 37:case"end":return B.stop()}},i,this,[[15,21,24,27]])}));function n(i){return r.apply(this,arguments)}return n}(),e.loadData=function(n){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(n),this._loader},e.setNeedsReload=function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0},e.abort=function(){var n;this.isLoaded||(this._isCancelled=!0,(n=this._abortController)===null||n===void 0||n.abort())},ob(t,[{key:"bbox",get:function(){return this._bbox},set:function(n){this._bbox||(this._bbox=n,"west"in n?this.boundingBox=[[n.west,n.south],[n.east,n.north]]:this.boundingBox=[[n.left,n.top],[n.right,n.bottom]])}},{key:"data",get:function(){var n=this;return this.isLoading&&this._loader?this._loader.then(function(){return n.data}):this.content}},{key:"isLoaded",get:function(){return this._isLoaded&&!this._needsReload}},{key:"isLoading",get:function(){return Boolean(this._loader)&&!this._isCancelled}},{key:"needsReload",get:function(){return this._needsReload||this._isCancelled}},{key:"byteLength",get:function(){var n=this.content?this.content.byteLength:0;return Number.isFinite(n)||console.error("byteLength not defined in tile data"),n}}]),t}();var Nn=P(ze());var ie={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var Rd=new T,sb=new T,Dt=class{constructor(e=[0,0,0],r=[0,0,0],n){L(this,"center",void 0),L(this,"halfDiagonal",void 0),L(this,"minimum",void 0),L(this,"maximum",void 0),n=n||Rd.copy(e).add(r).scale(.5),this.center=new T(n),this.halfDiagonal=new T(r).subtract(this.center),this.minimum=new T(e),this.maximum=new T(r)}clone(){return new Dt(this.minimum,this.maximum,this.center)}equals(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){let{halfDiagonal:r}=this,n=sb.from(e.normal),i=r.x*Math.abs(n.x)+r.y*Math.abs(n.y)+r.z*Math.abs(n.z),o=this.center.dot(n)+e.distance;return o-i>0?ie.INSIDE:o+i<0?ie.OUTSIDE:ie.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=Rd.from(e).subtract(this.center),{halfDiagonal:n}=this,i=0,o;return o=Math.abs(r.x)-n.x,o>0&&(i+=o*o),o=Math.abs(r.y)-n.y,o>0&&(i+=o*o),o=Math.abs(r.z)-n.z,o>0&&(i+=o*o),i}};var Fn=new T,Ld=new T,Pe=class{constructor(e=[0,0,0],r=0){L(this,"center",void 0),L(this,"radius",void 0),this.radius=-0,this.center=new T,this.fromCenterRadius(e,r)}fromCenterRadius(e,r){return this.center.from(e),this.radius=r,this}fromCornerPoints(e,r){return r=Fn.from(r),this.center=new T().from(e).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new Pe(this.center,this.radius)}union(e){let r=this.center,n=this.radius,i=e.center,o=e.radius,s=Fn.copy(i).subtract(r),a=s.magnitude();if(n>=a+o)return this.clone();if(o>=a+n)return e.clone();let c=(n+a+o)*.5;return Ld.copy(s).scale((-n+c)/a).add(r),this.center.copy(Ld),this.radius=c,this}expand(e){let n=Fn.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);let r=Wi.getScaling(Fn,e);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(e){let r=this.distanceTo(e);return r*r}distanceTo(e){let n=Fn.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){let r=this.center,n=this.radius,o=e.normal.dot(r)+e.distance;return o<-n?ie.OUTSIDE:o<n?ie.INTERSECTING:ie.INSIDE}};var ab=new T,cb=new T,mo=new T,go=new T,yo=new T,ub=new T,lb=new T,gt={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Je=class{constructor(e=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){L(this,"center",void 0),L(this,"halfAxes",void 0),this.center=new T().from(e),this.halfAxes=new j(r)}get halfSize(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new T(e).len(),new T(r).len(),new T(n).len()]}get quaternion(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new T(e).normalize(),o=new T(r).normalize(),s=new T(n).normalize();return new nt().fromMatrix3(new j([...i,...o,...s]))}fromCenterHalfSizeQuaternion(e,r,n){let i=new nt(n),o=new j().fromQuaternion(i);return o[0]=o[0]*r[0],o[1]=o[1]*r[0],o[2]=o[2]*r[0],o[3]=o[3]*r[1],o[4]=o[4]*r[1],o[5]=o[5]*r[1],o[6]=o[6]*r[2],o[7]=o[7]*r[2],o[8]=o[8]*r[2],this.center=new T().from(e),this.halfAxes=o,this}clone(){return new Je(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Pe){let r=this.halfAxes,n=r.getColumn(0,mo),i=r.getColumn(1,go),o=r.getColumn(2,yo),s=ab.copy(n).add(i).add(o);return e.center.copy(this.center),e.radius=s.magnitude(),e}intersectPlane(e){let r=this.center,n=e.normal,i=this.halfAxes,o=n.x,s=n.y,a=n.z,c=Math.abs(o*i[gt.COLUMN0ROW0]+s*i[gt.COLUMN0ROW1]+a*i[gt.COLUMN0ROW2])+Math.abs(o*i[gt.COLUMN1ROW0]+s*i[gt.COLUMN1ROW1]+a*i[gt.COLUMN1ROW2])+Math.abs(o*i[gt.COLUMN2ROW0]+s*i[gt.COLUMN2ROW1]+a*i[gt.COLUMN2ROW2]),u=n.dot(r)+e.distance;return u<=-c?ie.OUTSIDE:u>=c?ie.INSIDE:ie.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=cb.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,mo),o=n.getColumn(1,go),s=n.getColumn(2,yo),a=i.magnitude(),c=o.magnitude(),u=s.magnitude();i.normalize(),o.normalize(),s.normalize();let l=0,f;return f=Math.abs(r.dot(i))-a,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),f=Math.abs(r.dot(s))-u,f>0&&(l+=f*f),l}computePlaneDistances(e,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=this.center,a=this.halfAxes,c=a.getColumn(0,mo),u=a.getColumn(1,go),l=a.getColumn(2,yo),f=ub.copy(c).add(u).add(l).add(s),h=lb.copy(f).subtract(e),d=r.dot(h);return i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),f.copy(s).add(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),s.copy(f).subtract(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),i=Math.min(d,i),o=Math.max(d,o),n[0]=i,n[1]=o,n}transform(e){this.center.transformAsPoint(e);let r=this.halfAxes.getColumn(0,mo);r.transformAsPoint(e);let n=this.halfAxes.getColumn(1,go);n.transformAsPoint(e);let i=this.halfAxes.getColumn(2,yo);return i.transformAsPoint(e),this.halfAxes=new j([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Pd=new T,Fd=new T,fe=class{constructor(e=[0,0,1],r=0){L(this,"normal",void 0),L(this,"distance",void 0),this.normal=new T,this.distance=-0,this.fromNormalDistance(e,r)}fromNormalDistance(e,r){return le(Number.isFinite(r)),this.normal.from(e).normalize(),this.distance=r,this}fromPointNormal(e,r){e=Pd.from(e),this.normal.from(r).normalize();let n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,r,n,i){return this.normal.set(e,r,n),le(_e(this.normal.len(),1)),this.distance=i,this}clone(){return new fe(this.normal,this.distance)}equals(e){return _e(this.distance,e.distance)&&_e(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){let r=Fd.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,r)}projectPointOntoPlane(e,r=[0,0,0]){let n=Pd.from(e),i=this.getPointDistance(n),o=Fd.copy(this.normal).scale(i);return n.subtract(o).to(r)}};var Dd=[new T([1,0,0]),new T([0,1,0]),new T([0,0,1])],Nd=new T,fb=new T,ae=class{constructor(e=[]){L(this,"planes",void 0),this.planes=e}fromBoundingSphere(e){this.planes.length=2*Dd.length;let r=e.center,n=e.radius,i=0;for(let o of Dd){let s=this.planes[i],a=this.planes[i+1];s||(s=this.planes[i]=new fe),a||(a=this.planes[i+1]=new fe);let c=Nd.copy(o).scale(-n).add(r);s.fromPointNormal(c,o);let u=Nd.copy(o).scale(n).add(r),l=fb.copy(o).negate();a.fromPointNormal(u,l),i+=2}return this}computeVisibility(e){let r=ie.INSIDE;for(let n of this.planes)switch(e.intersectPlane(n)){case ie.OUTSIDE:return ie.OUTSIDE;case ie.INTERSECTING:r=ie.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(e,r){if(le(Number.isFinite(r),"parentPlaneMask is required."),r===ae.MASK_OUTSIDE||r===ae.MASK_INSIDE)return r;let n=ae.MASK_INSIDE,i=this.planes;for(let o=0;o<this.planes.length;++o){let s=o<31?1<<o:0;if(o<31&&!(r&s))continue;let a=i[o],c=e.intersectPlane(a);if(c===ie.OUTSIDE)return ae.MASK_OUTSIDE;c===ie.INTERSECTING&&(n|=s)}return n}};L(ae,"MASK_OUTSIDE",4294967295);L(ae,"MASK_INSIDE",0);L(ae,"MASK_INDETERMINATE",2147483647);var kD=new T,JD=new T,qD=new T,WD=new T,XD=new T;var tN=new T,rN=new T,nN=new T,iN=new T,oN=new T,sN=new T,aN=new T,cN=new T,uN=new T,lN=new T,fN=new T,hN=new T;var it=new j,db=new j,pb=new j,Ao=new j,Ud=new j;function Mc(t,e={}){let r=je.EPSILON20,n=10,i=0,o=0,s=db,a=pb;s.identity(),a.copy(t);let c=r*mb(a);for(;o<n&&gb(a)>c;)yb(a,Ao),Ud.copy(Ao).transpose(),a.multiplyRight(Ao),a.multiplyLeft(Ud),s.multiplyRight(Ao),++i>2&&(++o,i=0);return e.unitary=s.toTarget(e.unitary),e.diagonal=a.toTarget(e.diagonal),e}function mb(t){let e=0;for(let r=0;r<9;++r){let n=t[r];e+=n*n}return Math.sqrt(e)}var Bc=[1,0,0],Cc=[2,2,1];function gb(t){let e=0;for(let r=0;r<3;++r){let n=t[it.getElementIndex(Cc[r],Bc[r])];e+=2*n*n}return Math.sqrt(e)}function yb(t,e){let r=je.EPSILON15,n=0,i=1;for(let u=0;u<3;++u){let l=Math.abs(t[it.getElementIndex(Cc[u],Bc[u])]);l>n&&(i=u,n=l)}let o=Bc[i],s=Cc[i],a=1,c=0;if(Math.abs(t[it.getElementIndex(s,o)])>r){let u=t[it.getElementIndex(s,s)],l=t[it.getElementIndex(o,o)],f=t[it.getElementIndex(s,o)],h=(u-l)/2/f,d;h<0?d=-1/(-h+Math.sqrt(1+h*h)):d=1/(h+Math.sqrt(1+h*h)),a=1/Math.sqrt(1+d*d),c=d*a}return j.IDENTITY.to(e),e[it.getElementIndex(o,o)]=e[it.getElementIndex(s,s)]=a,e[it.getElementIndex(s,o)]=c,e[it.getElementIndex(o,s)]=-c,e}var Nt=new T,Ab=new T,_b=new T,vb=new T,xb=new T,Tb=new j,bb={diagonal:new j,unitary:new j};function Dn(t,e=new Je){if(!t||t.length===0)return e.halfAxes=new j([0,0,0,0,0,0,0,0,0]),e.center=new T,e;let r=t.length,n=new T(0,0,0);for(let b of t)n.add(b);let i=1/r;n.multiplyByScalar(i);let o=0,s=0,a=0,c=0,u=0,l=0;for(let b of t){let y=Nt.copy(b).subtract(n);o+=y.x*y.x,s+=y.x*y.y,a+=y.x*y.z,c+=y.y*y.y,u+=y.y*y.z,l+=y.z*y.z}o*=i,s*=i,a*=i,c*=i,u*=i,l*=i;let f=Tb;f[0]=o,f[1]=s,f[2]=a,f[3]=s,f[4]=c,f[5]=u,f[6]=a,f[7]=u,f[8]=l;let{unitary:h}=Mc(f,bb),d=e.halfAxes.copy(h),p=d.getColumn(0,_b),g=d.getColumn(1,vb),m=d.getColumn(2,xb),A=-Number.MAX_VALUE,_=-Number.MAX_VALUE,v=-Number.MAX_VALUE,x=Number.MAX_VALUE,B=Number.MAX_VALUE,S=Number.MAX_VALUE;for(let b of t)Nt.copy(b),A=Math.max(Nt.dot(p),A),_=Math.max(Nt.dot(g),_),v=Math.max(Nt.dot(m),v),x=Math.min(Nt.dot(p),x),B=Math.min(Nt.dot(g),B),S=Math.min(Nt.dot(m),S);p=p.multiplyByScalar(.5*(x+A)),g=g.multiplyByScalar(.5*(B+_)),m=m.multiplyByScalar(.5*(S+v)),e.center.copy(p).add(g).add(m);let C=Ab.set(A-x,_-B,v-S).multiplyByScalar(.5),E=new j([C[0],0,0,0,C[1],0,0,0,C[2]]);return e.halfAxes.multiplyRight(E),e}function zd(t,e){return Bb(t)||Sb(t,e)||jd(t,e)||Eb()}function Eb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
17
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Bb(t){if(Array.isArray(t))return t}function wc(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=jd(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
18
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function jd(t,e){if(t){if(typeof t=="string")return Gd(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gd(t,e)}}function Gd(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Cb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hd(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Mb(t,e,r){return e&&Hd(t.prototype,e),r&&Hd(t,r),t}var Nr=512,Vd=3,kd=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],Jd=kd.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),wb=Jd.concat([[.25,.5],[.75,.5]]),Ib=function(){function t(r,n,i){Cb(this,t),this.x=void 0,this.y=void 0,this.z=void 0,this.childVisible=void 0,this.selected=void 0,this._children=void 0,this.x=r,this.y=n,this.z=i}var e=t.prototype;return e.update=function(n){var i=n.viewport,o=n.cullingVolume,s=n.elevationBounds,a=n.minZ,c=n.maxZ,u=n.bounds,l=n.offset,f=n.project,h=this.getBoundingVolume(s,l,f);if(u&&!this.insideBounds(u))return!1;var d=o.computeVisibility(h);if(d<0)return!1;if(!this.childVisible){var p=this.z;if(p<c&&p>=a){var g=h.distanceTo(i.cameraPosition)*i.scale/i.height;p+=Math.floor(Math.log2(g))}if(p>=c)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var m=wc(this.children),A;try{for(m.s();!(A=m.n()).done;){var _=A.value;_.update(n)}}catch(v){m.e(v)}finally{m.f()}return!0},e.getSelected=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(this.selected&&n.push(this),this._children){var i=wc(this._children),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.getSelected(n)}}catch(a){i.e(a)}finally{i.f()}}return n},e.insideBounds=function(n){var i=zd(n,4),o=i[0],s=i[1],a=i[2],c=i[3],u=Math.pow(2,this.z),l=Nr/u;return this.x*l<a&&this.y*l<c&&(this.x+1)*l>o&&(this.y+1)*l>s},e.getBoundingVolume=function(n,i,o){if(o){var s=this.z<1?wb:this.z<2?Jd:kd,a=[],c=wc(s),u;try{for(c.s();!(u=c.n()).done;){var l=u.value,f=_o(this.x+l[0],this.y+l[1],this.z);f[2]=n[0],a.push(o(f)),n[0]!==n[1]&&(f[2]=n[1],a.push(o(f)))}}catch(m){c.e(m)}finally{c.f()}return Dn(a)}var h=Math.pow(2,this.z),d=Nr/h,p=this.x*d+i*Nr,g=Nr-(this.y+1)*d;return new Dt([p,g,n[0]],[p+d,g+d,n[1]])},Mb(t,[{key:"children",get:function(){if(!this._children){var n=this.x*2,i=this.y*2,o=this.z+1;this._children=[new t(n,i,o),new t(n,i+1,o),new t(n+1,i,o),new t(n+1,i+1,o)]}return this._children}}]),t}();function qd(t,e,r,n){var i=t instanceof Nn._GlobeViewport&&t.resolution?t.projectPosition:null,o=Object.values(t.getFrustumPlanes()).map(function(B){var S=B.normal,C=B.distance;return new fe(S.clone().negate(),C)}),s=new ae(o),a=t.distanceScales.unitsPerMeter[2],c=r&&r[0]*a||0,u=r&&r[1]*a||0,l=t instanceof Nn.WebMercatorViewport&&t.pitch<=60?e:0;if(n){var f=n,h=zd(f,4),d=h[0],p=h[1],g=h[2],m=h[3],A=pt([d,m]),_=pt([g,p]);n=[A[0],Nr-A[1],_[0],Nr-_[1]]}var v=new Ib(0,0,0),x={viewport:t,project:i,cullingVolume:s,elevationBounds:[c,u],minZ:l,maxZ:e,bounds:n,offset:0};if(v.update(x),t instanceof Nn.WebMercatorViewport&&t.subViewports&&t.subViewports.length>1){for(x.offset=-1;v.update(x)&&!(--x.offset<-Vd););for(x.offset=1;v.update(x)&&!(++x.offset>Vd););}return v.getSelected()}function Ur(t,e){return Lb(t)||Rb(t,e)||Xd(t,e)||Ob()}function Ob(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
19
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Rb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Lb(t){if(Array.isArray(t))return t}function vo(t){return Db(t)||Fb(t)||Xd(t)||Pb()}function Pb(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
20
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xd(t,e){if(t){if(typeof t=="string")return Ic(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ic(t,e)}}function Fb(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Db(t){if(Array.isArray(t))return Ic(t)}function Ic(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var yt=512,Nb=[-1/0,-1/0,1/0,1/0],Ut={type:"object",value:null,validate:function(e,r){return r.optional&&e===null||typeof e=="string"||Array.isArray(e)&&e.every(function(n){return typeof n=="string"})},equal:function(e,r){if(e===r)return!0;if(!Array.isArray(e)||!Array.isArray(r))return!1;var n=e.length;if(n!==r.length)return!1;for(var i=0;i<n;i++)if(e[i]!==r[i])return!1;return!0}};function Kd(t,e){var r=[e.transformAsPoint([t[0],t[1]]),e.transformAsPoint([t[2],t[1]]),e.transformAsPoint([t[0],t[3]]),e.transformAsPoint([t[2],t[3]])],n=[Math.min.apply(Math,vo(r.map(function(i){return i[0]}))),Math.min.apply(Math,vo(r.map(function(i){return i[1]}))),Math.max.apply(Math,vo(r.map(function(i){return i[0]}))),Math.max.apply(Math,vo(r.map(function(i){return i[1]})))];return n}function Ub(t){return Math.abs(t.split("").reduce(function(e,r){return(e<<5)-e+r.charCodeAt(0)|0},0))}function ot(t,e){if(!t||!t.length)return null;var r=e.index,n=e.id;if(Array.isArray(t)){var i=Ub(n)%t.length;t=t[i]}for(var o=t,s=0,a=Object.keys(r);s<a.length;s++){var c=a[s],u=new RegExp("{".concat(c,"}"),"g");o=o.replace(u,String(r[c]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(o=o.replace(/\{-y\}/g,String(Math.pow(2,r.z)-r.y-1))),o}function Gb(t,e,r){var n;if(e&&e.length===2){var i=Ur(e,2),o=i[0],s=i[1],a=t.getBounds({z:o}),c=t.getBounds({z:s});n=[Math.min(a[0],c[0]),Math.min(a[1],c[1]),Math.max(a[2],c[2]),Math.max(a[3],c[3])]}else n=t.getBounds();return t.isGeospatial?[Math.max(n[0],r[0]),Math.max(n[1],r[1]),Math.min(n[2],r[2]),Math.min(n[3],r[3])]:[Math.max(Math.min(n[0],r[2]),r[0]),Math.max(Math.min(n[1],r[3]),r[1]),Math.min(Math.max(n[2],r[0]),r[2]),Math.min(Math.max(n[3],r[1]),r[3])]}function Yd(t){var e=t.viewport,r=t.z,n=t.cullRect,i=e.subViewports||[e];return i.map(function(o){return Oc(o,r||0,n)})}function Oc(t,e,r){if(!Array.isArray(e)){var n=r.x-t.x,i=r.y-t.y,o=r.width,s=r.height,a={targetZ:e},c=t.unproject([n,i],a),u=t.unproject([n+o,i],a),l=t.unproject([n,i+s],a),f=t.unproject([n+o,i+s],a);return[Math.min(c[0],u[0],l[0],f[0]),Math.min(c[1],u[1],l[1],f[1]),Math.max(c[0],u[0],l[0],f[0]),Math.max(c[1],u[1],l[1],f[1])]}var h=Oc(t,e[0],r),d=Oc(t,e[1],r);return[Math.min(h[0],d[0]),Math.min(h[1],d[1]),Math.max(h[2],d[2]),Math.max(h[3],d[3])]}function Hb(t,e,r){if(r){var n=Kd(t,r).map(function(i){return i*e/yt});return n}return t.map(function(i){return i*e/yt})}function Rc(t,e){return Math.pow(2,t)*yt/e}function _o(t,e,r){var n=Rc(r,yt),i=t/n*360-180,o=Math.PI-2*Math.PI*e/n,s=180/Math.PI*Math.atan(.5*(Math.exp(o)-Math.exp(-o)));return[i,s]}function Wd(t,e,r,n){var i=Rc(r,n);return[t/i*yt,e/i*yt]}function Lc(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:yt;if(t.isGeospatial){var o=_o(e,r,n),s=Ur(o,2),a=s[0],c=s[1],u=_o(e+1,r+1,n),l=Ur(u,2),f=l[0],h=l[1];return{west:a,north:c,east:f,south:h}}var d=Wd(e,r,n,i),p=Ur(d,2),g=p[0],m=p[1],A=Wd(e+1,r+1,n,i),_=Ur(A,2),v=_[0],x=_[1];return{left:g,top:m,right:v,bottom:x}}function Vb(t,e,r,n,i){for(var o=Gb(t,null,n),s=Rc(e,r),a=Hb(o,s,i),c=Ur(a,4),u=c[0],l=c[1],f=c[2],h=c[3],d=[],p=Math.floor(u);p<f;p++)for(var g=Math.floor(l);g<h;g++)d.push({x:p,y:g,z:e});return d}function Pc(t){var e=t.viewport,r=t.maxZoom,n=t.minZoom,i=t.zRange,o=t.extent,s=t.tileSize,a=s===void 0?yt:s,c=t.modelMatrix,u=t.modelMatrixInverse,l=t.zoomOffset,f=l===void 0?0:l,h=e.isGeospatial?Math.round(e.zoom+Math.log2(yt/a))+f:Math.ceil(e.zoom)+f;if(typeof n=="number"&&Number.isFinite(n)&&h<n){if(!o)return[];h=n}typeof r=="number"&&Number.isFinite(r)&&h>r&&(h=r);var d=o;return c&&u&&o&&!e.isGeospatial&&(d=Kd(o,c)),e.isGeospatial?qd(e,h,i,o):Vb(e,h,a,d||Nb,u)}function Fc(t){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(t)}function Dc(t){return Number.isFinite(t.west)&&Number.isFinite(t.north)&&Number.isFinite(t.east)&&Number.isFinite(t.south)}function Zd(t){var e={},r;return function(n){for(var i in n)if(!zb(n[i],e[i])){r=t(n),e=n;break}return r}}function zb(t,e){if(t===e)return!0;if(Array.isArray(t)){var r=t.length;if(!e||e.length!==r)return!1;for(var n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}return!1}var Un;function Qd(t,e){return Jb(t)||kb(t,e)||ip(t,e)||jb()}function jb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kb(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function Jb(t){if(Array.isArray(t))return t}function he(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=ip(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function ip(t,e){if(t){if(typeof t=="string")return $d(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $d(t,e)}}function $d(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function ep(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function tp(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ep(Object(r),!0).forEach(function(n){xo(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ep(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function qb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function rp(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Wb(t,e,r){return e&&rp(t.prototype,e),r&&rp(t,r),t}function xo(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var np=1,To=2,Xb="never",Kb="no-overlap",Gn="best-available",Yb=5,Zb=(Un={},xo(Un,Gn,$b),xo(Un,Kb,eE),xo(Un,Xb,function(){}),Un),Qb={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:function(){},onTileUnload:function(){},onTileError:function(){}},Hn=function(){function t(r){var n=this;qb(this,t),this.opts=void 0,this._requestScheduler=void 0,this._cache=void 0,this._dirty=void 0,this._tiles=void 0,this._cacheByteSize=void 0,this._viewport=void 0,this._zRange=void 0,this._selectedTiles=void 0,this._frameNumber=void 0,this._modelMatrix=void 0,this._modelMatrixInverse=void 0,this._maxZoom=void 0,this._minZoom=void 0,this.onTileLoad=void 0,this._getCullBounds=Zd(Yd),this.opts=tp(tp({},Qb),r),this.onTileLoad=function(i){var o,s;(o=(s=n.opts).onTileLoad)===null||o===void 0||o.call(s,i),n.opts.maxCacheByteSize&&(n._cacheByteSize+=i.byteLength,n._resizeCache())},this._requestScheduler=new wt({maxRequests:r.maxRequests,throttleRequests:Boolean(r.maxRequests&&r.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new D,this._modelMatrixInverse=new D,this.setOptions(r)}var e=t.prototype;return e.setOptions=function(n){Object.assign(this.opts,n),Number.isFinite(n.maxZoom)&&(this._maxZoom=Math.floor(n.maxZoom)),Number.isFinite(n.minZoom)&&(this._minZoom=Math.ceil(n.minZoom))},e.finalize=function(){var n=he(this._cache.values()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o.isLoading&&o.abort()}}catch(s){n.e(s)}finally{n.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null},e.reloadAll=function(){var n=he(this._cache.keys()),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,s=this._cache.get(o);!this._selectedTiles||!this._selectedTiles.includes(s)?this._cache.delete(o):s.setNeedsReload()}}catch(a){n.e(a)}finally{n.f()}},e.update=function(n){var i=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=o.zRange,a=o.modelMatrix,c=a?new D(a):new D,u=!c.equals(this._modelMatrix);if(!this._viewport||!n.equals(this._viewport)||!_e(this._zRange,s)||u){u&&(this._modelMatrixInverse=c.clone().invert(),this._modelMatrix=c),this._viewport=n,this._zRange=s;var l=this.getTileIndices({viewport:n,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:s,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=l.map(function(h){return i._getTile(h,!0)}),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(function(h){return i._getTile(h.index,!0)}));var f=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),f&&this._frameNumber++,this._frameNumber},e.isTileVisible=function(n,i){if(!n.isVisible)return!1;if(i&&this._viewport){var o=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:i}),s=n.bbox,a=he(o),c;try{for(a.s();!(c=a.n()).done;){var u=Qd(c.value,4),l=u[0],f=u[1],h=u[2],d=u[3],p=void 0;if("west"in s)p=s.west<h&&s.east>l&&s.south<d&&s.north>f;else{var g=Math.min(s.top,s.bottom),m=Math.max(s.top,s.bottom);p=s.left<h&&s.right>l&&g<d&&m>f}if(p)return!0}}catch(A){a.e(A)}finally{a.f()}return!1}return!0},e.getTileIndices=function(n){var i=n.viewport,o=n.maxZoom,s=n.minZoom,a=n.zRange,c=n.modelMatrix,u=n.modelMatrixInverse,l=this.opts,f=l.tileSize,h=l.extent,d=l.zoomOffset;return Pc({viewport:i,maxZoom:o,minZoom:s,zRange:a,tileSize:f,extent:h,modelMatrix:c,modelMatrixInverse:u,zoomOffset:d})},e.getTileId=function(n){return"".concat(n.x,"-").concat(n.y,"-").concat(n.z)},e.getTileZoom=function(n){return n.z},e.getTileMetadata=function(n){var i=this.opts.tileSize;return{bbox:Lc(this._viewport,n.x,n.y,n.z,i)}},e.getParentIndex=function(n){var i=Math.floor(n.x/2),o=Math.floor(n.y/2),s=n.z-1;return{x:i,y:o,z:s}},e.updateTileStates=function(){var n=this.opts.refinementStrategy||Gn,i=new Array(this._cache.size),o=0,s=he(this._cache.values()),a;try{for(s.s();!(a=s.n()).done;){var c=a.value;i[o++]=c.isVisible,c.isSelected=!1,c.isVisible=!1}}catch(g){s.e(g)}finally{s.f()}var u=he(this._selectedTiles),l;try{for(u.s();!(l=u.n()).done;){var f=l.value;f.isSelected=!0,f.isVisible=!0}}catch(g){u.e(g)}finally{u.f()}(typeof n=="function"?n:Zb[n])(Array.from(this._cache.values())),o=0;var h=he(this._cache.values()),d;try{for(h.s();!(d=h.n()).done;){var p=d.value;if(i[o++]!==p.isVisible)return!0}}catch(g){h.e(g)}finally{h.f()}return!1},e._pruneRequests=function(){var n=this.opts.maxRequests,i=n===void 0?0:n,o=[],s=0,a=he(this._cache.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isLoading&&(s++,!u.isSelected&&!u.isVisible&&o.push(u))}}catch(f){a.e(f)}finally{a.f()}for(;i>0&&s>i&&o.length>0;){var l=o.shift();l.abort(),s--}},e._rebuildTree=function(){var n=this._cache,i=he(n.values()),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.parent=null,s.children&&(s.children.length=0)}}catch(f){i.e(f)}finally{i.f()}var a=he(n.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value,l=this._getNearestAncestor(u);u.parent=l,l!=null&&l.children&&l.children.push(u)}}catch(f){a.e(f)}finally{a.f()}},e._resizeCache=function(){var n=this._cache,i=this.opts,o=i.maxCacheSize||(i.maxCacheByteSize?1/0:Yb*this.selectedTiles.length),s=i.maxCacheByteSize||1/0,a=n.size>o||this._cacheByteSize>s;if(a){var c=he(n),u;try{for(c.s();!(u=c.n()).done;){var l=Qd(u.value,2),f=l[0],h=l[1];if(!h.isVisible&&!h.isSelected){var d,p;this._cacheByteSize-=i.maxCacheByteSize?h.byteLength:0,n.delete(f),(d=(p=this.opts).onTileUnload)===null||d===void 0||d.call(p,h)}if(n.size<=o&&this._cacheByteSize<=s)break}}catch(g){c.e(g)}finally{c.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort(function(g,m){return g.zoom-m.zoom}),this._dirty=!1)},e._getTile=function(n,i){var o=this.getTileId(n),s=this._cache.get(o),a=!1;return!s&&i?(s=new Pn(n),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:o,zoom:this.getTileZoom(s.index)}),a=!0,this._cache.set(o,s),this._dirty=!0):s&&s.needsReload&&(a=!0),s&&a&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s},e._getNearestAncestor=function(n){for(var i=this._minZoom,o=i===void 0?0:i,s=n.index;this.getTileZoom(s)>o;){s=this.getParentIndex(s);var a=this._getTile(s);if(a)return a}return null},Wb(t,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles!==null&&this._selectedTiles.every(function(n){return n.isLoaded})}},{key:"needsReload",get:function(){return this._selectedTiles!==null&&this._selectedTiles.some(function(n){return n.needsReload})}}]),t}();function $b(t){var e=he(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(l){e.e(l)}finally{e.f()}var i=he(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&!op(s)&&Nc(s)}}catch(l){i.e(l)}finally{i.f()}var a=he(t),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isVisible=Boolean(u.state&To)}}catch(l){a.e(l)}finally{a.f()}}function eE(t){var e=he(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(p){e.e(p)}finally{e.f()}var i=he(t),o;try{for(i.s();!(o=i.n()).done;){var s=o.value;s.isSelected&&op(s)}}catch(p){i.e(p)}finally{i.f()}var a=Array.from(t).sort(function(p,g){return p.zoom-g.zoom}),c=he(a),u;try{for(c.s();!(u=c.n()).done;){var l=u.value;if(l.isVisible=Boolean(l.state&To),l.children&&(l.isVisible||l.state&np)){var f=he(l.children),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;d.state=np}}catch(p){f.e(p)}finally{f.f()}}else l.isSelected&&Nc(l)}}catch(p){c.e(p)}finally{c.f()}}function op(t){for(var e=t;e;){if(e.isLoaded||e.content)return e.state|=To,!0;e=e.parent}return!1}function Nc(t){var e=he(t.children),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.isLoaded||n.content?n.state|=To:Nc(n)}}catch(i){e.e(i)}finally{e.f()}}function Eo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Eo=function(r){return typeof r}:Eo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Eo(t)}function sp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function bo(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?sp(Object(r),!0).forEach(function(n){tE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):sp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function tE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function rE(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=nE(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function nE(t,e){if(t){if(typeof t=="string")return ap(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ap(t,e)}}function ap(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function iE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function cp(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function oE(t,e,r){return e&&cp(t.prototype,e),r&&cp(t,r),t}function sE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Uc(t,e)}function Uc(t,e){return Uc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Uc(t,e)}function aE(t){var e=lE();return function(){var n=So(t),i;if(e){var o=So(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return cE(this,i)}}function cE(t,e){if(e&&(Eo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return uE(t)}function uE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function lE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function So(t){return So=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},So(t)}var fE={TilesetClass:Hn,data:{type:"data",value:[]},dataComparator:Ut.equal,renderSubLayers:{type:"function",value:function(e){return new up.GeoJsonLayer(e)}},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e){return console.error(e)}},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:Gn,zRange:null,maxRequests:6,zoomOffset:0},At=function(t){sE(r,t);var e=aE(r);function r(){var i;iE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){this.state={tileset:null,isLoaded:!1}},n.finalizeState=function(){var o,s;(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0||s.finalize()},n.shouldUpdateState=function(o){var s=o.changeFlags;return s.somethingChanged},n.updateState=function(o){var s=o.changeFlags,a=this.state.tileset,c=s.propsOrDataChanged||s.updateTriggersChanged,u=s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getTileData);a?c&&(a.setOptions(this._getTilesetOptions()),u?a.reloadAll():a.tiles.forEach(function(l){l.layers=null})):(a=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:a})),this._updateTileset()},n._getTilesetOptions=function(){var o=this.props,s=o.tileSize,a=o.maxCacheSize,c=o.maxCacheByteSize,u=o.refinementStrategy,l=o.extent,f=o.maxZoom,h=o.minZoom,d=o.maxRequests,p=o.zoomOffset;return{maxCacheSize:a,maxCacheByteSize:c,maxZoom:f,minZoom:h,tileSize:s,refinementStrategy:u,extent:l,maxRequests:d,zoomOffset:p,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}},n._updateTileset=function(){var o=this.state.tileset,s=this.props,a=s.zRange,c=s.modelMatrix,u=o.update(this.context.viewport,{zRange:a,modelMatrix:c}),l=o.isLoaded,f=this.state.isLoaded!==l,h=this.state.frameNumber!==u;l&&(f||h)&&this._onViewportLoad(),h&&this.setState({frameNumber:u}),this.state.isLoaded=l},n._onViewportLoad=function(){var o=this.state.tileset,s=this.props.onViewportLoad;s&&s(o.selectedTiles)},n._onTileLoad=function(o){this.props.onTileLoad(o),o.layers=null,this.setNeedsUpdate()},n._onTileError=function(o,s){this.props.onTileError(o),s.layers=null,this.setNeedsUpdate()},n._onTileUnload=function(o){this.props.onTileUnload(o)},n.getTileData=function(o){var s=this.props,a=s.data,c=s.getTileData,u=s.fetch,l=o.signal;return o.url=typeof a=="string"||Array.isArray(a)?ot(a,o):null,c?c(o):u&&o.url?u(o.url,{propName:"data",layer:this,signal:l}):null},n.renderSubLayers=function(o){return this.props.renderSubLayers(o)},n.getSubLayerPropsByTile=function(o){return null},n.getPickingInfo=function(o){var s=o.info,a=o.sourceLayer,c=a.props.tile;return s.picked&&(s.tile=c),s.sourceTile=c,s},n._updateAutoHighlight=function(o){var s=o.sourceTile;if(s&&s.layers){var a=rE(s.layers),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.updateAutoHighlight(o)}}catch(l){a.e(l)}finally{a.f()}}},n.renderLayers=function(){var o=this;return this.state.tileset.tiles.map(function(s){var a=o.getSubLayerPropsByTile(s);if(!(!s.isLoaded&&!s.content))if(s.layers)a&&s.layers[0]&&Object.keys(a).some(function(u){return s.layers[0].props[u]!==a[u]})&&(s.layers=s.layers.map(function(u){return u.clone(a)}));else{var c=o.renderSubLayers(bo(bo(bo({},o.props),o.getSubLayerProps({id:s.id,updateTriggers:o.props.updateTriggers})),{},{data:s.content,_offset:0,tile:s}));s.layers=(0,Bo._flatten)(c,Boolean).map(function(u){return u.clone(bo({tile:s},a))})}return s.layers})},n.filterSubLayer=function(o){var s=o.layer,a=o.cullRect,c=s.props.tile;return this.state.tileset.isTileVisible(c,a)},oE(r,[{key:"isLoaded",get:function(){var o,s,a=(o=this.state)===null||o===void 0||(s=o.tileset)===null||s===void 0?void 0:s.selectedTiles;return a?a.every(function(c){return c.isLoaded&&c.layers&&c.layers.every(function(u){return u.isLoaded})}):!1}}]),r}(Bo.CompositeLayer);At.defaultProps=fE;At.layerName="TileLayer";var hp=P(Ve());function Co(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Co=function(r){return typeof r}:Co=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Co(t)}function lp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function fp(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?lp(Object(r),!0).forEach(function(n){hE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):lp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function hE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function dE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gr(t,e,r){return typeof Reflect<"u"&&Reflect.get?Gr=Reflect.get:Gr=function(i,o,s){var a=pE(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},Gr(t,e,r||t)}function pE(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Gt(t),t!==null););return t}function mE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gc(t,e)}function Gc(t,e){return Gc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Gc(t,e)}function gE(t){var e=_E();return function(){var n=Gt(t),i;if(e){var o=Gt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return yE(this,i)}}function yE(t,e){if(e&&(Co(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return AE(t)}function AE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _E(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Gt(t){return Gt=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Gt(t)}var vE={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:function(e){return e.timestamps}}},Mo=function(t){mE(r,t);var e=gE(r);function r(){return dE(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var o=Gr(Gt(r.prototype),"getShaders",this).call(this);return o.inject={"vs:#decl":`uniform float trailLength;
14
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Ut.prototype.build=function(t){return this.options.preserveOrder?q1(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t=j1({},this.options.arrayNodeName,t)),this.j2x(t,0).val)};Ut.prototype.j2x=function(t,e){var r="",n="";for(var s in t)if(typeof t[s]>"u")this.isAttribute(s)&&(n+="");else if(t[s]===null)this.isAttribute(s)?n+="":s[0]==="?"?n+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+s+"/"+this.tagEndChar;else if(t[s]instanceof Date)n+=this.buildTextValNode(t[s],s,"",e);else if(kn(t[s])!=="object"){var i=this.isAttribute(s);if(i)r+=this.buildAttrPairStr(i,""+t[s]);else if(s===this.options.textNodeName){var o=this.options.tagValueProcessor(s,""+t[s]);n+=this.replaceEntitiesValue(o)}else n+=this.buildTextValNode(t[s],s,"",e)}else if(Array.isArray(t[s])){for(var a=t[s].length,c="",u=0;u<a;u++){var l=t[s][u];typeof l>"u"||(l===null?s[0]==="?"?n+=this.indentate(e)+"<"+s+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+s+"/"+this.tagEndChar:kn(l)==="object"?this.options.oneListGroup?c+=this.j2x(l,e+1).val:c+=this.processTextOrObjNode(l,s,e):c+=this.buildTextValNode(l,s,"",e))}this.options.oneListGroup&&(c=this.buildObjectNode(c,s,"",e)),n+=c}else if(this.options.attributesGroupName&&s===this.options.attributesGroupName)for(var f=Object.keys(t[s]),h=f.length,d=0;d<h;d++)r+=this.buildAttrPairStr(f[d],""+t[s][f[d]]);else n+=this.processTextOrObjNode(t[s],s,e);return{attrStr:r,val:n}};Ut.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function W1(t,e,r){var n=this.j2x(t,r+1);return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,r):this.buildObjectNode(n.val,e,n.attrStr,r)}Ut.prototype.buildObjectNode=function(t,e,r,n){if(t==="")return e[0]==="?"?this.indentate(n)+"<"+e+r+"?"+this.tagEndChar:this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar;var s="</"+e+this.tagEndChar,i="";return e[0]==="?"&&(i="?",s=""),(r||r==="")&&t.indexOf("<")===-1?this.indentate(n)+"<"+e+r+i+">"+t+s:this.options.commentPropName!==!1&&e===this.options.commentPropName&&i.length===0?this.indentate(n)+"<!--".concat(t,"-->")+this.newLine:this.indentate(n)+"<"+e+r+i+this.tagEndChar+t+this.indentate(n)+s};Ut.prototype.closeTag=function(t){var e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e="></".concat(t),e};Ut.prototype.buildTextValNode=function(t,e,r,n){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(n)+"<![CDATA[".concat(t,"]]>")+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(n)+"<!--".concat(t,"-->")+this.newLine;if(e[0]==="?")return this.indentate(n)+"<"+e+r+"?"+this.tagEndChar;var s=this.options.tagValueProcessor(e,t);return s=this.replaceEntitiesValue(s),s===""?this.indentate(n)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+r+">"+s+"</"+e+this.tagEndChar};Ut.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(var e=0;e<this.options.entities.length;e++){var r=this.options.entities[e];t=t.replace(r.regex,r.val)}return t};function X1(t){return this.options.indentBy.repeat(t)}function K1(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}Yh.exports=Ut});var $h=ce((wL,Qh)=>{"use strict";var Y1=Za(),Z1=jh(),Q1=Zh();Qh.exports={XMLParser:Z1,XMLValidator:Y1,XMLBuilder:Q1}});var uu=ce((Up,rs)=>{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof yh=="function"&&typeof rs=="object"&&rs&&rs.exports?rs.exports=e():(t.dcodeIO=t.dcodeIO||{}).Long=e()})(Up,function(){"use strict";function t(S,y,R){this.low=S|0,this.high=y|0,this.unsigned=!!R}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function e(S){return(S&&S.__isLong__)===!0}t.isLong=e;var r={},n={};function s(S,y){var R,P,F;return y?(S>>>=0,(F=0<=S&&S<256)&&(P=n[S],P)?P:(R=o(S,(S|0)<0?-1:0,!0),F&&(n[S]=R),R)):(S|=0,(F=-128<=S&&S<128)&&(P=r[S],P)?P:(R=o(S,S<0?-1:0,!1),F&&(r[S]=R),R))}t.fromInt=s;function i(S,y){if(isNaN(S)||!isFinite(S))return y?A:m;if(y){if(S<0)return A;if(S>=d)return C}else{if(S<=-p)return I;if(S+1>=p)return M}return S<0?i(-S,y).neg():o(S%h|0,S/h|0,y)}t.fromNumber=i;function o(S,y,R){return new t(S,y,R)}t.fromBits=o;var a=Math.pow;function c(S,y,R){if(S.length===0)throw Error("empty string");if(S==="NaN"||S==="Infinity"||S==="+Infinity"||S==="-Infinity")return m;if(typeof y=="number"?(R=y,y=!1):y=!!y,R=R||10,R<2||36<R)throw RangeError("radix");var P;if((P=S.indexOf("-"))>0)throw Error("interior hyphen");if(P===0)return c(S.substring(1),y,R).neg();for(var F=i(a(R,8)),N=m,G=0;G<S.length;G+=8){var Q=Math.min(8,S.length-G),J=parseInt(S.substring(G,G+Q),R);if(Q<8){var ne=i(a(R,Q));N=N.mul(ne).add(i(J))}else N=N.mul(F),N=N.add(i(J))}return N.unsigned=y,N}t.fromString=c;function u(S){return S instanceof t?S:typeof S=="number"?i(S):typeof S=="string"?c(S):o(S.low,S.high,S.unsigned)}t.fromValue=u;var l=1<<16,f=1<<24,h=l*l,d=h*h,p=d/2,g=s(f),m=s(0);t.ZERO=m;var A=s(0,!0);t.UZERO=A;var v=s(1);t.ONE=v;var x=s(1,!0);t.UONE=x;var b=s(-1);t.NEG_ONE=b;var M=o(-1,2147483647,!1);t.MAX_VALUE=M;var C=o(-1,-1,!0);t.MAX_UNSIGNED_VALUE=C;var I=o(0,-2147483648,!1);t.MIN_VALUE=I;var B=t.prototype;return B.toInt=function(){return this.unsigned?this.low>>>0:this.low},B.toNumber=function(){return this.unsigned?(this.high>>>0)*h+(this.low>>>0):this.high*h+(this.low>>>0)},B.toString=function(y){if(y=y||10,y<2||36<y)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(I)){var R=i(y),P=this.div(R),F=P.mul(R).sub(this);return P.toString(y)+F.toInt().toString(y)}else return"-"+this.neg().toString(y);for(var N=i(a(y,6),this.unsigned),G=this,Q="";;){var J=G.div(N),ne=G.sub(J.mul(N)).toInt()>>>0,Z=ne.toString(y);if(G=J,G.isZero())return Z+Q;for(;Z.length<6;)Z="0"+Z;Q=""+Z+Q}},B.getHighBits=function(){return this.high},B.getHighBitsUnsigned=function(){return this.high>>>0},B.getLowBits=function(){return this.low},B.getLowBitsUnsigned=function(){return this.low>>>0},B.getNumBitsAbs=function(){if(this.isNegative())return this.eq(I)?64:this.neg().getNumBitsAbs();for(var y=this.high!=0?this.high:this.low,R=31;R>0&&!(y&1<<R);R--);return this.high!=0?R+33:R+1},B.isZero=function(){return this.high===0&&this.low===0},B.isNegative=function(){return!this.unsigned&&this.high<0},B.isPositive=function(){return this.unsigned||this.high>=0},B.isOdd=function(){return(this.low&1)===1},B.isEven=function(){return(this.low&1)===0},B.equals=function(y){return e(y)||(y=u(y)),this.unsigned!==y.unsigned&&this.high>>>31===1&&y.high>>>31===1?!1:this.high===y.high&&this.low===y.low},B.eq=B.equals,B.notEquals=function(y){return!this.eq(y)},B.neq=B.notEquals,B.lessThan=function(y){return this.comp(y)<0},B.lt=B.lessThan,B.lessThanOrEqual=function(y){return this.comp(y)<=0},B.lte=B.lessThanOrEqual,B.greaterThan=function(y){return this.comp(y)>0},B.gt=B.greaterThan,B.greaterThanOrEqual=function(y){return this.comp(y)>=0},B.gte=B.greaterThanOrEqual,B.compare=function(y){if(e(y)||(y=u(y)),this.eq(y))return 0;var R=this.isNegative(),P=y.isNegative();return R&&!P?-1:!R&&P?1:this.unsigned?y.high>>>0>this.high>>>0||y.high===this.high&&y.low>>>0>this.low>>>0?-1:1:this.sub(y).isNegative()?-1:1},B.comp=B.compare,B.negate=function(){return!this.unsigned&&this.eq(I)?I:this.not().add(v)},B.neg=B.negate,B.add=function(y){e(y)||(y=u(y));var R=this.high>>>16,P=this.high&65535,F=this.low>>>16,N=this.low&65535,G=y.high>>>16,Q=y.high&65535,J=y.low>>>16,ne=y.low&65535,Z=0,$=0,oe=0,Be=0;return Be+=N+ne,oe+=Be>>>16,Be&=65535,oe+=F+J,$+=oe>>>16,oe&=65535,$+=P+Q,Z+=$>>>16,$&=65535,Z+=R+G,Z&=65535,o(oe<<16|Be,Z<<16|$,this.unsigned)},B.subtract=function(y){return e(y)||(y=u(y)),this.add(y.neg())},B.sub=B.subtract,B.multiply=function(y){if(this.isZero()||(e(y)||(y=u(y)),y.isZero()))return m;if(this.eq(I))return y.isOdd()?I:m;if(y.eq(I))return this.isOdd()?I:m;if(this.isNegative())return y.isNegative()?this.neg().mul(y.neg()):this.neg().mul(y).neg();if(y.isNegative())return this.mul(y.neg()).neg();if(this.lt(g)&&y.lt(g))return i(this.toNumber()*y.toNumber(),this.unsigned);var R=this.high>>>16,P=this.high&65535,F=this.low>>>16,N=this.low&65535,G=y.high>>>16,Q=y.high&65535,J=y.low>>>16,ne=y.low&65535,Z=0,$=0,oe=0,Be=0;return Be+=N*ne,oe+=Be>>>16,Be&=65535,oe+=F*ne,$+=oe>>>16,oe&=65535,oe+=N*J,$+=oe>>>16,oe&=65535,$+=P*ne,Z+=$>>>16,$&=65535,$+=F*J,Z+=$>>>16,$&=65535,$+=N*Q,Z+=$>>>16,$&=65535,Z+=R*ne+P*J+F*Q+N*G,Z&=65535,o(oe<<16|Be,Z<<16|$,this.unsigned)},B.mul=B.multiply,B.divide=function(y){if(e(y)||(y=u(y)),y.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?A:m;var R,P,F;if(this.unsigned){if(y.unsigned||(y=y.toUnsigned()),y.gt(this))return A;if(y.gt(this.shru(1)))return x;F=A}else{if(this.eq(I)){if(y.eq(v)||y.eq(b))return I;if(y.eq(I))return v;var N=this.shr(1);return R=N.div(y).shl(1),R.eq(m)?y.isNegative()?v:b:(P=this.sub(y.mul(R)),F=R.add(P.div(y)),F)}else if(y.eq(I))return this.unsigned?A:m;if(this.isNegative())return y.isNegative()?this.neg().div(y.neg()):this.neg().div(y).neg();if(y.isNegative())return this.div(y.neg()).neg();F=m}for(P=this;P.gte(y);){R=Math.max(1,Math.floor(P.toNumber()/y.toNumber()));for(var G=Math.ceil(Math.log(R)/Math.LN2),Q=G<=48?1:a(2,G-48),J=i(R),ne=J.mul(y);ne.isNegative()||ne.gt(P);)R-=Q,J=i(R,this.unsigned),ne=J.mul(y);J.isZero()&&(J=v),F=F.add(J),P=P.sub(ne)}return F},B.div=B.divide,B.modulo=function(y){return e(y)||(y=u(y)),this.sub(this.div(y).mul(y))},B.mod=B.modulo,B.not=function(){return o(~this.low,~this.high,this.unsigned)},B.and=function(y){return e(y)||(y=u(y)),o(this.low&y.low,this.high&y.high,this.unsigned)},B.or=function(y){return e(y)||(y=u(y)),o(this.low|y.low,this.high|y.high,this.unsigned)},B.xor=function(y){return e(y)||(y=u(y)),o(this.low^y.low,this.high^y.high,this.unsigned)},B.shiftLeft=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?o(this.low<<y,this.high<<y|this.low>>>32-y,this.unsigned):o(0,this.low<<y-32,this.unsigned)},B.shl=B.shiftLeft,B.shiftRight=function(y){return e(y)&&(y=y.toInt()),(y&=63)===0?this:y<32?o(this.low>>>y|this.high<<32-y,this.high>>y,this.unsigned):o(this.high>>y-32,this.high>=0?0:-1,this.unsigned)},B.shr=B.shiftRight,B.shiftRightUnsigned=function(y){if(e(y)&&(y=y.toInt()),y&=63,y===0)return this;var R=this.high;if(y<32){var P=this.low;return o(P>>>y|R<<32-y,R>>>y,this.unsigned)}else return y===32?o(R,0,this.unsigned):o(R>>>y-32,0,this.unsigned)},B.shru=B.shiftRightUnsigned,B.toSigned=function(){return this.unsigned?o(this.low,this.high,!1):this},B.toUnsigned=function(){return this.unsigned?this:o(this.low,this.high,!0)},B.toBytes=function(S){return S?this.toBytesLE():this.toBytesBE()},B.toBytesLE=function(){var S=this.high,y=this.low;return[y&255,y>>>8&255,y>>>16&255,y>>>24&255,S&255,S>>>8&255,S>>>16&255,S>>>24&255]},B.toBytesBE=function(){var S=this.high,y=this.low;return[S>>>24&255,S>>>16&255,S>>>8&255,S&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255]},t})});var $i=ce((IG,Nm)=>{Nm.exports=globalThis.h3||{}});var Ct=ce((GG,Ym)=>{Ym.exports=globalThis.luma});var Mo=ce((r4,Lg)=>{Lg.exports=globalThis.deck});var dn=ce((K4,e0)=>{e0.exports=globalThis.loaders});var I_=ce((gq,M_)=>{M_.exports=globalThis.deck});var k_=ce(rh=>{rh.read=function(t,e,r,n,s){var i,o,a=s*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?s-1:0,h=r?-1:1,d=t[e+f];for(f+=h,i=d&(1<<-l)-1,d>>=-l,l+=a;l>0;i=i*256+t[e+f],f+=h,l-=8);for(o=i&(1<<-l)-1,i>>=-l,l+=n;l>0;o=o*256+t[e+f],f+=h,l-=8);if(i===0)i=1-u;else{if(i===c)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),i=i-u}return(d?-1:1)*o*Math.pow(2,i-n)};rh.write=function(t,e,r,n,s,i){var o,a,c,u=i*8-s-1,l=(1<<u)-1,f=l>>1,h=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,p=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+f>=1?e+=h/c:e+=h*Math.pow(2,1-f),e*c>=2&&(o++,c/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(e*c-1)*Math.pow(2,s),o=o+f):(a=e*Math.pow(2,f-1)*Math.pow(2,s),o=0));s>=8;t[r+d]=a&255,d+=p,a/=256,s-=8);for(o=o<<s|a,u+=s;u>0;t[r+d]=o&255,d+=p,o/=256,u-=8);t[r+d-p]|=g*128}});var J_=ce((i5,q_)=>{"use strict";q_.exports=X;var Ga=k_();function X(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}X.Varint=0;X.Fixed64=1;X.Bytes=2;X.Fixed32=5;var nh=(1<<16)*(1<<16),H_=1/nh,LO=12,j_=typeof TextDecoder>"u"?null:new TextDecoder("utf8");X.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),s=n>>3,i=this.pos;this.type=n&7,t(s,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=ka(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=z_(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=ka(this.buf,this.pos)+ka(this.buf,this.pos+4)*nh;return this.pos+=8,t},readSFixed64:function(){var t=ka(this.buf,this.pos)+z_(this.buf,this.pos+4)*nh;return this.pos+=8,t},readFloat:function(){var t=Ga.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ga.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,n;return n=e[this.pos++],r=n&127,n<128||(n=e[this.pos++],r|=(n&127)<<7,n<128)||(n=e[this.pos++],r|=(n&127)<<14,n<128)||(n=e[this.pos++],r|=(n&127)<<21,n<128)?r:(n=e[this.pos],r|=(n&15)<<28,PO(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=LO&&j_?XO(this.buf,e,t):WO(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==X.Bytes)return t.push(this.readVarint(e));var r=Nt(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==X.Bytes)return t.push(this.readSVarint());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==X.Bytes)return t.push(this.readBoolean());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==X.Bytes)return t.push(this.readFloat());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==X.Bytes)return t.push(this.readDouble());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==X.Bytes)return t.push(this.readFixed32());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==X.Bytes)return t.push(this.readSFixed32());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==X.Bytes)return t.push(this.readFixed64());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==X.Bytes)return t.push(this.readSFixed64());var e=Nt(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===X.Varint)for(;this.buf[this.pos++]>127;);else if(e===X.Bytes)this.pos=this.readVarint()+this.pos;else if(e===X.Fixed32)this.pos+=4;else if(e===X.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),Dn(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),Dn(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),Dn(this.buf,t&-1,this.pos),Dn(this.buf,Math.floor(t*H_),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),Dn(this.buf,t&-1,this.pos),Dn(this.buf,Math.floor(t*H_),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){FO(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=KO(this.buf,t,this.pos);var r=this.pos-e;r>=128&&V_(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Ga.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Ga.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&V_(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,X.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,UO,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,GO,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,VO,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,kO,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,HO,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,zO,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,jO,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,qO,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,JO,e)},writeBytesField:function(t,e){this.writeTag(t,X.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,X.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,X.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,X.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,X.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,X.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,X.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,X.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,X.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,X.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function PO(t,e,r){var n=r.buf,s,i;if(i=n[r.pos++],s=(i&112)>>4,i<128||(i=n[r.pos++],s|=(i&127)<<3,i<128)||(i=n[r.pos++],s|=(i&127)<<10,i<128)||(i=n[r.pos++],s|=(i&127)<<17,i<128)||(i=n[r.pos++],s|=(i&127)<<24,i<128)||(i=n[r.pos++],s|=(i&1)<<31,i<128))return Nn(t,s,e);throw new Error("Expected varint not more than 10 bytes")}function Nt(t){return t.type===X.Bytes?t.readVarint()+t.pos:t.pos+1}function Nn(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function FO(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(r=~(-t%4294967296),n=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),NO(r,n,e),DO(n,e)}function NO(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function DO(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=t&127)))))}function V_(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(n);for(var s=r.pos-1;s>=t;s--)r.buf[s+n]=r.buf[s]}function UO(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function GO(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function kO(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function HO(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function VO(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function zO(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function jO(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function qO(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function JO(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function ka(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function Dn(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function z_(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function WO(t,e,r){for(var n="",s=e;s<r;){var i=t[s],o=null,a=i>239?4:i>223?3:i>191?2:1;if(s+a>r)break;var c,u,l;a===1?i<128&&(o=i):a===2?(c=t[s+1],(c&192)===128&&(o=(i&31)<<6|c&63,o<=127&&(o=null))):a===3?(c=t[s+1],u=t[s+2],(c&192)===128&&(u&192)===128&&(o=(i&15)<<12|(c&63)<<6|u&63,(o<=2047||o>=55296&&o<=57343)&&(o=null))):a===4&&(c=t[s+1],u=t[s+2],l=t[s+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(o=(i&15)<<18|(c&63)<<12|(u&63)<<6|l&63,(o<=65535||o>=1114112)&&(o=null))),o===null?(o=65533,a=1):o>65535&&(o-=65536,n+=String.fromCharCode(o>>>10&1023|55296),o=56320|o&1023),n+=String.fromCharCode(o),s+=a}return n}function XO(t,e,r){return j_.decode(t.subarray(e,r))}function KO(t,e,r){for(var n=0,s,i;n<e.length;n++){if(s=e.charCodeAt(n),s>55295&&s<57344)if(i)if(s<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=s;continue}else s=i-55296<<10|s-56320|65536,i=null;else{s>56319||n+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=s;continue}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);s<128?t[r++]=s:(s<2048?t[r++]=s>>6|192:(s<65536?t[r++]=s>>12|224:(t[r++]=s>>18|240,t[r++]=s>>12&63|128),t[r++]=s>>6&63|128),t[r++]=s&63|128)}return r}});var Ks={};Ae(Ks,{GeohashLayer:()=>Ka,GreatCircleLayer:()=>Mi,H3ClusterLayer:()=>oo,H3HexagonLayer:()=>Er,MVTLayer:()=>Ja,QuadkeyLayer:()=>Ui,S2Layer:()=>Fi,TerrainLayer:()=>Ra,Tile3DLayer:()=>Ea,TileLayer:()=>Bt,TripsLayer:()=>Qi,_GeoCellLayer:()=>Ge,_Tile2DHeader:()=>ns,_Tileset2D:()=>us,_WMSLayer:()=>Si,_getURLFromTemplate:()=>pt});var at={},Ah=U(Ye());Dt(at,U(Ye()));if(!Ah.GeoJsonLayer)throw new Error("@deck.gl/layers is not found");Dt(Ks,at);var Tr=U(Ze()),Pp=U(Ye());function IA(t){return typeof t=="string"?t.charAt(0).toLowerCase()+t.slice(1):t}function Qs(t){if(Array.isArray(t))return t.map(e=>Qs(e));if(t&&typeof t=="object"){let e={};for(let[r,n]of Object.entries(t))e[IA(r)]=Qs(n);return e}return t}var ed=U($h(),1);function rc(t,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e?._parser);let r={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e?.removeNSPrefix,textNodeName:e?.textNodeName,isArray:(s,i,o,a)=>{var c;return Boolean(e==null||(c=e.arrayPaths)===null||c===void 0?void 0:c.some(l=>i===l))},...e?._fastXML},n=$1(t,r);return e!=null&&e.uncapitalizeKeys?Qs(n):n}function $1(t,e){return new ed.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(t)}var ev="4.1.0-alpha.9",Ee={name:"XML",id:"xml",module:"xml",version:ev,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:tv,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(t,e)=>rc(new TextDecoder().decode(t),{...Ee.options.xml,...e?.xml}),parseTextSync:(t,e)=>rc(t,{...Ee.options.xml,...e?.xml})};function tv(t){return t.startsWith("<?xml")}async function Le(t,e,r,n){return n._parse(t,e,r,n)}function j(t,e){if(!t)throw new Error(e||"loader assertion failed.")}var ct={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},rv=ct.self||ct.window||ct.global||{},nv=ct.window||ct.self||ct.global||{},sv=ct.global||ct.self||ct.window||{},iv=ct.document||{};var Hn=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var td=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),ov=td&&parseFloat(td[1])||0;function nc(t,e){return rd(t||{},e)}function rd(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(r>3)return e;let n={...t};for(let[s,i]of Object.entries(e))i&&typeof i=="object"&&!Array.isArray(i)?n[s]=rd(n[s]||{},e[s],r+1):n[s]=e[s];return n}function av(){var t;return(t=globalThis._loadersgl_)!==null&&t!==void 0&&t.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.1.0-alpha.9"),globalThis._loadersgl_.version}var nd=av();function sd(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var ut={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},NL=ut.self||ut.window||ut.global||{},DL=ut.window||ut.self||ut.global||{},UL=ut.global||ut.self||ut.window||{},kL=ut.document||{};var Jr=typeof process!="object"||String(process)!=="[object process]"||process.browser,ti=typeof importScripts=="function",HL=typeof window<"u"&&typeof window.orientation<"u",id=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),VL=id&&parseFloat(id[1])||0;var sc={};async function lt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return e&&(t=od(t,e,r,n)),sc[t]=sc[t]||cv(t),await sc[t]}function od(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(!r.useLocalLibraries&&t.startsWith("http"))return t;n=n||t;let s=r.modules||{};return s[n]?s[n]:Jr?r.CDN?(sd(r.CDN.startsWith("http")),`${r.CDN}/${e}@${nd}/dist/libs/${n}`):ti?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function cv(t){if(t.endsWith("wasm"))return await lv(t);if(!Jr)try{return Pe&&Pe.requireFromFile&&await Pe.requireFromFile(t)}catch(r){return console.error(r),null}if(ti)return importScripts(t);let e=await fv(t);return uv(e,t)}function uv(t,e){if(!Jr)return Pe.requireFromString&&Pe.requireFromString(t,e);if(ti)return eval.call(globalThis,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}async function lv(t){return Jr||!Pe.readFileAsArrayBuffer||t.startsWith("http")?await(await fetch(t)).arrayBuffer():await Pe.readFileAsArrayBuffer(t)}async function fv(t){return Jr||!Pe.readFileAsText||t.startsWith("http")?await(await fetch(t)).text():await Pe.readFileAsText(t)}function cd(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof t=="string"?t.slice(0,e):ArrayBuffer.isView(t)?ad(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?ad(t,0,e):""}function ad(t,e,r){if(t.byteLength<=e+r)return"";let n=new DataView(t),s="";for(let i=0;i<r;i++)s+=String.fromCharCode(n.getUint8(e+i));return s}function ic(t){try{return JSON.parse(t)}catch{throw new Error(`Failed to parse JSON from data starting with "${cd(t)}"`)}}function Vn(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n=e,s=n&&n.length>1&&n[0].constructor||null;if(!s)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let i=n.reduce((c,u)=>c+u.length,0),o=new s(i),a=0;for(let c of n)o.set(c,a),a+=c.length;return o}function pr(t,e,r){let n=r!==void 0?new Uint8Array(t).subarray(e,e+r):new Uint8Array(t).subarray(e);return new Uint8Array(n).buffer}function Gt(t,e){return j(t>=0),j(e>0),t+(e-1)&~(e-1)}function oc(t,e,r){let n;if(t instanceof ArrayBuffer)n=new Uint8Array(t);else{let s=t.byteOffset,i=t.byteLength;n=new Uint8Array(t.buffer||t.arrayBuffer,s,i)}return e.set(n,r),r+Gt(n.byteLength,4)}function zn(){let t;if(typeof window<"u"&&window.performance)t=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var mr=class{constructor(e,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=e,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=zn(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(zn()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var kt=class{constructor(e){this.id=void 0,this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:e,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let r of Object.values(this.stats))e(r)}getTable(){let e={};return this.forEach(r=>{e[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(e){let{name:r,type:n}=e,s=this.stats[r];return s||(e instanceof mr?s=e:s=new mr(r,n),this.stats[r]=s),s}};var hv="Queued Requests",dv="Active Requests",pv="Cancelled Requests",mv="Queued Requests Ever",gv="Active Requests Ever",yv={id:"request-scheduler",throttleRequests:!0,maxRequests:6},Ht=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.props=void 0,this.stats=void 0,this.activeRequestCount=0,this.requestQueue=[],this.requestMap=new Map,this.deferredUpdate=null,this.props={...yv,...e},this.stats=new kt({id:this.props.id}),this.stats.get(hv),this.stats.get(dv),this.stats.get(pv),this.stats.get(mv),this.stats.get(gv)}scheduleRequest(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);let n={handle:e,priority:0,getPriority:r},s=new Promise(i=>(n.resolve=i,n));return this.requestQueue.push(n),this.requestMap.set(e,s),this._issueNewRequests(),s}_issueRequest(e){let{handle:r,resolve:n}=e,s=!1,i=()=>{s||(s=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:i}):Promise.resolve({done:i})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let r=0;r<e;++r){let n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){let e=this.requestQueue;for(let r=0;r<e.length;++r){let n=e[r];this._updateRequest(n)||(e.splice(r,1),this.requestMap.delete(n.handle),r--)}e.sort((r,n)=>r.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}};var Vt={};Ae(Vt,{dirname:()=>Av,filename:()=>_v,join:()=>vv,resolve:()=>xv});function ud(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)===null||t===void 0?void 0:t.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function _v(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(e+1):""}function Av(t){let e=t?t.lastIndexOf("/"):-1;return e>=0?t.substr(0,e):""}function vv(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];let n="/";return e=e.map((s,i)=>(i&&(s=s.replace(new RegExp(`^${n}`),"")),i!==e.length-1&&(s=s.replace(new RegExp(`${n}$`),"")),s)),e.join(n)}function xv(){let t=[];for(let s=0;s<arguments.length;s++)t[s]=s<0||arguments.length<=s?void 0:arguments[s];let e="",r=!1,n;for(let s=t.length-1;s>=-1&&!r;s--){let i;s>=0?i=t[s]:(n===void 0&&(n=ud()),i=n),i.length!==0&&(e=`${i}/${e}`,r=i.charCodeAt(0)===jn)}return e=bv(e,!r),r?`/${e}`:e.length>0?e:"."}var jn=47,ac=46;function bv(t,e){let r="",n=-1,s=0,i,o=!1;for(let a=0;a<=t.length;++a){if(a<t.length)i=t.charCodeAt(a);else{if(i===jn)break;i=jn}if(i===jn){if(!(n===a-1||s===1))if(n!==a-1&&s===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==ac||r.charCodeAt(r.length-2)!==ac){if(r.length>2){let c=r.length-1,u=c;for(;u>=0&&r.charCodeAt(u)!==jn;--u);if(u!==c){r=u===-1?"":r.slice(0,u),n=a,s=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,s=0,o=!1;continue}}e&&(r.length>0?r+="/..":r="..",o=!0)}else{let c=t.slice(n+1,a);r.length>0?r+=`/${c}`:r=c,o=!1}n=a,s=0}else i===ac&&s!==-1?++s:s=-1}return r}var ri=class{constructor(e){this.data=void 0,this.fetch=void 0,this.loadOptions=void 0,this._needsRefresh=!0,this.props=void 0,this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=Tv(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=this._needsRefresh;return e&&(this._needsRefresh=!1),r}};function Tv(t){let e=t?.fetch;if(e&&typeof e=="function")return(n,s)=>e(n,s);let r=t?.fetch;return r&&typeof r!="function"?n=>fetch(n,r):n=>fetch(n)}var Ue=class extends ri{};Ue.type="template";Ue.testURL=t=>!1;function ld(t,e){var r,n,s;let i=(r=Ee.parseTextSync)===null||r===void 0?void 0:r.call(Ee,t,e),o=(i==null||(n=i.ServiceExceptionReport)===null||n===void 0?void 0:n.ServiceException)||(i==null||(s=i["ogc:ServiceExceptionReport"])===null||s===void 0?void 0:s["ogc:ServiceException"]);return typeof o=="string"?o:o.value||o.code||"Unknown error"}var Ev="4.1.0-alpha.9",gr={id:"wms-error",name:"WMS Error",module:"wms",version:Ev,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:wv,options:{wms:{throwOnError:!1}},parse:async(t,e)=>cc(new TextDecoder().decode(t),e),parseSync:(t,e)=>cc(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>cc(t,e)};function wv(t){return t.startsWith("<?xml")}function cc(t,e){let r={...gr.options.wms,...e?.wms},n=ld(t,r),s=r.minimalErrors?n:`WMS Service error: ${n}`;if(r.throwOnError)throw new Error(s);return s}function yr(t){return Array.isArray(t)?t:t?[t]:[]}function qn(t){let e=yr(t);return e.length>0&&e.every(r=>typeof r=="string")?e:[]}function Jn(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseFloat(t);default:return}}function ni(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;switch(typeof t){case"number":return t;case"string":return parseInt(t,10);default:return}}function _r(t){switch(t){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function uc(t,e){var r;let n=(r=Ee.parseTextSync)===null||r===void 0?void 0:r.call(Ee,t,e),s=n.WMT_MS_Capabilities||n.WMS_Capabilities||n,i=Sv(s);if(e!=null&&e.inheritedLayerProps)for(let o of i.layers)hd(o,null);return e!=null&&e.includeRawJSON&&(i.json=s),e!=null&&e.includeXMLText&&(i.xml=t),i}function Sv(t){var e,r,n,s,i,o,a,c,u,l,f,h,d,p,g,m;let A={version:String(t.version||""),name:String(((e=t.Service)===null||e===void 0?void 0:e.Name)||"unnamed"),title:(r=t.Service)!==null&&r!==void 0&&r.Title?String((n=t.Service)===null||n===void 0?void 0:n.Title):void 0,abstract:(s=t.Service)!==null&&s!==void 0&&s.Abstract?String((i=t.Service)===null||i===void 0?void 0:i.Abstract):void 0,keywords:qn((o=t.Service)===null||o===void 0||(a=o.KeywordList)===null||a===void 0?void 0:a.Keyword),fees:(c=t.Service)!==null&&c!==void 0&&c.Fees?JSON.stringify((u=t.Service)===null||u===void 0?void 0:u.Fees):void 0,accessConstraints:(l=t.Service)!==null&&l!==void 0&&l.AccessConstraints?JSON.stringify((f=t.Service)===null||f===void 0?void 0:f.AccessConstraints):void 0,layerLimit:ni((h=t.Service)===null||h===void 0?void 0:h.LayerLimit),maxWidth:ni((d=t.Service)===null||d===void 0?void 0:d.maxWidth),maxHeight:ni((p=t.Service)===null||p===void 0?void 0:p.maxHeight),layers:[],requests:Bv((g=t.Capability)===null||g===void 0?void 0:g.Request),exceptions:Cv(t.Exception)},v=yr((m=t.Capability)===null||m===void 0?void 0:m.Layer);for(let x of v)A.layers.push(fd(x));for(let[x,b]of Object.entries(A))b===void 0&&delete A[x];return A}function Bv(t){let e={};for(let[r,n]of Object.entries(t||{})){let s=qn(n?.Format);e[r]={mimeTypes:s}}return e}function Cv(t){if(yr(t?.Format).length>0)return{mimeTypes:qn(t)}}function fd(t){var e;let r={title:String(t?.Title||""),name:t?.Name&&String(t?.Name),abstract:t?.Name&&String(t?.Abstract),keywords:qn((e=t.KeywordList)===null||e===void 0?void 0:e.Keyword)},n=t?.CRS||t?.SRS;n&&Array.isArray(n)&&n.every(l=>typeof l=="string")&&(r.crs=n);let s=t?.EX_GeographicBoundingBox&&Mv(t?.EX_GeographicBoundingBox);s&&(r.geographicBoundingBox=s),s=t?.LatLonBoundingBox&&Iv(t?.LatLonBoundingBox),s&&(r.geographicBoundingBox=s);let i=t?.BoundingBox&&Ov(t?.BoundingBox);i&&i.length>0&&(r.boundingBoxes=i);let a=yr(t?.Dimension).map(l=>Lv(l));a.length&&(r.dimensions=a),t!=null&&t.opaque&&(r.opaque=_r(t?.opaque)),t!=null&&t.cascaded&&(r.cascaded=_r(t?.cascaded)),t!=null&&t.queryable&&(r.queryable=_r(t?.queryable));let c=yr(t?.Layer),u=[];for(let l of c)u.push(fd(l));u.length>0&&(r.layers=u);for(let[l,f]of Object.entries(r))f===void 0&&delete r[l];return r}function Mv(t){let{westBoundLongitude:e,northBoundLatitude:r,eastBoundLongitude:n,southBoundLatitude:s}=t;return[[e,s],[n,r]]}function Iv(t){let{minx:e,miny:r,maxx:n,maxy:s}=t;return[[e,r],[n,s]]}function Ov(t){return yr(t).map(r=>Rv(r))}function Rv(t){let{CRS:e,SRS:r,minx:n,miny:s,maxx:i,maxy:o,resx:a,resy:c}=t,u={crs:e||r,boundingBox:[[Jn(n),Jn(s)],[Jn(i),Jn(o)]]};return a&&(u.xResolution=a),c&&(u.yResolution=c),u}function Lv(t){let{name:e,units:r,value:n}=t,s={name:e,units:r,extent:n};return t.unitSymbol&&(s.unitSymbol=t.unitSymbol),t.default&&(s.defaultValue=t.default),t.multipleValues&&(s.multipleValues=_r(t.multipleValues)),t.nearestValue&&(s.nearestValue=_r(t.nearestValue)),t.current&&(s.current=_r(t.current)),s}function hd(t,e){e!=null&&e.geographicBoundingBox&&!t.geographicBoundingBox&&(t.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!t.crs&&(t.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!t.boundingBoxes&&(t.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!t.dimensions&&(t.dimensions=[...e.dimensions]);for(let r of t.layers||[])hd(r,t)}var Pv="4.1.0-alpha.9",Wr={id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:Pv,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:Fv,options:{wms:{}},parse:async(t,e)=>uc(new TextDecoder().decode(t),e?.wms),parseTextSync:(t,e)=>uc(t,e?.wms)};function Fv(t){return t.startsWith("<?xml")}function lc(t,e){var r,n;let i=((n=((r=Ee.parseTextSync)===null||r===void 0?void 0:r.call(Ee,t,e)).FeatureInfoResponse)===null||n===void 0?void 0:n.FIELDS)||[];return{features:(Array.isArray(i)?i:[i]).map(a=>Nv(a))}}function Nv(t){return{attributes:t||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}var dd={...Wr,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(t,e)=>lc(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>lc(t,e)};function fc(t,e){var r;return(r=Ee.parseTextSync)===null||r===void 0?void 0:r.call(Ee,t,e)}var pd={...Wr,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(t,e)=>fc(new TextDecoder().decode(t),e),parseTextSync:(t,e)=>fc(t,e)};function md(t,e){let{type:r="auto"}=t,n=r==="auto"?Uv(t.url,e):Dv(r,e);if(!n)throw new Error("Not a valid image source type");return n.create(t)}function Dv(t,e){for(let r of e)if(r.type===t)return r;return null}function Uv(t,e){for(let r of e)if(r.testURL&&r.testURL(t))return r;return null}var gd="4.1.0-alpha.9";var hc,Gv=(hc=globalThis.loaders)===null||hc===void 0?void 0:hc.parseImageNode,dc=typeof Image<"u",pc=typeof ImageBitmap<"u",kv=Boolean(Gv),mc=Hn?!0:kv;function yd(t){switch(t){case"auto":return pc||dc||mc;case"imagebitmap":return pc;case"image":return dc;case"data":return mc;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function _d(){if(pc)return"imagebitmap";if(dc)return"image";if(mc)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Ad(t){let e=Hv(t);if(!e)throw new Error("Not an image");return e}function Wn(t){switch(Ad(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("getImageData");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0),r.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function Hv(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&t instanceof Image?"image":t&&typeof t=="object"&&t.data&&t.width&&t.height?"data":null}var Vv=/^data:image\/svg\+xml/,zv=/\.svg((\?|#).*)?$/;function si(t){return t&&(Vv.test(t)||zv.test(t))}function vd(t,e){if(si(e)){let n=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return gc(t,e)}function gc(t,e){if(si(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function ii(t,e,r){let n=vd(t,r),s=self.URL||self.webkitURL,i=typeof n!="string"&&s.createObjectURL(n);try{return await jv(i||n,e)}finally{i&&s.revokeObjectURL(i)}}async function jv(t,e){let r=new Image;return r.src=t,e.image&&e.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,s)=>{try{r.onload=()=>n(r),r.onerror=i=>{let o=i instanceof Error?i.message:"error";s(new Error(o))}}catch(i){s(i)}})}var qv={},xd=!0;async function bd(t,e,r){let n;si(r)?n=await ii(t,e,r):n=gc(t,r);let s=e&&e.imagebitmap;return await Jv(n,s)}async function Jv(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Wv(e)||!xd)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(r){console.warn(r),xd=!1}return await createImageBitmap(t)}function Wv(t){for(let e in t||qv)return!1;return!0}function Td(t){return!Zv(t,"ftyp",4)||!(t[8]&96)?null:Xv(t)}function Xv(t){switch(Kv(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Kv(t,e,r){return String.fromCharCode(...t.slice(e,r))}function Yv(t){return[...t].map(e=>e.charCodeAt(0))}function Zv(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=Yv(e);for(let s=0;s<n.length;++s)if(n[s]!==t[s+r])return!1;return!0}var ft=!1,Xn=!0;function Ar(t){let e=Kn(t);return $v(e)||rx(e)||ex(e)||tx(e)||Qv(e)}function Qv(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),r=Td(e);return r?{mimeType:r.mimeType,width:0,height:0}:null}function $v(t){let e=Kn(t);return e.byteLength>=24&&e.getUint32(0,ft)===2303741511?{mimeType:"image/png",width:e.getUint32(16,ft),height:e.getUint32(20,ft)}:null}function ex(t){let e=Kn(t);return e.byteLength>=10&&e.getUint32(0,ft)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Xn),height:e.getUint16(8,Xn)}:null}function tx(t){let e=Kn(t);return e.byteLength>=14&&e.getUint16(0,ft)===16973&&e.getUint32(2,Xn)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Xn),height:e.getUint32(22,Xn)}:null}function rx(t){let e=Kn(t);if(!(e.byteLength>=3&&e.getUint16(0,ft)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:s}=nx(),i=2;for(;i+9<e.byteLength;){let o=e.getUint16(i,ft);if(s.has(o))return{mimeType:"image/jpeg",height:e.getUint16(i+5,ft),width:e.getUint16(i+7,ft)};if(!n.has(o))return null;i+=2,i+=e.getUint16(i,ft)}return null}function nx(){let t=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)t.add(r);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Kn(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}async function Ed(t,e){var r;let{mimeType:n}=Ar(t)||{},s=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return j(s),await s(t,n)}async function wd(t,e,r){e=e||{};let s=(e.image||{}).type||"auto",{url:i}=r||{},o=sx(s),a;switch(o){case"imagebitmap":a=await bd(t,e,i);break;case"image":a=await ii(t,e,i);break;case"data":a=await Ed(t,e);break;default:j(!1)}return s==="data"&&(a=Wn(a)),a}function sx(t){switch(t){case"auto":case"data":return _d();default:return yd(t),t}}var ix=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],ox=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],ax={image:{type:"auto",decode:!0}},zt={id:"image",module:"images",name:"Images",version:gd,mimeTypes:ox,extensions:ix,parse:wd,tests:[t=>Boolean(Ar(new DataView(t)))],options:ax};var yc={};function _c(t){if(yc[t]===void 0){let e=Hn?ux(t):cx(t);yc[t]=e}return yc[t]}function cx(t){var e,r;let n=["image/png","image/jpeg","image/gif"],s=((e=globalThis.loaders)===null||e===void 0?void 0:e.imageFormatsNode)||n,i=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return Boolean(i)&&s.includes(t)}function ux(t){switch(t){case"image/avif":case"image/webp":return lx(t);default:return!0}}function lx(t){try{return document.createElement("canvas").toDataURL(t).indexOf(`data:${t}`)===0}catch{return!1}}var Sd={type:"wms",testURL:t=>t.toLowerCase().includes("wms"),create:t=>new Ac(t)},Ac=class extends Ue{constructor(e){var r;super(e),this.url=void 0,this.data=void 0,this.substituteCRS84=void 0,this.flipCRS=void 0,this.wmsParameters=void 0,this.vendorParameters=void 0,this.capabilities=null,this.url=e.url,this.data=e.url,this.substituteCRS84=(r=e.substituteCRS84)!==null&&r!==void 0?r:!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...e.wmsParameters},this.vendorParameters=e.vendorParameters||{}}async getMetadata(){let e=await this.getCapabilities();return this.normalizeMetadata(e)}async getImage(e){let{boundingBox:r,bbox:n,...s}=e,i={bbox:r?[...r[0],...r[1]]:n,...s};return await this.getMap(i)}normalizeMetadata(e){return e}async getCapabilities(e,r){let n=this.getCapabilitiesURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();this._checkResponse(s,i);let o=await Wr.parse(i,this.loadOptions);return this.capabilities=o,o}async getMap(e,r){let n=this.getMapURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();this._checkResponse(s,i);try{return await zt.parse(i,this.loadOptions)}catch{throw this._parseError(i)}}async getFeatureInfo(e,r){let n=this.getFeatureInfoURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();return this._checkResponse(s,i),await dd.parse(i,this.loadOptions)}async getFeatureInfoText(e,r){let n=this.getFeatureInfoURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();return this._checkResponse(s,i),new TextDecoder().decode(i)}async describeLayer(e,r){let n=this.describeLayerURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();return this._checkResponse(s,i),await pd.parse(i,this.loadOptions)}async getLegendGraphic(e,r){let n=this.getLegendGraphicURL(e,r),s=await this.fetch(n),i=await s.arrayBuffer();this._checkResponse(s,i);try{return await zt.parse(i,this.loadOptions)}catch{throw this._parseError(i)}}getCapabilitiesURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetCapabilities",n,r)}getMapURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetMap",n,r)}getFeatureInfoURL(e,r){e=this._getWMS130Parameters(e);let n={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...e};return this._getWMSUrl("GetFeatureInfo",n,r)}describeLayerURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("DescribeLayer",n,r)}getLegendGraphicURL(e,r){let n={version:this.wmsParameters.version,...e};return this._getWMSUrl("GetLegendGraphic",n,r)}_parseWMSUrl(e){let[r,n]=e.split("?"),s=n.split("&"),i={};for(let o of s){let[a,c]=o.split("=");i[a]=c}return{url:r,parameters:i}}_getWMSUrl(e,r,n){let s=this.url,i=!0,o={service:"WMS",version:r.version,request:e,...r,...this.vendorParameters,...n},a=["transparent","time","elevation"];for(let[c,u]of Object.entries(o))(!a.includes(c)||u)&&(s+=i?"?":"&",i=!1,s+=this._getURLParameter(c,u,r));return encodeURI(s)}_getWMS130Parameters(e){let r={...e};return r.srs&&(r.crs=r.crs||r.srs,delete r.srs),r}_getURLParameter(e,r,n){switch(e){case"crs":n.version!=="1.3.0"?e="srs":this.substituteCRS84&&r==="EPSG:4326"&&(r="CRS:84");break;case"srs":n.version==="1.3.0"&&(e="crs");break;case"bbox":let s=this._flipBoundingBox(r,n);s&&(r=s);break;default:}return e=e.toUpperCase(),Array.isArray(r)?`${e}=${r.join(",")}`:`${e}=${r?String(r):""}`}_flipBoundingBox(e,r){if(!Array.isArray(e)||e.length!==4)return null;let n=r.version==="1.3.0"&&this.flipCRS.includes(r.crs||"")&&!(this.substituteCRS84&&r.crs==="EPSG:4326"),s=e;return n?[s[1],s[0],s[3],s[2]]:s}async _fetchArrayBuffer(e){let r=await this.fetch(e),n=await r.arrayBuffer();return this._checkResponse(r,n),n}_checkResponse(e,r){let n=e.headers["content-type"];if(!e.ok||gr.mimeTypes.includes(n)){var s;let i=nc(this.loadOptions,{wms:{throwOnError:!0}}),o=(s=gr.parseSync)===null||s===void 0?void 0:s.call(gr,r,i);throw new Error(o)}}_parseError(e){var r;let n=(r=gr.parseSync)===null||r===void 0?void 0:r.call(gr,e,this.loadOptions);return new Error(n)}};var Xr=class extends Ue{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){let r=this.getGranularParameters(e),n=this.getURLFromTemplate(r),i=await(await this.fetch(n)).arrayBuffer();return await zt.parse(i)}getGranularParameters(e){let[[r,n],[s,i]]=e.boundingBox;return{...e,east:r,north:n,south:i,west:s}}getURLFromTemplate(e){let r=this.props.url;for(let[n,s]of Object.entries(e))r=r.replace(`\${${n}}`,String(s)),r=r.replace(`{${n}}`,String(s));return r}};Xr.type="template";Xr.testURL=t=>t.toLowerCase().includes("{");var vc=class extends Xr{constructor(e){super(e),this.data=void 0,this.data=e.url}async getMetadata(){return await this.metadata()}async getImage(e){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(e){throw new Error("not implemented")}metadataURL(e){return`${this.props.url}?f=pjson`}exportImageURL(e){let r=`bbox=${e.bbox[0]},${e.bbox[1]},${e.bbox[2]},${e.bbox[3]}`,n=`size=${e.width},${e.height}`,s={...e,bbox:r,size:n};return delete s.width,delete s.height,this.getUrl("exportImage",s)}getUrl(e,r,n){let s=`${this.props.url}/${e}`,i=!0;for(let[o,a]of Object.entries(r))s+=i?"?":"&",i=!1,Array.isArray(a)?s+=`${o.toUpperCase()}=${a.join(",")}`:s+=`${o.toUpperCase()}=${a?String(a):""}`;return s}async checkResponse(e){if(!e.ok)throw new Error("error")}},Bd={type:"arcgis-image-server",testURL:t=>t.toLowerCase().includes("ImageServer"),create:t=>new vc(t)};var fx=[Sd,Bd];function xc(t){return md(t,fx)}function D(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var hx=1/Math.PI*180,dx=1/180*Math.PI,px={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...px}};var ee=globalThis.mathgl.config;function bc(t,{precision:e=ee.precision}={}){return t=mx(t),"".concat(parseFloat(t.toPrecision(e)))}function Fe(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Tc(t){return Cd(t)}function Ec(t){return Ne(t)}function Cd(t,e){return wc(t,r=>r*dx,e)}function Ne(t,e){return wc(t,r=>r*hx,e)}function oi(t,e,r){return wc(t,n=>Math.max(e,Math.min(r,n)))}function jt(t,e,r){return Fe(t)?t.map((n,s)=>jt(n,e[s],r)):r*e+(1-r)*t}function we(t,e,r){let n=ee.EPSILON;r&&(ee.EPSILON=r);try{if(t===e)return!0;if(Fe(t)&&Fe(e)){if(t.length!==e.length)return!1;for(let s=0;s<t.length;++s)if(!we(t[s],e[s]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=ee.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{ee.EPSILON=n}}function mx(t){return Math.round(t/ee.EPSILON)*ee.EPSILON}function gx(t){return t.clone?t.clone():new Array(t.length)}function wc(t,e,r){if(Fe(t)){let n=t;r=r||gx(n);for(let s=0;s<r.length&&s<n.length;++s){let i=typeof t=="number"?t:t[s];r[s]=e(i,s,r)}return r}return e(t)}function yx(t){function e(){var r=Reflect.construct(t,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return e.prototype=Object.create(t.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t,e}var qt=class extends yx(Array){clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:Fe(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(ee)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+bc(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!we(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let s=0;s<this.ELEMENTS;++s){let i=e[s],o=typeof r=="number"?r:r[s];this[s]=i+n*(o-i)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(ee.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function _x(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function z(t){if(!Number.isFinite(t))throw new Error("Invalid number ".concat(JSON.stringify(t)));return t}function Jt(t,e,r=""){if(ee.debug&&!_x(t,e))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return t}function me(t,e){if(!t)throw new Error("math.gl assertion ".concat(e))}var Wt=class extends qt{get x(){return this[0]}set x(e){this[0]=z(e)}get y(){return this[1]}set y(e){this[1]=z(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let s=this[n]-e[n];r+=s*s}return z(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return z(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return me(e>=0&&e<this.ELEMENTS,"index is out of range"),z(this[e])}setComponent(e,r){return me(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var se=typeof Float32Array<"u"?Float32Array:Array,Yn=Math.random;function Kr(t){return t>=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}var g3=Math.PI/180;function Ax(){let t=new se(2);return se!=Float32Array&&(t[0]=0,t[1]=0),t}function Md(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t}function Id(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s+r[4],t[1]=r[1]*n+r[3]*s+r[5],t}function ai(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[3]*s+r[6],t[1]=r[1]*n+r[4]*s+r[7],t}function ci(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[4]*s+r[12],t[1]=r[1]*n+r[5]*s+r[13],t}var y3=function(){let t=Ax();return function(e,r,n,s,i,o){let a,c;for(r||(r=2),n||(n=0),s?c=Math.min(s*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],i(t,t,o),e[a]=t[0],e[a+1]=t[1];return e}}();function ui(t,e,r){let n=e[0],s=e[1],i=r[3]*n+r[7]*s||1;return t[0]=(r[0]*n+r[4]*s)/i,t[1]=(r[1]*n+r[5]*s)/i,t}function li(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[3]*n+r[7]*s+r[11]*i||1;return t[0]=(r[0]*n+r[4]*s+r[8]*i)/o,t[1]=(r[1]*n+r[5]*s+r[9]*i)/o,t[2]=(r[2]*n+r[6]*s+r[10]*i)/o,t}function Od(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t[2]=e[2],t}function Rd(t,e,r){let n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t[2]=e[2],t[3]=e[3],t}function fi(t,e,r){let n=e[0],s=e[1],i=e[2];return t[0]=r[0]*n+r[3]*s+r[6]*i,t[1]=r[1]*n+r[4]*s+r[7]*i,t[2]=r[2]*n+r[5]*s+r[8]*i,t[3]=e[3],t}var vr=class extends Wt{constructor(e=0,r=0){super(2),Fe(e)&&arguments.length===1?this.copy(e):(ee.debug&&(z(e),z(r)),this[0]=e,this[1]=r)}set(e,r){return this[0]=e,this[1]=r,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this.check()}fromObject(e){return ee.debug&&(z(e.x),z(e.y)),this[0]=e.x,this[1]=e.y,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return ci(this,this,e),this.check()}transformAsVector(e){return ui(this,this,e),this.check()}transformByMatrix3(e){return ai(this,this,e),this.check()}transformByMatrix2x3(e){return Id(this,this,e),this.check()}transformByMatrix2(e){return Md(this,this,e),this.check()}};var Zr={};Ae(Zr,{add:()=>Tx,angle:()=>Ic,bezier:()=>Nx,ceil:()=>Ex,clone:()=>vx,copy:()=>xx,create:()=>hi,cross:()=>xr,dist:()=>qx,distance:()=>Dd,div:()=>jx,divide:()=>Nd,dot:()=>Zn,equals:()=>Hx,exactEquals:()=>kx,floor:()=>wx,forEach:()=>Xx,fromValues:()=>di,hermite:()=>Fx,inverse:()=>Rx,len:()=>Oc,length:()=>Ld,lerp:()=>Lx,max:()=>Bx,min:()=>Sx,mul:()=>zx,multiply:()=>Fd,negate:()=>Ox,normalize:()=>Sc,random:()=>Dx,rotateX:()=>Bc,rotateY:()=>Cc,rotateZ:()=>Mc,round:()=>Cx,scale:()=>Mx,scaleAndAdd:()=>Ix,set:()=>bx,slerp:()=>Px,sqrDist:()=>Jx,sqrLen:()=>Wx,squaredDistance:()=>Ud,squaredLength:()=>Gd,str:()=>Gx,sub:()=>Vx,subtract:()=>Pd,transformMat3:()=>Qn,transformMat4:()=>br,transformQuat:()=>$n,zero:()=>Ux});function hi(){let t=new se(3);return se!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function vx(t){let e=new se(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Ld(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function di(t,e,r){let n=new se(3);return n[0]=t,n[1]=e,n[2]=r,n}function xx(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function bx(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function Tx(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function Pd(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function Fd(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function Nd(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function Ex(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function wx(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function Sx(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function Bx(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function Cx(t,e){return t[0]=Kr(e[0]),t[1]=Kr(e[1]),t[2]=Kr(e[2]),t}function Mx(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function Ix(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function Dd(t,e){let r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return Math.sqrt(r*r+n*n+s*s)}function Ud(t,e){let r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return r*r+n*n+s*s}function Gd(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function Ox(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function Rx(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function Sc(t,e){let r=e[0],n=e[1],s=e[2],i=r*r+n*n+s*s;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function Zn(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function xr(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[0],a=r[1],c=r[2];return t[0]=s*c-i*a,t[1]=i*o-n*c,t[2]=n*a-s*o,t}function Lx(t,e,r,n){let s=e[0],i=e[1],o=e[2];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}function Px(t,e,r,n){let s=Math.acos(Math.min(Math.max(Zn(e,r),-1),1)),i=Math.sin(s),o=Math.sin((1-n)*s)/i,a=Math.sin(n*s)/i;return t[0]=o*e[0]+a*r[0],t[1]=o*e[1]+a*r[1],t[2]=o*e[2]+a*r[2],t}function Fx(t,e,r,n,s,i){let o=i*i,a=o*(2*i-3)+1,c=o*(i-2)+i,u=o*(i-1),l=o*(3-2*i);return t[0]=e[0]*a+r[0]*c+n[0]*u+s[0]*l,t[1]=e[1]*a+r[1]*c+n[1]*u+s[1]*l,t[2]=e[2]*a+r[2]*c+n[2]*u+s[2]*l,t}function Nx(t,e,r,n,s,i){let o=1-i,a=o*o,c=i*i,u=a*o,l=3*i*a,f=3*c*o,h=c*i;return t[0]=e[0]*u+r[0]*l+n[0]*f+s[0]*h,t[1]=e[1]*u+r[1]*l+n[1]*f+s[1]*h,t[2]=e[2]*u+r[2]*l+n[2]*f+s[2]*h,t}function Dx(t,e){e=e===void 0?1:e;let r=Yn()*2*Math.PI,n=Yn()*2-1,s=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*s,t[1]=Math.sin(r)*s,t[2]=n*e,t}function br(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[3]*n+r[7]*s+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*s+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*s+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*s+r[10]*i+r[14])/o,t}function Qn(t,e,r){let n=e[0],s=e[1],i=e[2];return t[0]=n*r[0]+s*r[3]+i*r[6],t[1]=n*r[1]+s*r[4]+i*r[7],t[2]=n*r[2]+s*r[5]+i*r[8],t}function $n(t,e,r){let n=r[0],s=r[1],i=r[2],o=r[3],a=e[0],c=e[1],u=e[2],l=s*u-i*c,f=i*a-n*u,h=n*c-s*a,d=s*h-i*f,p=i*l-n*h,g=n*f-s*l,m=o*2;return l*=m,f*=m,h*=m,d*=2,p*=2,g*=2,t[0]=a+l+d,t[1]=c+f+p,t[2]=u+h+g,t}function Bc(t,e,r,n){let s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0],i[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),i[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function Cc(t,e,r,n){let s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),i[1]=s[1],i[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function Mc(t,e,r,n){let s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),i[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),i[2]=s[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function Ic(t,e){let r=t[0],n=t[1],s=t[2],i=e[0],o=e[1],a=e[2],c=Math.sqrt((r*r+n*n+s*s)*(i*i+o*o+a*a)),u=c&&Zn(t,e)/c;return Math.acos(Math.min(Math.max(u,-1),1))}function Ux(t){return t[0]=0,t[1]=0,t[2]=0,t}function Gx(t){return"vec3(".concat(t[0],", ").concat(t[1],", ").concat(t[2],")")}function kx(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function Hx(t,e){let r=t[0],n=t[1],s=t[2],i=e[0],o=e[1],a=e[2];return Math.abs(r-i)<=1e-6*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(s-a)<=1e-6*Math.max(1,Math.abs(s),Math.abs(a))}var Vx=Pd,zx=Fd,jx=Nd,qx=Dd,Jx=Ud,Oc=Ld,Wx=Gd,Xx=function(){let t=hi();return function(e,r,n,s,i,o){let a,c;for(r||(r=3),n||(n=0),s?c=Math.min(s*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],i(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var Rc=[0,0,0],pi,w=class extends Wt{static get ZERO(){return pi||(pi=new w(0,0,0),Object.freeze(pi)),pi}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Fe(e)?this.copy(e):(ee.debug&&(z(e),z(r),z(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return ee.debug&&(z(e.x),z(e.y),z(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=z(e)}angle(e){return Ic(this,e)}cross(e){return xr(this,this,e),this.check()}rotateX({radians:e,origin:r=Rc}){return Bc(this,this,r,e),this.check()}rotateY({radians:e,origin:r=Rc}){return Cc(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=Rc}){return Mc(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return br(this,this,e),this.check()}transformAsVector(e){return li(this,this,e),this.check()}transformByMatrix3(e){return Qn(this,this,e),this.check()}transformByMatrix2(e){return Od(this,this,e),this.check()}transformByQuaternion(e){return $n(this,this,e),this.check()}};var mi,Qr=class extends Wt{static get ZERO(){return mi||(mi=new Qr(0,0,0,0),Object.freeze(mi)),mi}constructor(e=0,r=0,n=0,s=0){super(-0,-0,-0,-0),Fe(e)&&arguments.length===1?this.copy(e):(ee.debug&&(z(e),z(r),z(n),z(s)),this[0]=e,this[1]=r,this[2]=n,this[3]=s)}set(e,r,n,s){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}fromObject(e){return ee.debug&&(z(e.x),z(e.y),z(e.z),z(e.w)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e.w=this[3],e}get ELEMENTS(){return 4}get z(){return this[2]}set z(e){this[2]=z(e)}get w(){return this[3]}set w(e){this[3]=z(e)}transform(e){return br(this,this,e),this.check()}transformByMatrix3(e){return fi(this,this,e),this.check()}transformByMatrix2(e){return Rd(this,this,e),this.check()}transformByQuaternion(e){return $n(this,this,e),this.check()}applyMatrix4(e){return e.transform(this,this),this}};var $r=class extends qt{toString(){let e="[";if(ee.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=" ".concat(this[n*this.RANK+r])}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=" ".concat(this[r])}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=z(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let s=0;s<this.RANK;++s)r[s]=this[n+s];return r}setColumn(e,r){let n=e*this.RANK;for(let s=0;s<this.RANK;++s)this[n+s]=r[s];return this}};function kd(){let t=new se(9);return se!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Hd(t,e){if(t===e){let r=e[1],n=e[2],s=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=s}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function Vd(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=l*o-a*u,h=-l*i+a*c,d=u*i-o*c,p=r*f+n*h+s*d;return p?(p=1/p,t[0]=f*p,t[1]=(-l*n+s*u)*p,t[2]=(a*n-s*o)*p,t[3]=h*p,t[4]=(l*r-s*c)*p,t[5]=(-a*r+s*i)*p,t[6]=d*p,t[7]=(-u*r+n*c)*p,t[8]=(o*r-n*i)*p,t):null}function zd(t){let e=t[0],r=t[1],n=t[2],s=t[3],i=t[4],o=t[5],a=t[6],c=t[7],u=t[8];return e*(u*i-o*c)+r*(-u*s+o*a)+n*(c*s-i*a)}function Lc(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1],p=r[2],g=r[3],m=r[4],A=r[5],v=r[6],x=r[7],b=r[8];return t[0]=h*n+d*o+p*u,t[1]=h*s+d*a+p*l,t[2]=h*i+d*c+p*f,t[3]=g*n+m*o+A*u,t[4]=g*s+m*a+A*l,t[5]=g*i+m*c+A*f,t[6]=v*n+x*o+b*u,t[7]=v*s+x*a+b*l,t[8]=v*i+x*c+b*f,t}function jd(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=s,t[2]=i,t[3]=o,t[4]=a,t[5]=c,t[6]=h*n+d*o+u,t[7]=h*s+d*a+l,t[8]=h*i+d*c+f,t}function qd(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*s+h*a,t[2]=d*i+h*c,t[3]=d*o-h*n,t[4]=d*a-h*s,t[5]=d*c-h*i,t[6]=u,t[7]=l,t[8]=f,t}function Pc(t,e,r){let n=r[0],s=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=s*e[3],t[4]=s*e[4],t[5]=s*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function Jd(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r+r,a=n+n,c=s+s,u=r*o,l=n*o,f=n*a,h=s*o,d=s*a,p=s*c,g=i*o,m=i*a,A=i*c;return t[0]=1-f-p,t[3]=l-A,t[6]=h+m,t[1]=l+A,t[4]=1-u-p,t[7]=d-g,t[2]=h-m,t[5]=d+g,t[8]=1-u-f,t}var Fc;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL1ROW0=3]="COL1ROW0",t[t.COL1ROW1=4]="COL1ROW1",t[t.COL1ROW2=5]="COL1ROW2",t[t.COL2ROW0=6]="COL2ROW0",t[t.COL2ROW1=7]="COL2ROW1",t[t.COL2ROW2=8]="COL2ROW2"})(Fc||(Fc={}));var Yx=Object.freeze([1,0,0,0,1,0,0,0,1]),W=class extends $r{static get IDENTITY(){return Qx()}static get ZERO(){return Zx()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Fc}constructor(e,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):r.length>0?this.copy([e,...r]):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this.check()}identity(){return this.copy(Yx)}fromObject(e){return this.check()}fromQuaternion(e){return Jd(this,e),this.check()}set(e,r,n,s,i,o,a,c,u){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this[4]=i,this[5]=o,this[6]=a,this[7]=c,this[8]=u,this.check()}setRowMajor(e,r,n,s,i,o,a,c,u){return this[0]=e,this[1]=s,this[2]=a,this[3]=r,this[4]=i,this[5]=c,this[6]=n,this[7]=o,this[8]=u,this.check()}determinant(){return zd(this)}transpose(){return Hd(this,this),this.check()}invert(){return Vd(this,this),this.check()}multiplyLeft(e){return Lc(this,e,this),this.check()}multiplyRight(e){return Lc(this,this,e),this.check()}rotate(e){return qd(this,this,e),this.check()}scale(e){return Array.isArray(e)?Pc(this,this,e):Pc(this,this,[e,e]),this.check()}translate(e){return jd(this,this,e),this.check()}transform(e,r){let n;switch(e.length){case 2:n=ai(r||[-0,-0],e,this);break;case 3:n=Qn(r||[-0,-0,-0],e,this);break;case 4:n=fi(r||[-0,-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Jt(n,e.length),n}transformVector(e,r){return this.transform(e,r)}transformVector2(e,r){return this.transform(e,r)}transformVector3(e,r){return this.transform(e,r)}},gi,yi=null;function Zx(){return gi||(gi=new W([0,0,0,0,0,0,0,0,0]),Object.freeze(gi)),gi}function Qx(){return yi||(yi=new W,Object.freeze(yi)),yi}var _i={};Ae(_i,{add:()=>Tb,adjoint:()=>sb,clone:()=>eb,copy:()=>tb,create:()=>$x,decompose:()=>pb,determinant:()=>Uc,equals:()=>Bb,exactEquals:()=>Sb,frob:()=>bb,fromQuat:()=>qc,fromQuat2:()=>fb,fromRotation:()=>ab,fromRotationTranslation:()=>Xd,fromRotationTranslationScale:()=>mb,fromRotationTranslationScaleOrigin:()=>gb,fromScaling:()=>ob,fromTranslation:()=>ib,fromValues:()=>rb,fromXRotation:()=>cb,fromYRotation:()=>ub,fromZRotation:()=>lb,frustum:()=>Jc,getRotation:()=>db,getScaling:()=>Kd,getTranslation:()=>hb,identity:()=>Wd,invert:()=>Dc,lookAt:()=>Kc,mul:()=>Cb,multiply:()=>es,multiplyScalar:()=>Eb,multiplyScalarAndAdd:()=>wb,ortho:()=>Xc,orthoNO:()=>Zd,orthoZO:()=>Ab,perspective:()=>Wc,perspectiveFromFieldOfView:()=>_b,perspectiveNO:()=>Yd,perspectiveZO:()=>yb,rotate:()=>Hc,rotateX:()=>Vc,rotateY:()=>zc,rotateZ:()=>jc,scale:()=>kc,set:()=>nb,str:()=>xb,sub:()=>Mb,subtract:()=>Qd,targetTo:()=>vb,translate:()=>Gc,transpose:()=>Nc});function $x(){let t=new se(16);return se!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function eb(t){let e=new se(16);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 tb(t,e){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 rb(t,e,r,n,s,i,o,a,c,u,l,f,h,d,p,g){let m=new se(16);return m[0]=t,m[1]=e,m[2]=r,m[3]=n,m[4]=s,m[5]=i,m[6]=o,m[7]=a,m[8]=c,m[9]=u,m[10]=l,m[11]=f,m[12]=h,m[13]=d,m[14]=p,m[15]=g,m}function nb(t,e,r,n,s,i,o,a,c,u,l,f,h,d,p,g,m){return t[0]=e,t[1]=r,t[2]=n,t[3]=s,t[4]=i,t[5]=o,t[6]=a,t[7]=c,t[8]=u,t[9]=l,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=g,t[15]=m,t}function Wd(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Nc(t,e){if(t===e){let r=e[1],n=e[2],s=e[3],i=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=s,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function Dc(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],v=r*a-n*o,x=r*c-s*o,b=r*u-i*o,M=n*c-s*a,C=n*u-i*a,I=s*u-i*c,B=l*g-f*p,S=l*m-h*p,y=l*A-d*p,R=f*m-h*g,P=f*A-d*g,F=h*A-d*m,N=v*F-x*P+b*R+M*y-C*S+I*B;return N?(N=1/N,t[0]=(a*F-c*P+u*R)*N,t[1]=(s*P-n*F-i*R)*N,t[2]=(g*I-m*C+A*M)*N,t[3]=(h*C-f*I-d*M)*N,t[4]=(c*y-o*F-u*S)*N,t[5]=(r*F-s*y+i*S)*N,t[6]=(m*b-p*I-A*x)*N,t[7]=(l*I-h*b+d*x)*N,t[8]=(o*P-a*y+u*B)*N,t[9]=(n*y-r*P-i*B)*N,t[10]=(p*C-g*b+A*v)*N,t[11]=(f*b-l*C-d*v)*N,t[12]=(a*S-o*R-c*B)*N,t[13]=(r*R-n*S+s*B)*N,t[14]=(g*x-p*M-m*v)*N,t[15]=(l*M-f*x+h*v)*N,t):null}function sb(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=e[4],a=e[5],c=e[6],u=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],m=e[14],A=e[15],v=r*a-n*o,x=r*c-s*o,b=r*u-i*o,M=n*c-s*a,C=n*u-i*a,I=s*u-i*c,B=l*g-f*p,S=l*m-h*p,y=l*A-d*p,R=f*m-h*g,P=f*A-d*g,F=h*A-d*m;return t[0]=a*F-c*P+u*R,t[1]=s*P-n*F-i*R,t[2]=g*I-m*C+A*M,t[3]=h*C-f*I-d*M,t[4]=c*y-o*F-u*S,t[5]=r*F-s*y+i*S,t[6]=m*b-p*I-A*x,t[7]=l*I-h*b+d*x,t[8]=o*P-a*y+u*B,t[9]=n*y-r*P-i*B,t[10]=p*C-g*b+A*v,t[11]=f*b-l*C-d*v,t[12]=a*S-o*R-c*B,t[13]=r*R-n*S+s*B,t[14]=g*x-p*M-m*v,t[15]=l*M-f*x+h*v,t}function Uc(t){let e=t[0],r=t[1],n=t[2],s=t[3],i=t[4],o=t[5],a=t[6],c=t[7],u=t[8],l=t[9],f=t[10],h=t[11],d=t[12],p=t[13],g=t[14],m=t[15],A=e*o-r*i,v=e*a-n*i,x=r*a-n*o,b=u*p-l*d,M=u*g-f*d,C=l*g-f*p,I=e*C-r*M+n*b,B=i*C-o*M+a*b,S=u*x-l*v+f*A,y=d*x-p*v+g*A;return c*I-s*B+m*S-h*y}function es(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=e[8],h=e[9],d=e[10],p=e[11],g=e[12],m=e[13],A=e[14],v=e[15],x=r[0],b=r[1],M=r[2],C=r[3];return t[0]=x*n+b*a+M*f+C*g,t[1]=x*s+b*c+M*h+C*m,t[2]=x*i+b*u+M*d+C*A,t[3]=x*o+b*l+M*p+C*v,x=r[4],b=r[5],M=r[6],C=r[7],t[4]=x*n+b*a+M*f+C*g,t[5]=x*s+b*c+M*h+C*m,t[6]=x*i+b*u+M*d+C*A,t[7]=x*o+b*l+M*p+C*v,x=r[8],b=r[9],M=r[10],C=r[11],t[8]=x*n+b*a+M*f+C*g,t[9]=x*s+b*c+M*h+C*m,t[10]=x*i+b*u+M*d+C*A,t[11]=x*o+b*l+M*p+C*v,x=r[12],b=r[13],M=r[14],C=r[15],t[12]=x*n+b*a+M*f+C*g,t[13]=x*s+b*c+M*h+C*m,t[14]=x*i+b*u+M*d+C*A,t[15]=x*o+b*l+M*p+C*v,t}function Gc(t,e,r){let n=r[0],s=r[1],i=r[2],o,a,c,u,l,f,h,d,p,g,m,A;return e===t?(t[12]=e[0]*n+e[4]*s+e[8]*i+e[12],t[13]=e[1]*n+e[5]*s+e[9]*i+e[13],t[14]=e[2]*n+e[6]*s+e[10]*i+e[14],t[15]=e[3]*n+e[7]*s+e[11]*i+e[15]):(o=e[0],a=e[1],c=e[2],u=e[3],l=e[4],f=e[5],h=e[6],d=e[7],p=e[8],g=e[9],m=e[10],A=e[11],t[0]=o,t[1]=a,t[2]=c,t[3]=u,t[4]=l,t[5]=f,t[6]=h,t[7]=d,t[8]=p,t[9]=g,t[10]=m,t[11]=A,t[12]=o*n+l*s+p*i+e[12],t[13]=a*n+f*s+g*i+e[13],t[14]=c*n+h*s+m*i+e[14],t[15]=u*n+d*s+A*i+e[15]),t}function kc(t,e,r){let n=r[0],s=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*s,t[5]=e[5]*s,t[6]=e[6]*s,t[7]=e[7]*s,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Hc(t,e,r,n){let s=n[0],i=n[1],o=n[2],a=Math.sqrt(s*s+i*i+o*o),c,u,l,f,h,d,p,g,m,A,v,x,b,M,C,I,B,S,y,R,P,F,N,G;return a<1e-6?null:(a=1/a,s*=a,i*=a,o*=a,u=Math.sin(r),c=Math.cos(r),l=1-c,f=e[0],h=e[1],d=e[2],p=e[3],g=e[4],m=e[5],A=e[6],v=e[7],x=e[8],b=e[9],M=e[10],C=e[11],I=s*s*l+c,B=i*s*l+o*u,S=o*s*l-i*u,y=s*i*l-o*u,R=i*i*l+c,P=o*i*l+s*u,F=s*o*l+i*u,N=i*o*l-s*u,G=o*o*l+c,t[0]=f*I+g*B+x*S,t[1]=h*I+m*B+b*S,t[2]=d*I+A*B+M*S,t[3]=p*I+v*B+C*S,t[4]=f*y+g*R+x*P,t[5]=h*y+m*R+b*P,t[6]=d*y+A*R+M*P,t[7]=p*y+v*R+C*P,t[8]=f*F+g*N+x*G,t[9]=h*F+m*N+b*G,t[10]=d*F+A*N+M*G,t[11]=p*F+v*N+C*G,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function Vc(t,e,r){let n=Math.sin(r),s=Math.cos(r),i=e[4],o=e[5],a=e[6],c=e[7],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=i*s+u*n,t[5]=o*s+l*n,t[6]=a*s+f*n,t[7]=c*s+h*n,t[8]=u*s-i*n,t[9]=l*s-o*n,t[10]=f*s-a*n,t[11]=h*s-c*n,t}function zc(t,e,r){let n=Math.sin(r),s=Math.cos(r),i=e[0],o=e[1],a=e[2],c=e[3],u=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*s-u*n,t[1]=o*s-l*n,t[2]=a*s-f*n,t[3]=c*s-h*n,t[8]=i*n+u*s,t[9]=o*n+l*s,t[10]=a*n+f*s,t[11]=c*n+h*s,t}function jc(t,e,r){let n=Math.sin(r),s=Math.cos(r),i=e[0],o=e[1],a=e[2],c=e[3],u=e[4],l=e[5],f=e[6],h=e[7];return e!==t&&(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[0]=i*s+u*n,t[1]=o*s+l*n,t[2]=a*s+f*n,t[3]=c*s+h*n,t[4]=u*s-i*n,t[5]=l*s-o*n,t[6]=f*s-a*n,t[7]=h*s-c*n,t}function ib(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function ob(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ab(t,e,r){let n=r[0],s=r[1],i=r[2],o=Math.sqrt(n*n+s*s+i*i),a,c,u;return o<1e-6?null:(o=1/o,n*=o,s*=o,i*=o,c=Math.sin(e),a=Math.cos(e),u=1-a,t[0]=n*n*u+a,t[1]=s*n*u+i*c,t[2]=i*n*u-s*c,t[3]=0,t[4]=n*s*u-i*c,t[5]=s*s*u+a,t[6]=i*s*u+n*c,t[7]=0,t[8]=n*i*u+s*c,t[9]=s*i*u-n*c,t[10]=i*i*u+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function cb(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ub(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function lb(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Xd(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=n+n,c=s+s,u=i+i,l=n*a,f=n*c,h=n*u,d=s*c,p=s*u,g=i*u,m=o*a,A=o*c,v=o*u;return t[0]=1-(d+g),t[1]=f+v,t[2]=h-A,t[3]=0,t[4]=f-v,t[5]=1-(l+g),t[6]=p+m,t[7]=0,t[8]=h+A,t[9]=p-m,t[10]=1-(l+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function fb(t,e){let r=new se(3),n=-e[0],s=-e[1],i=-e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],f=n*n+s*s+i*i+o*o;return f>0?(r[0]=(a*o+l*n+c*i-u*s)*2/f,r[1]=(c*o+l*s+u*n-a*i)*2/f,r[2]=(u*o+l*i+a*s-c*n)*2/f):(r[0]=(a*o+l*n+c*i-u*s)*2,r[1]=(c*o+l*s+u*n-a*i)*2,r[2]=(u*o+l*i+a*s-c*n)*2),Xd(t,e,r),t}function hb(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function Kd(t,e){let r=e[0],n=e[1],s=e[2],i=e[4],o=e[5],a=e[6],c=e[8],u=e[9],l=e[10];return t[0]=Math.sqrt(r*r+n*n+s*s),t[1]=Math.sqrt(i*i+o*o+a*a),t[2]=Math.sqrt(c*c+u*u+l*l),t}function db(t,e){let r=new se(3);Kd(r,e);let n=1/r[0],s=1/r[1],i=1/r[2],o=e[0]*n,a=e[1]*s,c=e[2]*i,u=e[4]*n,l=e[5]*s,f=e[6]*i,h=e[8]*n,d=e[9]*s,p=e[10]*i,g=o+l+p,m=0;return g>0?(m=Math.sqrt(g+1)*2,t[3]=.25*m,t[0]=(f-d)/m,t[1]=(h-c)/m,t[2]=(a-u)/m):o>l&&o>p?(m=Math.sqrt(1+o-l-p)*2,t[3]=(f-d)/m,t[0]=.25*m,t[1]=(a+u)/m,t[2]=(h+c)/m):l>p?(m=Math.sqrt(1+l-o-p)*2,t[3]=(h-c)/m,t[0]=(a+u)/m,t[1]=.25*m,t[2]=(f+d)/m):(m=Math.sqrt(1+p-o-l)*2,t[3]=(a-u)/m,t[0]=(h+c)/m,t[1]=(f+d)/m,t[2]=.25*m),t}function pb(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let s=n[0],i=n[1],o=n[2],a=n[4],c=n[5],u=n[6],l=n[8],f=n[9],h=n[10];r[0]=Math.sqrt(s*s+i*i+o*o),r[1]=Math.sqrt(a*a+c*c+u*u),r[2]=Math.sqrt(l*l+f*f+h*h);let d=1/r[0],p=1/r[1],g=1/r[2],m=s*d,A=i*p,v=o*g,x=a*d,b=c*p,M=u*g,C=l*d,I=f*p,B=h*g,S=m+b+B,y=0;return S>0?(y=Math.sqrt(S+1)*2,t[3]=.25*y,t[0]=(M-I)/y,t[1]=(C-v)/y,t[2]=(A-x)/y):m>b&&m>B?(y=Math.sqrt(1+m-b-B)*2,t[3]=(M-I)/y,t[0]=.25*y,t[1]=(A+x)/y,t[2]=(C+v)/y):b>B?(y=Math.sqrt(1+b-m-B)*2,t[3]=(C-v)/y,t[0]=(A+x)/y,t[1]=.25*y,t[2]=(M+I)/y):(y=Math.sqrt(1+B-m-b)*2,t[3]=(A-x)/y,t[0]=(C+v)/y,t[1]=(M+I)/y,t[2]=.25*y),t}function mb(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=e[3],c=s+s,u=i+i,l=o+o,f=s*c,h=s*u,d=s*l,p=i*u,g=i*l,m=o*l,A=a*c,v=a*u,x=a*l,b=n[0],M=n[1],C=n[2];return t[0]=(1-(p+m))*b,t[1]=(h+x)*b,t[2]=(d-v)*b,t[3]=0,t[4]=(h-x)*M,t[5]=(1-(f+m))*M,t[6]=(g+A)*M,t[7]=0,t[8]=(d+v)*C,t[9]=(g-A)*C,t[10]=(1-(f+p))*C,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function gb(t,e,r,n,s){let i=e[0],o=e[1],a=e[2],c=e[3],u=i+i,l=o+o,f=a+a,h=i*u,d=i*l,p=i*f,g=o*l,m=o*f,A=a*f,v=c*u,x=c*l,b=c*f,M=n[0],C=n[1],I=n[2],B=s[0],S=s[1],y=s[2],R=(1-(g+A))*M,P=(d+b)*M,F=(p-x)*M,N=(d-b)*C,G=(1-(h+A))*C,Q=(m+v)*C,J=(p+x)*I,ne=(m-v)*I,Z=(1-(h+g))*I;return t[0]=R,t[1]=P,t[2]=F,t[3]=0,t[4]=N,t[5]=G,t[6]=Q,t[7]=0,t[8]=J,t[9]=ne,t[10]=Z,t[11]=0,t[12]=r[0]+B-(R*B+N*S+J*y),t[13]=r[1]+S-(P*B+G*S+ne*y),t[14]=r[2]+y-(F*B+Q*S+Z*y),t[15]=1,t}function qc(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r+r,a=n+n,c=s+s,u=r*o,l=n*o,f=n*a,h=s*o,d=s*a,p=s*c,g=i*o,m=i*a,A=i*c;return t[0]=1-f-p,t[1]=l+A,t[2]=h-m,t[3]=0,t[4]=l-A,t[5]=1-u-p,t[6]=d+g,t[7]=0,t[8]=h+m,t[9]=d-g,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Jc(t,e,r,n,s,i,o){let a=1/(r-e),c=1/(s-n),u=1/(i-o);return t[0]=i*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(s+n)*c,t[10]=(o+i)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*i*2*u,t[15]=0,t}function Yd(t,e,r,n,s){let i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,s!=null&&s!==1/0){let o=1/(n-s);t[10]=(s+n)*o,t[14]=2*s*n*o}else t[10]=-1,t[14]=-2*n;return t}var Wc=Yd;function yb(t,e,r,n,s){let i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,s!=null&&s!==1/0){let o=1/(n-s);t[10]=s*o,t[14]=s*n*o}else t[10]=-1,t[14]=-n;return t}function _b(t,e,r,n){let s=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(o+a),u=2/(s+i);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((o-a)*c*.5),t[9]=(s-i)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function Zd(t,e,r,n,s,i,o){let a=1/(e-r),c=1/(n-s),u=1/(i-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*a,t[13]=(s+n)*c,t[14]=(o+i)*u,t[15]=1,t}var Xc=Zd;function Ab(t,e,r,n,s,i,o){let a=1/(e-r),c=1/(n-s),u=1/(i-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=u,t[11]=0,t[12]=(e+r)*a,t[13]=(s+n)*c,t[14]=i*u,t[15]=1,t}function Kc(t,e,r,n){let s,i,o,a,c,u,l,f,h,d,p=e[0],g=e[1],m=e[2],A=n[0],v=n[1],x=n[2],b=r[0],M=r[1],C=r[2];return Math.abs(p-b)<1e-6&&Math.abs(g-M)<1e-6&&Math.abs(m-C)<1e-6?Wd(t):(f=p-b,h=g-M,d=m-C,s=1/Math.sqrt(f*f+h*h+d*d),f*=s,h*=s,d*=s,i=v*d-x*h,o=x*f-A*d,a=A*h-v*f,s=Math.sqrt(i*i+o*o+a*a),s?(s=1/s,i*=s,o*=s,a*=s):(i=0,o=0,a=0),c=h*a-d*o,u=d*i-f*a,l=f*o-h*i,s=Math.sqrt(c*c+u*u+l*l),s?(s=1/s,c*=s,u*=s,l*=s):(c=0,u=0,l=0),t[0]=i,t[1]=c,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=a,t[9]=l,t[10]=d,t[11]=0,t[12]=-(i*p+o*g+a*m),t[13]=-(c*p+u*g+l*m),t[14]=-(f*p+h*g+d*m),t[15]=1,t)}function vb(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=n[0],c=n[1],u=n[2],l=s-r[0],f=i-r[1],h=o-r[2],d=l*l+f*f+h*h;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,h*=d);let p=c*h-u*f,g=u*l-a*h,m=a*f-c*l;return d=p*p+g*g+m*m,d>0&&(d=1/Math.sqrt(d),p*=d,g*=d,m*=d),t[0]=p,t[1]=g,t[2]=m,t[3]=0,t[4]=f*m-h*g,t[5]=h*p-l*m,t[6]=l*g-f*p,t[7]=0,t[8]=l,t[9]=f,t[10]=h,t[11]=0,t[12]=s,t[13]=i,t[14]=o,t[15]=1,t}function xb(t){return"mat4(".concat(t[0],", ").concat(t[1],", ").concat(t[2],", ").concat(t[3],", ").concat(t[4],", ").concat(t[5],", ").concat(t[6],", ").concat(t[7],", ").concat(t[8],", ").concat(t[9],", ").concat(t[10],", ").concat(t[11],", ").concat(t[12],", ").concat(t[13],", ").concat(t[14],", ").concat(t[15],")")}function bb(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function Tb(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function Qd(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function Eb(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function wb(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function Sb(t,e){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]}function Bb(t,e){let r=t[0],n=t[1],s=t[2],i=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],f=t[9],h=t[10],d=t[11],p=t[12],g=t[13],m=t[14],A=t[15],v=e[0],x=e[1],b=e[2],M=e[3],C=e[4],I=e[5],B=e[6],S=e[7],y=e[8],R=e[9],P=e[10],F=e[11],N=e[12],G=e[13],Q=e[14],J=e[15];return Math.abs(r-v)<=1e-6*Math.max(1,Math.abs(r),Math.abs(v))&&Math.abs(n-x)<=1e-6*Math.max(1,Math.abs(n),Math.abs(x))&&Math.abs(s-b)<=1e-6*Math.max(1,Math.abs(s),Math.abs(b))&&Math.abs(i-M)<=1e-6*Math.max(1,Math.abs(i),Math.abs(M))&&Math.abs(o-C)<=1e-6*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(a-I)<=1e-6*Math.max(1,Math.abs(a),Math.abs(I))&&Math.abs(c-B)<=1e-6*Math.max(1,Math.abs(c),Math.abs(B))&&Math.abs(u-S)<=1e-6*Math.max(1,Math.abs(u),Math.abs(S))&&Math.abs(l-y)<=1e-6*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(f-R)<=1e-6*Math.max(1,Math.abs(f),Math.abs(R))&&Math.abs(h-P)<=1e-6*Math.max(1,Math.abs(h),Math.abs(P))&&Math.abs(d-F)<=1e-6*Math.max(1,Math.abs(d),Math.abs(F))&&Math.abs(p-N)<=1e-6*Math.max(1,Math.abs(p),Math.abs(N))&&Math.abs(g-G)<=1e-6*Math.max(1,Math.abs(g),Math.abs(G))&&Math.abs(m-Q)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Q))&&Math.abs(A-J)<=1e-6*Math.max(1,Math.abs(A),Math.abs(J))}var Cb=es,Mb=Qd;function Ib(){let t=new se(4);return se!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function $d(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function ep(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function tp(t){let e=t[0],r=t[1],n=t[2],s=t[3];return Math.sqrt(e*e+r*r+n*n+s*s)}function rp(t){let e=t[0],r=t[1],n=t[2],s=t[3];return e*e+r*r+n*n+s*s}function np(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r*r+n*n+s*s+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=n*o,t[2]=s*o,t[3]=i*o,t}function sp(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function ip(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=e[3];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=a+n*(r[3]-a),t}function op(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*s+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*s+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*s+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*s+r[11]*i+r[15]*o,t}function ap(t,e,r){let n=e[0],s=e[1],i=e[2],o=r[0],a=r[1],c=r[2],u=r[3],l=u*n+a*i-c*s,f=u*s+c*n-o*i,h=u*i+o*s-a*n,d=-o*n-a*s-c*i;return t[0]=l*u+d*-o+f*-c-h*-a,t[1]=f*u+d*-a+h*-o-l*-c,t[2]=h*u+d*-c+l*-a-f*-o,t[3]=e[3],t}var K3=function(){let t=Ib();return function(e,r,n,s,i,o){let a,c;for(r||(r=4),n||(n=0),s?c=Math.min(s*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],i(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var Qc;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(Qc||(Qc={}));var Rb=45*Math.PI/180,Lb=1,Yc=.1,Zc=500,Pb=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),k=class extends $r{static get IDENTITY(){return Nb()}static get ZERO(){return Fb()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Qc}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,s,i,o,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this[4]=i,this[5]=o,this[6]=a,this[7]=c,this[8]=u,this[9]=l,this[10]=f,this[11]=h,this[12]=d,this[13]=p,this[14]=g,this[15]=m,this.check()}setRowMajor(e,r,n,s,i,o,a,c,u,l,f,h,d,p,g,m){return this[0]=e,this[1]=i,this[2]=u,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=p,this[8]=n,this[9]=a,this[10]=f,this[11]=g,this[12]=s,this[13]=c,this[14]=h,this[15]=m,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(Pb)}fromObject(e){return this.check()}fromQuaternion(e){return qc(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:s,top:i,near:o=Yc,far:a=Zc}=e;return a===1/0?Db(this,r,n,s,i,o):Jc(this,r,n,s,i,o,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:s=[0,1,0]}=e;return Kc(this,r,n,s),this.check()}ortho(e){let{left:r,right:n,bottom:s,top:i,near:o=Yc,far:a=Zc}=e;return Xc(this,r,n,s,i,o,a),this.check()}orthographic(e){let{fovy:r=Rb,aspect:n=Lb,focalDistance:s=1,near:i=Yc,far:o=Zc}=e;cp(r);let a=r/2,c=s*Math.tan(a),u=c*n;return this.ortho({left:-u,right:u,bottom:-c,top:c,near:i,far:o})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:s=.1,far:i=500}=e;return cp(r),Wc(this,r,n,s,i),this.check()}determinant(){return Uc(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),s=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*s,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*s,e[5]=this[5]*i,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*s,e[9]=this[9]*i,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),s=1/n[0],i=1/n[1],o=1/n[2];return e[0]=this[0]*s,e[1]=this[1]*i,e[2]=this[2]*o,e[3]=this[4]*s,e[4]=this[5]*i,e[5]=this[6]*o,e[6]=this[8]*s,e[7]=this[9]*i,e[8]=this[10]*o,e}transpose(){return Nc(this,this),this.check()}invert(){return Dc(this,this),this.check()}multiplyLeft(e){return es(this,e,this),this.check()}multiplyRight(e){return es(this,this,e),this.check()}rotateX(e){return Vc(this,this,e),this.check()}rotateY(e){return zc(this,this,e),this.check()}rotateZ(e){return jc(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return Hc(this,this,e,r),this.check()}scale(e){return kc(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return Gc(this,this,e),this.check()}transform(e,r){return e.length===4?(r=op(r||[-0,-0,-0,-0],e,this),Jt(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,s;switch(n){case 2:s=ci(r||[-0,-0],e,this);break;case 3:s=br(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Jt(s,e.length),s}transformAsVector(e,r){let n;switch(e.length){case 2:n=ui(r||[-0,-0],e,this);break;case 3:n=li(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Jt(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},Ai,vi;function Fb(){return Ai||(Ai=new k([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Ai)),Ai}function Nb(){return vi||(vi=new k,Object.freeze(vi)),vi}function cp(t){if(t>Math.PI*2)throw Error("expected radians")}function Db(t,e,r,n,s,i){let o=2*i/(r-e),a=2*i/(s-n),c=(r+e)/(r-e),u=(s+n)/(s-n),l=-1,f=-1,h=-2*i;return t[0]=o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=u,t[10]=l,t[11]=f,t[12]=0,t[13]=0,t[14]=h,t[15]=0,t}function up(){let t=new se(4);return se!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function lp(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function $c(t,e,r){r=r*.5;let n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function eu(t,e,r){let n=e[0],s=e[1],i=e[2],o=e[3],a=r[0],c=r[1],u=r[2],l=r[3];return t[0]=n*l+o*a+s*u-i*c,t[1]=s*l+o*c+i*a-n*u,t[2]=i*l+o*u+n*c-s*a,t[3]=o*l-n*a-s*c-i*u,t}function fp(t,e,r){r*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+o*a,t[1]=s*c+i*a,t[2]=i*c-s*a,t[3]=o*c-n*a,t}function hp(t,e,r){r*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c-i*a,t[1]=s*c+o*a,t[2]=i*c+n*a,t[3]=o*c-s*a,t}function dp(t,e,r){r*=.5;let n=e[0],s=e[1],i=e[2],o=e[3],a=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*a,t[1]=s*c-n*a,t[2]=i*c+o*a,t[3]=o*c-i*a,t}function pp(t,e){let r=e[0],n=e[1],s=e[2];return t[0]=r,t[1]=n,t[2]=s,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-s*s)),t}function ts(t,e,r,n){let s=e[0],i=e[1],o=e[2],a=e[3],c=r[0],u=r[1],l=r[2],f=r[3],h,d,p,g,m;return h=s*c+i*u+o*l+a*f,h<0&&(h=-h,c=-c,u=-u,l=-l,f=-f),1-h>1e-6?(d=Math.acos(h),m=Math.sin(d),p=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(p=1-n,g=n),t[0]=p*s+g*c,t[1]=p*i+g*u,t[2]=p*o+g*l,t[3]=p*a+g*f,t}function mp(t,e){let r=e[0],n=e[1],s=e[2],i=e[3],o=r*r+n*n+s*s+i*i,a=o?1/o:0;return t[0]=-r*a,t[1]=-n*a,t[2]=-s*a,t[3]=i*a,t}function gp(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function tu(t,e){let r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{let s=0;e[4]>e[0]&&(s=1),e[8]>e[s*3+s]&&(s=2);let i=(s+1)%3,o=(s+2)%3;n=Math.sqrt(e[s*3+s]-e[i*3+i]-e[o*3+o]+1),t[s]=.5*n,n=.5/n,t[3]=(e[i*3+o]-e[o*3+i])*n,t[i]=(e[i*3+s]+e[s*3+i])*n,t[o]=(e[o*3+s]+e[s*3+o])*n}return t}var yp=$d;var _p=ep,Ap=sp,vp=ip,xp=tp;var bp=rp;var Tp=np;var Ep=function(){let t=hi(),e=di(1,0,0),r=di(0,1,0);return function(n,s,i){let o=Zn(s,i);return o<-.999999?(xr(t,e,s),Oc(t)<1e-6&&xr(t,r,s),Sc(t,t),$c(n,t,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(xr(t,s,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+o,Tp(n,n))}}(),uN=function(){let t=up(),e=up();return function(r,n,s,i,o,a){return ts(t,n,o,a),ts(e,s,i,a),ts(r,t,e,2*a*(1-a)),r}}(),lN=function(){let t=kd();return function(e,r,n,s){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=s[0],t[4]=s[1],t[7]=s[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],Tp(e,tu(e,t))}}();var Ub=[0,0,0,1],ht=class extends qt{constructor(e=0,r=0,n=0,s=1){super(-0,-0,-0,-0),Array.isArray(e)&&arguments.length===1?this.copy(e):this.set(e,r,n,s)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,r,n,s){return this[0]=e,this[1]=r,this[2]=n,this[3]=s,this.check()}fromObject(e){return this[0]=e.x,this[1]=e.y,this[2]=e.z,this[3]=e.w,this.check()}fromMatrix3(e){return tu(this,e),this.check()}fromAxisRotation(e,r){return $c(this,e,r),this.check()}identity(){return lp(this),this.check()}setAxisAngle(e,r){return this.fromAxisRotation(e,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=z(e)}get y(){return this[1]}set y(e){this[1]=z(e)}get z(){return this[2]}set z(e){this[2]=z(e)}get w(){return this[3]}set w(e){this[3]=z(e)}len(){return xp(this)}lengthSquared(){return bp(this)}dot(e){return Ap(this,e)}rotationTo(e,r){return Ep(this,e,r),this.check()}add(e){return yp(this,this,e),this.check()}calculateW(){return pp(this,this),this.check()}conjugate(){return gp(this,this),this.check()}invert(){return mp(this,this),this.check()}lerp(e,r,n){return n===void 0?this.lerp(this,e,r):(vp(this,e,r,n),this.check())}multiplyRight(e){return eu(this,this,e),this.check()}multiplyLeft(e){return eu(this,e,this),this.check()}normalize(){let e=this.len(),r=e>0?1/e:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,e===0&&(this[3]=1),this.check()}rotateX(e){return fp(this,this,e),this.check()}rotateY(e){return hp(this,this,e),this.check()}rotateZ(e){return dp(this,this,e),this.check()}scale(e){return _p(this,this,e),this.check()}slerp(e,r,n){let s,i,o;switch(arguments.length){case 1:({start:s=Ub,target:i,ratio:o}=e);break;case 2:s=this,i=e,o=r;break;default:s=e,i=r,o=n}return ts(this,s,i,o),this.check()}transformVector4(e,r=new Qr){return ap(r,e,this),Jt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,r){return this.setAxisAngle(e,r)}premultiply(e){return this.multiplyLeft(e)}multiply(e){return this.multiplyRight(e)}};var Qe={};Ae(Qe,{EPSILON1:()=>Gb,EPSILON10:()=>Xb,EPSILON11:()=>Kb,EPSILON12:()=>Yb,EPSILON13:()=>Zb,EPSILON14:()=>Qb,EPSILON15:()=>$b,EPSILON16:()=>eT,EPSILON17:()=>tT,EPSILON18:()=>rT,EPSILON19:()=>nT,EPSILON2:()=>kb,EPSILON20:()=>sT,EPSILON3:()=>Hb,EPSILON4:()=>Vb,EPSILON5:()=>zb,EPSILON6:()=>jb,EPSILON7:()=>qb,EPSILON8:()=>Jb,EPSILON9:()=>Wb,PI_OVER_FOUR:()=>oT,PI_OVER_SIX:()=>aT,PI_OVER_TWO:()=>iT,TWO_PI:()=>cT});var Gb=.1,kb=.01,Hb=.001,Vb=1e-4,zb=1e-5,jb=1e-6,qb=1e-7,Jb=1e-8,Wb=1e-9,Xb=1e-10,Kb=1e-11,Yb=1e-12,Zb=1e-13,Qb=1e-14,$b=1e-15,eT=1e-16,tT=1e-17,rT=1e-18,nT=1e-19,sT=1e-20,iT=Math.PI/2,oT=Math.PI/4,aT=Math.PI/6,cT=Math.PI*2;function xi(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var $e=Math.PI,Cp=$e/4,wp=$e/180,Sp=180/$e,bi=512;function Tt(t){let[e,r]=t;xi(Number.isFinite(e)),xi(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*wp,s=r*wp,i=bi*(n+$e)/(2*$e),o=bi*($e+Math.log(Math.tan(Cp+s*.5)))/(2*$e);return[i,o]}function Et(t){let[e,r]=t,n=e/bi*(2*$e)-$e,s=2*(Math.atan(Math.exp(r/bi*(2*$e)-$e))-Cp);return[n*Sp,s*Sp]}var WN=Math.PI/180;var Ip=6378137*Math.PI;function ru(t){var e=Tt(t);return e[0]=(e[0]/256-1)*Ip,e[1]=(e[1]/256-1)*Ip,e}function Ei(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ei=function(r){return typeof r}:Ei=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ei(t)}function Op(t,e,r,n,s,i,o){try{var a=t[i](o),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,s)}function nu(t){return function(){var e=this,r=arguments;return new Promise(function(n,s){var i=t.apply(e,r);function o(c){Op(i,n,s,o,a,"next",c)}function a(c){Op(i,n,s,o,a,"throw",c)}o(void 0)})}}function Rp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function Ti(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Rp(Object(r),!0).forEach(function(n){ET(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Rp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ET(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function wT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Lp(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function ST(t,e,r){return e&&Lp(t.prototype,e),r&&Lp(t,r),t}function wi(t,e,r){return typeof Reflect<"u"&&Reflect.get?wi=Reflect.get:wi=function(s,i,o){var a=BT(s,i);if(a){var c=Object.getOwnPropertyDescriptor(a,i);return c.get?c.get.call(o):c.value}},wi(t,e,r||t)}function BT(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=en(t),t!==null););return t}function CT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&su(t,e)}function su(t,e){return su=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},su(t,e)}function MT(t){var e=RT();return function(){var n=en(t),s;if(e){var i=en(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return IT(this,s)}}function IT(t,e){if(e&&(Ei(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return OT(t)}function OT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function RT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function en(t){return en=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},en(t)}var LT={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:function(){}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:function(){}},onImageLoad:{type:"function",value:function(){}},onImageLoadError:{type:"function",compare:!1,value:function(e,r){return console.error(r,e)}}},Si=function(t){CT(r,t);var e=MT(r);function r(){var s;wT(this,r);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return s=e.call.apply(e,[this].concat(o)),s.state=void 0,s}var n=r.prototype;return n.shouldUpdateState=function(){return!0},n.initializeState=function(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0},n.updateState=function(i){var o=this,a=i.changeFlags,c=i.props,u=i.oldProps,l=this.context.viewport;a.dataChanged||c.serviceType!==u.serviceType?(this.state.imageSource=this._createImageSource(c),this._loadMetadata(),this.debounce(function(){return o.loadImage(l,"image source changed")},0)):(0,Tr._deepEqual)(c.layers,u.layers,1)?a.viewportChanged&&this.debounce(function(){return o.loadImage(l,"viewport changed")}):this.debounce(function(){return o.loadImage(l,"layers changed")},0)},n.finalizeState=function(){},n.renderLayers=function(){var i=this.state,o=i.bounds,a=i.image,c=i.lastRequestParameters;return a&&new Pp.BitmapLayer(Ti(Ti({},this.getSubLayerProps({id:"bitmap"})),{},{_imageCoordinateSystem:c.srs==="EPSG:4326"?Tr.COORDINATE_SYSTEM.LNGLAT:Tr.COORDINATE_SYSTEM.CARTESIAN,bounds:o,image:a}))},n.getFeatureInfoText=function(){var s=nu(regeneratorRuntime.mark(function o(a,c){var u,l,f,h;return regeneratorRuntime.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(u=this.state.lastRequestParameters,!u){p.next=6;break}return p.next=4,(l=(f=this.state.imageSource).getFeatureInfoText)===null||l===void 0?void 0:l.call(f,Ti(Ti({},u),{},{query_layers:u.layers,x:a,y:c,info_format:"application/vnd.ogc.gml"}));case 4:return h=p.sent,p.abrupt("return",h);case 6:return p.abrupt("return","");case 7:case"end":return p.stop()}},o,this)}));function i(o,a){return s.apply(this,arguments)}return i}(),n._createImageSource=function(i){if(i.data instanceof Ue)return i.data;if(typeof i.data=="string")return xc({url:i.data,loadOptions:i.loadOptions,type:i.serviceType});throw new Error("invalid image source in props.data")},n._loadMetadata=function(){var s=nu(regeneratorRuntime.mark(function o(){var a,c,u,l;return regeneratorRuntime.wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return a=this.state.imageSource,h.prev=1,this.state.loadCounter++,h.next=5,a.getMetadata();case 5:c=h.sent,this.state.imageSource===a&&((u=this.getCurrentLayer())===null||u===void 0||u.props.onMetadataLoad(c)),h.next=12;break;case 9:h.prev=9,h.t0=h.catch(1),(l=this.getCurrentLayer())===null||l===void 0||l.props.onMetadataLoadError(h.t0);case 12:return h.prev=12,this.state.loadCounter--,h.finish(12);case 15:case"end":return h.stop()}},o,this,[[1,9,12,15]])}));function i(){return s.apply(this,arguments)}return i}(),n.loadImage=function(){var s=nu(regeneratorRuntime.mark(function o(a,c){var u,l,f,h,d,p,g,m,A,v,x,b,M,C;return regeneratorRuntime.wrap(function(B){for(;;)switch(B.prev=B.next){case 0:if(u=this.props,l=u.layers,f=u.serviceType,!(f==="wms"&&l.length===0)){B.next=3;break}return B.abrupt("return");case 3:return h=a.getBounds(),d=a.width,p=a.height,g=this.getRequestId(),m=this.props.srs,m==="auto"&&(m=a.resolution?"EPSG:4326":"EPSG:3857"),A={width:d,height:p,boundingBox:[[h[0],h[1]],[h[2],h[3]]],layers:l,crs:m},m==="EPSG:3857"&&(v=ru([h[0],h[1]]),x=ru([h[2],h[3]]),A.boundingBox=[v,x]),B.prev=10,this.state.loadCounter++,this.props.onImageLoadStart(g),B.next=15,this.state.imageSource.getImage(A);case 15:b=B.sent,this.state.lastRequestId<g&&((M=this.getCurrentLayer())===null||M===void 0||M.props.onImageLoad(g),this.setState({image:b,bounds:h,lastRequestParameters:A,lastRequestId:g})),B.next=23;break;case 19:B.prev=19,B.t0=B.catch(10),this.raiseError(B.t0,"Load image"),(C=this.getCurrentLayer())===null||C===void 0||C.props.onImageLoadError(g,B.t0);case 23:return B.prev=23,this.state.loadCounter--,B.finish(23);case 26:case"end":return B.stop()}},o,this,[[10,19,23,26]])}));function i(o,a){return s.apply(this,arguments)}return i}(),n.getRequestId=function(){return this.state._nextRequestId++},n.debounce=function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:500;clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(function(){return i()},o)},ST(r,[{key:"isLoaded",get:function(){return Boolean(this.state)&&this.state.loadCounter===0&&wi(en(r.prototype),"isLoaded",this)}}]),r}(Tr.CompositeLayer);Si.layerName="WMSLayer";Si.defaultProps=LT;var Fp=U(Ye());function Bi(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Bi=function(r){return typeof r}:Bi=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Bi(t)}function PT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function FT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&iu(t,e)}function iu(t,e){return iu=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},iu(t,e)}function NT(t){var e=GT();return function(){var n=Ci(t),s;if(e){var i=Ci(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return DT(this,s)}}function DT(t,e){if(e&&(Bi(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return UT(t)}function UT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function GT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ci(t){return Ci=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ci(t)}var kT={getHeight:{type:"accessor",value:0},greatCircle:!0},Mi=function(t){FT(r,t);var e=NT(r);function r(){return PT(this,r),e.apply(this,arguments)}return r}(Fp.ArcLayer);Mi.layerName="GreatCircleLayer";Mi.defaultProps=kT;var Dp=U(Ze()),cu=U(Ye());function Ii(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ii=function(r){return typeof r}:Ii=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ii(t)}var HT=["updateTriggers"];function VT(t,e){if(t==null)return{};var r=zT(t,e),n,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)n=i[s],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function zT(t,e){if(t==null)return{};var r={},n=Object.keys(t),s,i;for(i=0;i<n.length;i++)s=n[i],!(e.indexOf(s)>=0)&&(r[s]=t[s]);return r}function jT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function qT(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ou(t,e)}function ou(t,e){return ou=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},ou(t,e)}function JT(t){var e=KT();return function(){var n=Oi(t),s;if(e){var i=Oi(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return WT(this,s)}}function WT(t,e){if(e&&(Ii(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return XT(t)}function XT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function KT(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Oi(t){return Oi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Oi(t)}function Np(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function au(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Np(Object(r),!0).forEach(function(n){YT(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Np(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function YT(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var ZT=au({},cu.PolygonLayer.defaultProps),Ge=function(t){qT(r,t);var e=JT(r);function r(){return jT(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){return null},n.renderLayers=function(){var i=this.props,o=i.elevationScale,a=i.extruded,c=i.wireframe,u=i.filled,l=i.stroked,f=i.lineWidthUnits,h=i.lineWidthScale,d=i.lineWidthMinPixels,p=i.lineWidthMaxPixels,g=i.lineJointRounded,m=i.lineMiterLimit,A=i.lineDashJustified,v=i.getElevation,x=i.getFillColor,b=i.getLineColor,M=i.getLineWidth,C=this.props,I=C.updateTriggers,B=C.material,S=C.transitions,y=this.getSubLayerClass("cell",cu.PolygonLayer),R=this.indexToBounds()||{},P=R.updateTriggers,F=VT(R,HT);return new y({filled:u,wireframe:c,extruded:a,elevationScale:o,stroked:l,lineWidthUnits:f,lineWidthScale:h,lineWidthMinPixels:d,lineWidthMaxPixels:p,lineJointRounded:g,lineMiterLimit:m,lineDashJustified:A,material:B,transitions:S,getElevation:v,getFillColor:x,getLineColor:b,getLineWidth:M},this.getSubLayerProps({id:"cell",updateTriggers:I&&au(au({},P),{},{getElevation:I.getElevation,getFillColor:I.getFillColor,getLineColor:I.getLineColor,getLineWidth:I.getLineWidth})}),F)},r}(Dp.CompositeLayer);Ge.layerName="GeoCellLayer";Ge.defaultProps=ZT;var Ri=U(uu());function Vp(t,e){return tE(t)||eE(t,e)||$T(t,e)||QT()}function QT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
15
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $T(t,e){if(t){if(typeof t=="string")return Gp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gp(t,e)}}function Gp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function eE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function tE(t){if(Array.isArray(t))return t}var rE=3,nE=30,sE=2*nE+1,kp=180/Math.PI;function zp(t,e,r){var n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function Hp(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function jp(t){return[Hp(t[0]),Hp(t[1])]}function qp(t,e){var r=Vp(e,2),n=r[0],s=r[1];switch(t){case 0:return[1,n,s];case 1:return[-n,1,s];case 2:return[-n,-s,1];case 3:return[-1,-s,-n];case 4:return[s,-1,-n];case 5:return[s,n,-1];default:throw new Error("Invalid face")}}function Jp(t){var e=Vp(t,3),r=e[0],n=e[1],s=e[2],i=Math.atan2(s,Math.sqrt(r*r+n*n)),o=Math.atan2(n,r);return[o*kp,i*kp]}function Wp(t){for(var e=Ri.default.fromString(t,!0,10).toString(2);e.length<rE+sE;)e="0"+e;for(var r=e.lastIndexOf("1"),n=e.substring(0,3),s=e.substring(3,r),i=s.length/2,o=Ri.default.fromString(n,!0,2).toString(10),a=Ri.default.fromString(s,!0,2).toString(4);a.length<i;)a="0"+a;return"".concat(o,"/").concat(a)}function iE(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);var s=e[0];e[0]=e[1],e[1]=s}}function Xp(t){for(var e=t.split("/"),r=parseInt(e[0],10),n=e[1],s=n.length,i=[0,0],o,a=s-1;a>=0;a--){o=s-a;var c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);var f=Math.pow(2,o-1);iE(f,i,u,l),i[0]+=f*u,i[1]+=f*l}if(r%2===1){var h=i[0];i[0]=i[1],i[1]=h}return{face:r,ij:i,level:o}}var Kp=U(uu());function oE(t){var e=t.padEnd(16,"0");return Kp.default.fromString(e,16)}var aE=100;function cE(t){for(var e=t.face,r=t.ij,n=t.level,s=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(aE*Math.pow(2,-n))),o=new Float64Array(4*i*2+2),a=0,c=0,u=0;u<4;u++)for(var l=s[u].slice(0),f=s[u+1],h=(f[0]-l[0])/i,d=(f[1]-l[1])/i,p=0;p<i;p++){l[0]+=h,l[1]+=d;var g=zp(r,n,l),m=jp(g),A=qp(e,m),v=Jp(A);Math.abs(v[1])>89.999&&(v[0]=c);var x=v[0]-c;v[0]+=x>180?-360:x<-180?360:0,o[a++]=v[0],o[a++]=v[1],c=v[0]}return o[a++]=o[0],o[a++]=o[1],o}function uE(t){if(typeof t=="string"){if(t.indexOf("/")>0)return t;t=oE(t)}return Wp(t.toString())}function Yp(t){var e=uE(t),r=Xp(e);return cE(r)}function Li(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Li=function(r){return typeof r}:Li=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Li(t)}function lE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&lu(t,e)}function lu(t,e){return lu=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},lu(t,e)}function hE(t){var e=mE();return function(){var n=Pi(t),s;if(e){var i=Pi(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return dE(this,s)}}function dE(t,e){if(e&&(Li(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pE(t)}function pE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function mE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Pi(t){return Pi=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Pi(t)}var gE={getS2Token:{type:"accessor",value:function(e){return e.token}}},Fi=function(t){fE(r,t);var e=hE(r);function r(){return lE(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var i=this.props,o=i.data,a=i.getS2Token;return{data:o,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return Yp(a(u,l))}}},r}(Ge);Fi.layerName="S2Layer";Fi.defaultProps=gE;function fu(t,e){return vE(t)||AE(t,e)||_E(t,e)||yE()}function yE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _E(t,e){if(t){if(typeof t=="string")return Zp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zp(t,e)}}function Zp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function AE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function vE(t){if(Array.isArray(t))return t}var hu=512;function xE(t,e){for(var r=0,n=0,s=1<<t.length,i=s/hu,o=0;o<t.length;o++){s>>=1;var a=parseInt(t[o]);a%2&&(r|=s),a>1&&(n|=s)}return[[r/i,hu-n/i],[(r+e)/i,hu-(n+e)/i]]}function Qp(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=xE(t,e),n=fu(r,2),s=n[0],i=n[1],o=Et(s),a=fu(o,2),c=a[0],u=a[1],l=Et(i),f=fu(l,2),h=f[0],d=f[1];return[h,u,h,d,c,d,c,u,h,u]}function Ni(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ni=function(r){return typeof r}:Ni=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ni(t)}function bE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function TE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&du(t,e)}function du(t,e){return du=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},du(t,e)}function EE(t){var e=BE();return function(){var n=Di(t),s;if(e){var i=Di(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return wE(this,s)}}function wE(t,e){if(e&&(Ni(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return SE(t)}function SE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function BE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Di(t){return Di=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Di(t)}var CE={getQuadkey:{type:"accessor",value:function(e){return e.quadkey}}},Ui=function(t){TE(r,t);var e=EE(r);function r(){return bE(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var i=this.props,o=i.data,a=i.extruded,c=i.getQuadkey,u=a?.99:1;return{data:o,_normalize:!1,positionFormat:"XY",getPolygon:function(f,h){return Qp(c(f,h),u)},updateTriggers:{getPolygon:u}}},r}(Ge);Ui.layerName="QuadkeyLayer";Ui.defaultProps=CE;var Yi=U(Ze()),Rm=U(Ye());function $p(t,e,r,n,s,i,o){try{var a=t[i](o),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,s)}function ME(t){return function(){var e=this,r=arguments;return new Promise(function(n,s){var i=t.apply(e,r);function o(c){$p(i,n,s,o,a,"next",c)}function a(c){$p(i,n,s,o,a,"throw",c)}o(void 0)})}}function IE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function em(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function OE(t,e,r){return e&&em(t.prototype,e),r&&em(t,r),t}var ns=function(){function t(r){IE(this,t),this.index=void 0,this.isVisible=void 0,this.isSelected=void 0,this.parent=void 0,this.children=void 0,this.content=void 0,this.state=void 0,this.layers=void 0,this.id=void 0,this.zoom=void 0,this.userData=void 0,this.boundingBox=void 0,this._abortController=void 0,this._loader=void 0,this._loaderId=void 0,this._isLoaded=void 0,this._isCancelled=void 0,this._needsReload=void 0,this._bbox=void 0,this.index=r,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}var e=t.prototype;return e._loadData=function(){var r=ME(regeneratorRuntime.mark(function s(i){var o,a,c,u,l,f,h,d,p,g,m,A,v,x;return regeneratorRuntime.wrap(function(M){for(;;)switch(M.prev=M.next){case 0:return o=i.getData,a=i.requestScheduler,c=i.onLoad,u=i.onError,l=this.index,f=this.id,h=this.bbox,d=this.userData,p=this.zoom,g=this._loaderId,this._abortController=new AbortController,m=this._abortController.signal,M.next=7,a.scheduleRequest(this,function(C){return C.isSelected?1:-1});case 7:if(A=M.sent,A){M.next=11;break}return this._isCancelled=!0,M.abrupt("return");case 11:if(!this._isCancelled){M.next=14;break}return A.done(),M.abrupt("return");case 14:return v=null,M.prev=15,M.next=18,o({index:l,id:f,bbox:h,userData:d,zoom:p,signal:m});case 18:v=M.sent,M.next=24;break;case 21:M.prev=21,M.t0=M.catch(15),x=M.t0||!0;case 24:return M.prev=24,A.done(),M.finish(24);case 27:if(g===this._loaderId){M.next=29;break}return M.abrupt("return");case 29:if(this._loader=void 0,this.content=v,!(this._isCancelled&&!v)){M.next=34;break}return this._isLoaded=!1,M.abrupt("return");case 34:this._isLoaded=!0,this._isCancelled=!1,x?u(x,this):c(this);case 37:case"end":return M.stop()}},s,this,[[15,21,24,27]])}));function n(s){return r.apply(this,arguments)}return n}(),e.loadData=function(n){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(n),this._loader},e.setNeedsReload=function(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0},e.abort=function(){var n;this.isLoaded||(this._isCancelled=!0,(n=this._abortController)===null||n===void 0||n.abort())},OE(t,[{key:"bbox",get:function(){return this._bbox},set:function(n){this._bbox||(this._bbox=n,"west"in n?this.boundingBox=[[n.west,n.south],[n.east,n.north]]:this.boundingBox=[[n.left,n.top],[n.right,n.bottom]])}},{key:"data",get:function(){var n=this;return this.isLoading&&this._loader?this._loader.then(function(){return n.data}):this.content}},{key:"isLoaded",get:function(){return this._isLoaded&&!this._needsReload}},{key:"isLoading",get:function(){return Boolean(this._loader)&&!this._isCancelled}},{key:"needsReload",get:function(){return this._needsReload||this._isCancelled}},{key:"byteLength",get:function(){var n=this.content?this.content.byteLength:0;return Number.isFinite(n)||console.error("byteLength not defined in tile data"),n}}]),t}();var os=U(Ze());var le={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var tm=new w,RE=new w,Xt=class{constructor(e=[0,0,0],r=[0,0,0],n){D(this,"center",void 0),D(this,"halfDiagonal",void 0),D(this,"minimum",void 0),D(this,"maximum",void 0),n=n||tm.copy(e).add(r).scale(.5),this.center=new w(n),this.halfDiagonal=new w(r).subtract(this.center),this.minimum=new w(e),this.maximum=new w(r)}clone(){return new Xt(this.minimum,this.maximum,this.center)}equals(e){return this===e||Boolean(e)&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){let{halfDiagonal:r}=this,n=RE.from(e.normal),s=r.x*Math.abs(n.x)+r.y*Math.abs(n.y)+r.z*Math.abs(n.z),i=this.center.dot(n)+e.distance;return i-s>0?le.INSIDE:i+s<0?le.OUTSIDE:le.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=tm.from(e).subtract(this.center),{halfDiagonal:n}=this,s=0,i;return i=Math.abs(r.x)-n.x,i>0&&(s+=i*i),i=Math.abs(r.y)-n.y,i>0&&(s+=i*i),i=Math.abs(r.z)-n.z,i>0&&(s+=i*i),s}};var ss=new w,rm=new w,ke=class{constructor(e=[0,0,0],r=0){D(this,"center",void 0),D(this,"radius",void 0),this.radius=-0,this.center=new w,this.fromCenterRadius(e,r)}fromCenterRadius(e,r){return this.center.from(e),this.radius=r,this}fromCornerPoints(e,r){return r=ss.from(r),this.center=new w().from(e).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new ke(this.center,this.radius)}union(e){let r=this.center,n=this.radius,s=e.center,i=e.radius,o=ss.copy(s).subtract(r),a=o.magnitude();if(n>=a+i)return this.clone();if(i>=a+n)return e.clone();let c=(n+a+i)*.5;return rm.copy(o).scale((-n+c)/a).add(r),this.center.copy(rm),this.radius=c,this}expand(e){let n=ss.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);let r=_i.getScaling(ss,e);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(e){let r=this.distanceTo(e);return r*r}distanceTo(e){let n=ss.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){let r=this.center,n=this.radius,i=e.normal.dot(r)+e.distance;return i<-n?le.OUTSIDE:i<n?le.INTERSECTING:le.INSIDE}};var LE=new w,PE=new w,Gi=new w,ki=new w,Hi=new w,FE=new w,NE=new w,wt={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},et=class{constructor(e=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){D(this,"center",void 0),D(this,"halfAxes",void 0),this.center=new w().from(e),this.halfAxes=new W(r)}get halfSize(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new w(e).len(),new w(r).len(),new w(n).len()]}get quaternion(){let e=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),s=new w(e).normalize(),i=new w(r).normalize(),o=new w(n).normalize();return new ht().fromMatrix3(new W([...s,...i,...o]))}fromCenterHalfSizeQuaternion(e,r,n){let s=new ht(n),i=new W().fromQuaternion(s);return i[0]=i[0]*r[0],i[1]=i[1]*r[0],i[2]=i[2]*r[0],i[3]=i[3]*r[1],i[4]=i[4]*r[1],i[5]=i[5]*r[1],i[6]=i[6]*r[2],i[7]=i[7]*r[2],i[8]=i[8]*r[2],this.center=new w().from(e),this.halfAxes=i,this}clone(){return new et(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new ke){let r=this.halfAxes,n=r.getColumn(0,Gi),s=r.getColumn(1,ki),i=r.getColumn(2,Hi),o=LE.copy(n).add(s).add(i);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){let r=this.center,n=e.normal,s=this.halfAxes,i=n.x,o=n.y,a=n.z,c=Math.abs(i*s[wt.COLUMN0ROW0]+o*s[wt.COLUMN0ROW1]+a*s[wt.COLUMN0ROW2])+Math.abs(i*s[wt.COLUMN1ROW0]+o*s[wt.COLUMN1ROW1]+a*s[wt.COLUMN1ROW2])+Math.abs(i*s[wt.COLUMN2ROW0]+o*s[wt.COLUMN2ROW1]+a*s[wt.COLUMN2ROW2]),u=n.dot(r)+e.distance;return u<=-c?le.OUTSIDE:u>=c?le.INSIDE:le.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){let r=PE.from(e).subtract(this.center),n=this.halfAxes,s=n.getColumn(0,Gi),i=n.getColumn(1,ki),o=n.getColumn(2,Hi),a=s.magnitude(),c=i.magnitude(),u=o.magnitude();s.normalize(),i.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(s))-a,f>0&&(l+=f*f),f=Math.abs(r.dot(i))-c,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-u,f>0&&(l+=f*f),l}computePlaneDistances(e,r,n=[-0,-0]){let s=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,c=a.getColumn(0,Gi),u=a.getColumn(1,ki),l=a.getColumn(2,Hi),f=FE.copy(c).add(u).add(l).add(o),h=NE.copy(f).subtract(e),d=r.dot(h);return s=Math.min(d,s),i=Math.max(d,i),f.copy(o).add(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),s=Math.min(d,s),i=Math.max(d,i),f.copy(o).add(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),s=Math.min(d,s),i=Math.max(d,i),f.copy(o).add(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).add(u).add(l),h.copy(f).subtract(e),d=r.dot(h),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).add(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).subtract(u).add(l),h.copy(f).subtract(e),d=r.dot(h),s=Math.min(d,s),i=Math.max(d,i),o.copy(f).subtract(c).subtract(u).subtract(l),h.copy(f).subtract(e),d=r.dot(h),s=Math.min(d,s),i=Math.max(d,i),n[0]=s,n[1]=i,n}transform(e){this.center.transformAsPoint(e);let r=this.halfAxes.getColumn(0,Gi);r.transformAsPoint(e);let n=this.halfAxes.getColumn(1,ki);n.transformAsPoint(e);let s=this.halfAxes.getColumn(2,Hi);return s.transformAsPoint(e),this.halfAxes=new W([...r,...n,...s]),this}getTransform(){throw new Error("not implemented")}};var nm=new w,sm=new w,ge=class{constructor(e=[0,0,1],r=0){D(this,"normal",void 0),D(this,"distance",void 0),this.normal=new w,this.distance=-0,this.fromNormalDistance(e,r)}fromNormalDistance(e,r){return me(Number.isFinite(r)),this.normal.from(e).normalize(),this.distance=r,this}fromPointNormal(e,r){e=nm.from(e),this.normal.from(r).normalize();let n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,r,n,s){return this.normal.set(e,r,n),me(we(this.normal.len(),1)),this.distance=s,this}clone(){return new ge(this.normal,this.distance)}equals(e){return we(this.distance,e.distance)&&we(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){let r=sm.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,r)}projectPointOntoPlane(e,r=[0,0,0]){let n=nm.from(e),s=this.getPointDistance(n),i=sm.copy(this.normal).scale(s);return n.subtract(i).to(r)}};var im=[new w([1,0,0]),new w([0,1,0]),new w([0,0,1])],om=new w,DE=new w,de=class{constructor(e=[]){D(this,"planes",void 0),this.planes=e}fromBoundingSphere(e){this.planes.length=2*im.length;let r=e.center,n=e.radius,s=0;for(let i of im){let o=this.planes[s],a=this.planes[s+1];o||(o=this.planes[s]=new ge),a||(a=this.planes[s+1]=new ge);let c=om.copy(i).scale(-n).add(r);o.fromPointNormal(c,i);let u=om.copy(i).scale(n).add(r),l=DE.copy(i).negate();a.fromPointNormal(u,l),s+=2}return this}computeVisibility(e){let r=le.INSIDE;for(let n of this.planes)switch(e.intersectPlane(n)){case le.OUTSIDE:return le.OUTSIDE;case le.INTERSECTING:r=le.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(e,r){if(me(Number.isFinite(r),"parentPlaneMask is required."),r===de.MASK_OUTSIDE||r===de.MASK_INSIDE)return r;let n=de.MASK_INSIDE,s=this.planes;for(let i=0;i<this.planes.length;++i){let o=i<31?1<<i:0;if(i<31&&!(r&o))continue;let a=s[i],c=e.intersectPlane(a);if(c===le.OUTSIDE)return de.MASK_OUTSIDE;c===le.INTERSECTING&&(n|=o)}return n}};D(de,"MASK_OUTSIDE",4294967295);D(de,"MASK_INSIDE",0);D(de,"MASK_INDETERMINATE",2147483647);var yU=new w,_U=new w,AU=new w,vU=new w,xU=new w;var CU=new w,MU=new w,IU=new w,OU=new w,RU=new w,LU=new w,PU=new w,FU=new w,NU=new w,DU=new w,UU=new w,GU=new w;var dt=new W,GE=new W,kE=new W,Vi=new W,am=new W;function gu(t,e={}){let r=Qe.EPSILON20,n=10,s=0,i=0,o=GE,a=kE;o.identity(),a.copy(t);let c=r*HE(a);for(;i<n&&VE(a)>c;)zE(a,Vi),am.copy(Vi).transpose(),a.multiplyRight(Vi),a.multiplyLeft(am),o.multiplyRight(Vi),++s>2&&(++i,s=0);return e.unitary=o.toTarget(e.unitary),e.diagonal=a.toTarget(e.diagonal),e}function HE(t){let e=0;for(let r=0;r<9;++r){let n=t[r];e+=n*n}return Math.sqrt(e)}var pu=[1,0,0],mu=[2,2,1];function VE(t){let e=0;for(let r=0;r<3;++r){let n=t[dt.getElementIndex(mu[r],pu[r])];e+=2*n*n}return Math.sqrt(e)}function zE(t,e){let r=Qe.EPSILON15,n=0,s=1;for(let u=0;u<3;++u){let l=Math.abs(t[dt.getElementIndex(mu[u],pu[u])]);l>n&&(s=u,n=l)}let i=pu[s],o=mu[s],a=1,c=0;if(Math.abs(t[dt.getElementIndex(o,i)])>r){let u=t[dt.getElementIndex(o,o)],l=t[dt.getElementIndex(i,i)],f=t[dt.getElementIndex(o,i)],h=(u-l)/2/f,d;h<0?d=-1/(-h+Math.sqrt(1+h*h)):d=1/(h+Math.sqrt(1+h*h)),a=1/Math.sqrt(1+d*d),c=d*a}return W.IDENTITY.to(e),e[dt.getElementIndex(i,i)]=e[dt.getElementIndex(o,o)]=a,e[dt.getElementIndex(o,i)]=c,e[dt.getElementIndex(i,o)]=-c,e}var Kt=new w,jE=new w,qE=new w,JE=new w,WE=new w,XE=new W,KE={diagonal:new W,unitary:new W};function is(t,e=new et){if(!t||t.length===0)return e.halfAxes=new W([0,0,0,0,0,0,0,0,0]),e.center=new w,e;let r=t.length,n=new w(0,0,0);for(let S of t)n.add(S);let s=1/r;n.multiplyByScalar(s);let i=0,o=0,a=0,c=0,u=0,l=0;for(let S of t){let y=Kt.copy(S).subtract(n);i+=y.x*y.x,o+=y.x*y.y,a+=y.x*y.z,c+=y.y*y.y,u+=y.y*y.z,l+=y.z*y.z}i*=s,o*=s,a*=s,c*=s,u*=s,l*=s;let f=XE;f[0]=i,f[1]=o,f[2]=a,f[3]=o,f[4]=c,f[5]=u,f[6]=a,f[7]=u,f[8]=l;let{unitary:h}=gu(f,KE),d=e.halfAxes.copy(h),p=d.getColumn(0,qE),g=d.getColumn(1,JE),m=d.getColumn(2,WE),A=-Number.MAX_VALUE,v=-Number.MAX_VALUE,x=-Number.MAX_VALUE,b=Number.MAX_VALUE,M=Number.MAX_VALUE,C=Number.MAX_VALUE;for(let S of t)Kt.copy(S),A=Math.max(Kt.dot(p),A),v=Math.max(Kt.dot(g),v),x=Math.max(Kt.dot(m),x),b=Math.min(Kt.dot(p),b),M=Math.min(Kt.dot(g),M),C=Math.min(Kt.dot(m),C);p=p.multiplyByScalar(.5*(b+A)),g=g.multiplyByScalar(.5*(M+v)),m=m.multiplyByScalar(.5*(C+x)),e.center.copy(p).add(g).add(m);let I=jE.set(A-b,v-M,x-C).multiplyByScalar(.5),B=new W([I[0],0,0,0,I[1],0,0,0,I[2]]);return e.halfAxes.multiplyRight(B),e}function fm(t,e){return QE(t)||ZE(t,e)||hm(t,e)||YE()}function YE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
17
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function QE(t){if(Array.isArray(t))return t}function yu(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=hm(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
18
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function hm(t,e){if(t){if(typeof t=="string")return cm(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cm(t,e)}}function cm(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function $E(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function um(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function ew(t,e,r){return e&&um(t.prototype,e),r&&um(t,r),t}var tn=512,lm=3,dm=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],pm=dm.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),tw=pm.concat([[.25,.5],[.75,.5]]),rw=function(){function t(r,n,s){$E(this,t),this.x=void 0,this.y=void 0,this.z=void 0,this.childVisible=void 0,this.selected=void 0,this._children=void 0,this.x=r,this.y=n,this.z=s}var e=t.prototype;return e.update=function(n){var s=n.viewport,i=n.cullingVolume,o=n.elevationBounds,a=n.minZ,c=n.maxZ,u=n.bounds,l=n.offset,f=n.project,h=this.getBoundingVolume(o,l,f);if(u&&!this.insideBounds(u))return!1;var d=i.computeVisibility(h);if(d<0)return!1;if(!this.childVisible){var p=this.z;if(p<c&&p>=a){var g=h.distanceTo(s.cameraPosition)*s.scale/s.height;p+=Math.floor(Math.log2(g))}if(p>=c)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;var m=yu(this.children),A;try{for(m.s();!(A=m.n()).done;){var v=A.value;v.update(n)}}catch(x){m.e(x)}finally{m.f()}return!0},e.getSelected=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(this.selected&&n.push(this),this._children){var s=yu(this._children),i;try{for(s.s();!(i=s.n()).done;){var o=i.value;o.getSelected(n)}}catch(a){s.e(a)}finally{s.f()}}return n},e.insideBounds=function(n){var s=fm(n,4),i=s[0],o=s[1],a=s[2],c=s[3],u=Math.pow(2,this.z),l=tn/u;return this.x*l<a&&this.y*l<c&&(this.x+1)*l>i&&(this.y+1)*l>o},e.getBoundingVolume=function(n,s,i){if(i){var o=this.z<1?tw:this.z<2?pm:dm,a=[],c=yu(o),u;try{for(c.s();!(u=c.n()).done;){var l=u.value,f=zi(this.x+l[0],this.y+l[1],this.z);f[2]=n[0],a.push(i(f)),n[0]!==n[1]&&(f[2]=n[1],a.push(i(f)))}}catch(m){c.e(m)}finally{c.f()}return is(a)}var h=Math.pow(2,this.z),d=tn/h,p=this.x*d+s*tn,g=tn-(this.y+1)*d;return new Xt([p,g,n[0]],[p+d,g+d,n[1]])},ew(t,[{key:"children",get:function(){if(!this._children){var n=this.x*2,s=this.y*2,i=this.z+1;this._children=[new t(n,s,i),new t(n,s+1,i),new t(n+1,s,i),new t(n+1,s+1,i)]}return this._children}}]),t}();function mm(t,e,r,n){var s=t instanceof os._GlobeViewport&&t.resolution?t.projectPosition:null,i=Object.values(t.getFrustumPlanes()).map(function(M){var C=M.normal,I=M.distance;return new ge(C.clone().negate(),I)}),o=new de(i),a=t.distanceScales.unitsPerMeter[2],c=r&&r[0]*a||0,u=r&&r[1]*a||0,l=t instanceof os.WebMercatorViewport&&t.pitch<=60?e:0;if(n){var f=n,h=fm(f,4),d=h[0],p=h[1],g=h[2],m=h[3],A=Tt([d,m]),v=Tt([g,p]);n=[A[0],tn-A[1],v[0],tn-v[1]]}var x=new rw(0,0,0),b={viewport:t,project:s,cullingVolume:o,elevationBounds:[c,u],minZ:l,maxZ:e,bounds:n,offset:0};if(x.update(b),t instanceof os.WebMercatorViewport&&t.subViewports&&t.subViewports.length>1){for(b.offset=-1;x.update(b)&&!(--b.offset<-lm););for(b.offset=1;x.update(b)&&!(++b.offset>lm););}return x.getSelected()}function rn(t,e){return iw(t)||sw(t,e)||ym(t,e)||nw()}function nw(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
19
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sw(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function iw(t){if(Array.isArray(t))return t}function ji(t){return cw(t)||aw(t)||ym(t)||ow()}function ow(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
20
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ym(t,e){if(t){if(typeof t=="string")return _u(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _u(t,e)}}function aw(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function cw(t){if(Array.isArray(t))return _u(t)}function _u(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var St=512,uw=[-1/0,-1/0,1/0,1/0],Yt={type:"object",value:null,validate:function(e,r){return r.optional&&e===null||typeof e=="string"||Array.isArray(e)&&e.every(function(n){return typeof n=="string"})},equal:function(e,r){if(e===r)return!0;if(!Array.isArray(e)||!Array.isArray(r))return!1;var n=e.length;if(n!==r.length)return!1;for(var s=0;s<n;s++)if(e[s]!==r[s])return!1;return!0}};function _m(t,e){var r=[e.transformAsPoint([t[0],t[1]]),e.transformAsPoint([t[2],t[1]]),e.transformAsPoint([t[0],t[3]]),e.transformAsPoint([t[2],t[3]])],n=[Math.min.apply(Math,ji(r.map(function(s){return s[0]}))),Math.min.apply(Math,ji(r.map(function(s){return s[1]}))),Math.max.apply(Math,ji(r.map(function(s){return s[0]}))),Math.max.apply(Math,ji(r.map(function(s){return s[1]})))];return n}function lw(t){return Math.abs(t.split("").reduce(function(e,r){return(e<<5)-e+r.charCodeAt(0)|0},0))}function pt(t,e){if(!t||!t.length)return null;var r=e.index,n=e.id;if(Array.isArray(t)){var s=lw(n)%t.length;t=t[s]}for(var i=t,o=0,a=Object.keys(r);o<a.length;o++){var c=a[o],u=new RegExp("{".concat(c,"}"),"g");i=i.replace(u,String(r[c]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(i=i.replace(/\{-y\}/g,String(Math.pow(2,r.z)-r.y-1))),i}function fw(t,e,r){var n;if(e&&e.length===2){var s=rn(e,2),i=s[0],o=s[1],a=t.getBounds({z:i}),c=t.getBounds({z:o});n=[Math.min(a[0],c[0]),Math.min(a[1],c[1]),Math.max(a[2],c[2]),Math.max(a[3],c[3])]}else n=t.getBounds();return t.isGeospatial?[Math.max(n[0],r[0]),Math.max(n[1],r[1]),Math.min(n[2],r[2]),Math.min(n[3],r[3])]:[Math.max(Math.min(n[0],r[2]),r[0]),Math.max(Math.min(n[1],r[3]),r[1]),Math.min(Math.max(n[2],r[0]),r[2]),Math.min(Math.max(n[3],r[1]),r[3])]}function Am(t){var e=t.viewport,r=t.z,n=t.cullRect,s=e.subViewports||[e];return s.map(function(i){return Au(i,r||0,n)})}function Au(t,e,r){if(!Array.isArray(e)){var n=r.x-t.x,s=r.y-t.y,i=r.width,o=r.height,a={targetZ:e},c=t.unproject([n,s],a),u=t.unproject([n+i,s],a),l=t.unproject([n,s+o],a),f=t.unproject([n+i,s+o],a);return[Math.min(c[0],u[0],l[0],f[0]),Math.min(c[1],u[1],l[1],f[1]),Math.max(c[0],u[0],l[0],f[0]),Math.max(c[1],u[1],l[1],f[1])]}var h=Au(t,e[0],r),d=Au(t,e[1],r);return[Math.min(h[0],d[0]),Math.min(h[1],d[1]),Math.max(h[2],d[2]),Math.max(h[3],d[3])]}function hw(t,e,r){if(r){var n=_m(t,r).map(function(s){return s*e/St});return n}return t.map(function(s){return s*e/St})}function vu(t,e){return Math.pow(2,t)*St/e}function zi(t,e,r){var n=vu(r,St),s=t/n*360-180,i=Math.PI-2*Math.PI*e/n,o=180/Math.PI*Math.atan(.5*(Math.exp(i)-Math.exp(-i)));return[s,o]}function gm(t,e,r,n){var s=vu(r,n);return[t/s*St,e/s*St]}function xu(t,e,r,n){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:St;if(t.isGeospatial){var i=zi(e,r,n),o=rn(i,2),a=o[0],c=o[1],u=zi(e+1,r+1,n),l=rn(u,2),f=l[0],h=l[1];return{west:a,north:c,east:f,south:h}}var d=gm(e,r,n,s),p=rn(d,2),g=p[0],m=p[1],A=gm(e+1,r+1,n,s),v=rn(A,2),x=v[0],b=v[1];return{left:g,top:m,right:x,bottom:b}}function dw(t,e,r,n,s){for(var i=fw(t,null,n),o=vu(e,r),a=hw(i,o,s),c=rn(a,4),u=c[0],l=c[1],f=c[2],h=c[3],d=[],p=Math.floor(u);p<f;p++)for(var g=Math.floor(l);g<h;g++)d.push({x:p,y:g,z:e});return d}function bu(t){var e=t.viewport,r=t.maxZoom,n=t.minZoom,s=t.zRange,i=t.extent,o=t.tileSize,a=o===void 0?St:o,c=t.modelMatrix,u=t.modelMatrixInverse,l=t.zoomOffset,f=l===void 0?0:l,h=e.isGeospatial?Math.round(e.zoom+Math.log2(St/a))+f:Math.ceil(e.zoom)+f;if(typeof n=="number"&&Number.isFinite(n)&&h<n){if(!i)return[];h=n}typeof r=="number"&&Number.isFinite(r)&&h>r&&(h=r);var d=i;return c&&u&&i&&!e.isGeospatial&&(d=_m(i,c)),e.isGeospatial?mm(e,h,s,i):dw(e,h,a,d||uw,u)}function Tu(t){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(t)}function Eu(t){return Number.isFinite(t.west)&&Number.isFinite(t.north)&&Number.isFinite(t.east)&&Number.isFinite(t.south)}function vm(t){var e={},r;return function(n){for(var s in n)if(!pw(n[s],e[s])){r=t(n),e=n;break}return r}}function pw(t,e){if(t===e)return!0;if(Array.isArray(t)){var r=t.length;if(!e||e.length!==r)return!1;for(var n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}return!1}var as;function xm(t,e){return yw(t)||gw(t,e)||Bm(t,e)||mw()}function mw(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gw(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function yw(t){if(Array.isArray(t))return t}function ye(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Bm(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function Bm(t,e){if(t){if(typeof t=="string")return bm(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bm(t,e)}}function bm(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Tm(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function Em(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Tm(Object(r),!0).forEach(function(n){qi(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Tm(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function _w(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function wm(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Aw(t,e,r){return e&&wm(t.prototype,e),r&&wm(t,r),t}function qi(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Sm=1,Ji=2,vw="never",xw="no-overlap",cs="best-available",bw=5,Tw=(as={},qi(as,cs,ww),qi(as,xw,Sw),qi(as,vw,function(){}),as),Ew={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:function(){},onTileUnload:function(){},onTileError:function(){}},us=function(){function t(r){var n=this;_w(this,t),this.opts=void 0,this._requestScheduler=void 0,this._cache=void 0,this._dirty=void 0,this._tiles=void 0,this._cacheByteSize=void 0,this._viewport=void 0,this._zRange=void 0,this._selectedTiles=void 0,this._frameNumber=void 0,this._modelMatrix=void 0,this._modelMatrixInverse=void 0,this._maxZoom=void 0,this._minZoom=void 0,this.onTileLoad=void 0,this._getCullBounds=vm(Am),this.opts=Em(Em({},Ew),r),this.onTileLoad=function(s){var i,o;(i=(o=n.opts).onTileLoad)===null||i===void 0||i.call(o,s),n.opts.maxCacheByteSize&&(n._cacheByteSize+=s.byteLength,n._resizeCache())},this._requestScheduler=new Ht({maxRequests:r.maxRequests,throttleRequests:Boolean(r.maxRequests&&r.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new k,this._modelMatrixInverse=new k,this.setOptions(r)}var e=t.prototype;return e.setOptions=function(n){Object.assign(this.opts,n),Number.isFinite(n.maxZoom)&&(this._maxZoom=Math.floor(n.maxZoom)),Number.isFinite(n.minZoom)&&(this._minZoom=Math.ceil(n.minZoom))},e.finalize=function(){var n=ye(this._cache.values()),s;try{for(n.s();!(s=n.n()).done;){var i=s.value;i.isLoading&&i.abort()}}catch(o){n.e(o)}finally{n.f()}this._cache.clear(),this._tiles=[],this._selectedTiles=null},e.reloadAll=function(){var n=ye(this._cache.keys()),s;try{for(n.s();!(s=n.n()).done;){var i=s.value,o=this._cache.get(i);!this._selectedTiles||!this._selectedTiles.includes(o)?this._cache.delete(i):o.setNeedsReload()}}catch(a){n.e(a)}finally{n.f()}},e.update=function(n){var s=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=i.zRange,a=i.modelMatrix,c=a?new k(a):new k,u=!c.equals(this._modelMatrix);if(!this._viewport||!n.equals(this._viewport)||!we(this._zRange,o)||u){u&&(this._modelMatrixInverse=c.clone().invert(),this._modelMatrix=c),this._viewport=n,this._zRange=o;var l=this.getTileIndices({viewport:n,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:o,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=l.map(function(h){return s._getTile(h,!0)}),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(function(h){return s._getTile(h.index,!0)}));var f=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),f&&this._frameNumber++,this._frameNumber},e.isTileVisible=function(n,s){if(!n.isVisible)return!1;if(s&&this._viewport){var i=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:s}),o=n.bbox,a=ye(i),c;try{for(a.s();!(c=a.n()).done;){var u=xm(c.value,4),l=u[0],f=u[1],h=u[2],d=u[3],p=void 0;if("west"in o)p=o.west<h&&o.east>l&&o.south<d&&o.north>f;else{var g=Math.min(o.top,o.bottom),m=Math.max(o.top,o.bottom);p=o.left<h&&o.right>l&&g<d&&m>f}if(p)return!0}}catch(A){a.e(A)}finally{a.f()}return!1}return!0},e.getTileIndices=function(n){var s=n.viewport,i=n.maxZoom,o=n.minZoom,a=n.zRange,c=n.modelMatrix,u=n.modelMatrixInverse,l=this.opts,f=l.tileSize,h=l.extent,d=l.zoomOffset;return bu({viewport:s,maxZoom:i,minZoom:o,zRange:a,tileSize:f,extent:h,modelMatrix:c,modelMatrixInverse:u,zoomOffset:d})},e.getTileId=function(n){return"".concat(n.x,"-").concat(n.y,"-").concat(n.z)},e.getTileZoom=function(n){return n.z},e.getTileMetadata=function(n){var s=this.opts.tileSize;return{bbox:xu(this._viewport,n.x,n.y,n.z,s)}},e.getParentIndex=function(n){var s=Math.floor(n.x/2),i=Math.floor(n.y/2),o=n.z-1;return{x:s,y:i,z:o}},e.updateTileStates=function(){var n=this.opts.refinementStrategy||cs,s=new Array(this._cache.size),i=0,o=ye(this._cache.values()),a;try{for(o.s();!(a=o.n()).done;){var c=a.value;s[i++]=c.isVisible,c.isSelected=!1,c.isVisible=!1}}catch(g){o.e(g)}finally{o.f()}var u=ye(this._selectedTiles),l;try{for(u.s();!(l=u.n()).done;){var f=l.value;f.isSelected=!0,f.isVisible=!0}}catch(g){u.e(g)}finally{u.f()}(typeof n=="function"?n:Tw[n])(Array.from(this._cache.values())),i=0;var h=ye(this._cache.values()),d;try{for(h.s();!(d=h.n()).done;){var p=d.value;if(s[i++]!==p.isVisible)return!0}}catch(g){h.e(g)}finally{h.f()}return!1},e._pruneRequests=function(){var n=this.opts.maxRequests,s=n===void 0?0:n,i=[],o=0,a=ye(this._cache.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isLoading&&(o++,!u.isSelected&&!u.isVisible&&i.push(u))}}catch(f){a.e(f)}finally{a.f()}for(;s>0&&o>s&&i.length>0;){var l=i.shift();l.abort(),o--}},e._rebuildTree=function(){var n=this._cache,s=ye(n.values()),i;try{for(s.s();!(i=s.n()).done;){var o=i.value;o.parent=null,o.children&&(o.children.length=0)}}catch(f){s.e(f)}finally{s.f()}var a=ye(n.values()),c;try{for(a.s();!(c=a.n()).done;){var u=c.value,l=this._getNearestAncestor(u);u.parent=l,l!=null&&l.children&&l.children.push(u)}}catch(f){a.e(f)}finally{a.f()}},e._resizeCache=function(){var n=this._cache,s=this.opts,i=s.maxCacheSize||(s.maxCacheByteSize?1/0:bw*this.selectedTiles.length),o=s.maxCacheByteSize||1/0,a=n.size>i||this._cacheByteSize>o;if(a){var c=ye(n),u;try{for(c.s();!(u=c.n()).done;){var l=xm(u.value,2),f=l[0],h=l[1];if(!h.isVisible&&!h.isSelected){var d,p;this._cacheByteSize-=s.maxCacheByteSize?h.byteLength:0,n.delete(f),(d=(p=this.opts).onTileUnload)===null||d===void 0||d.call(p,h)}if(n.size<=i&&this._cacheByteSize<=o)break}}catch(g){c.e(g)}finally{c.f()}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort(function(g,m){return g.zoom-m.zoom}),this._dirty=!1)},e._getTile=function(n,s){var i=this.getTileId(n),o=this._cache.get(i),a=!1;return!o&&s?(o=new ns(n),Object.assign(o,this.getTileMetadata(o.index)),Object.assign(o,{id:i,zoom:this.getTileZoom(o.index)}),a=!0,this._cache.set(i,o),this._dirty=!0):o&&o.needsReload&&(a=!0),o&&a&&o.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),o},e._getNearestAncestor=function(n){for(var s=this._minZoom,i=s===void 0?0:s,o=n.index;this.getTileZoom(o)>i;){o=this.getParentIndex(o);var a=this._getTile(o);if(a)return a}return null},Aw(t,[{key:"tiles",get:function(){return this._tiles}},{key:"selectedTiles",get:function(){return this._selectedTiles}},{key:"isLoaded",get:function(){return this._selectedTiles!==null&&this._selectedTiles.every(function(n){return n.isLoaded})}},{key:"needsReload",get:function(){return this._selectedTiles!==null&&this._selectedTiles.some(function(n){return n.needsReload})}}]),t}();function ww(t){var e=ye(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(l){e.e(l)}finally{e.f()}var s=ye(t),i;try{for(s.s();!(i=s.n()).done;){var o=i.value;o.isSelected&&!Cm(o)&&wu(o)}}catch(l){s.e(l)}finally{s.f()}var a=ye(t),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.isVisible=Boolean(u.state&Ji)}}catch(l){a.e(l)}finally{a.f()}}function Sw(t){var e=ye(t),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.state=0}}catch(p){e.e(p)}finally{e.f()}var s=ye(t),i;try{for(s.s();!(i=s.n()).done;){var o=i.value;o.isSelected&&Cm(o)}}catch(p){s.e(p)}finally{s.f()}var a=Array.from(t).sort(function(p,g){return p.zoom-g.zoom}),c=ye(a),u;try{for(c.s();!(u=c.n()).done;){var l=u.value;if(l.isVisible=Boolean(l.state&Ji),l.children&&(l.isVisible||l.state&Sm)){var f=ye(l.children),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;d.state=Sm}}catch(p){f.e(p)}finally{f.f()}}else l.isSelected&&wu(l)}}catch(p){c.e(p)}finally{c.f()}}function Cm(t){for(var e=t;e;){if(e.isLoaded||e.content)return e.state|=Ji,!0;e=e.parent}return!1}function wu(t){var e=ye(t.children),r;try{for(e.s();!(r=e.n()).done;){var n=r.value;n.isLoaded||n.content?n.state|=Ji:wu(n)}}catch(s){e.e(s)}finally{e.f()}}function Xi(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Xi=function(r){return typeof r}:Xi=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Xi(t)}function Mm(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function Wi(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Mm(Object(r),!0).forEach(function(n){Bw(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Mm(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Bw(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Cw(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Mw(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function Mw(t,e){if(t){if(typeof t=="string")return Im(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Im(t,e)}}function Im(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Iw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Om(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Ow(t,e,r){return e&&Om(t.prototype,e),r&&Om(t,r),t}function Rw(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Su(t,e)}function Su(t,e){return Su=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},Su(t,e)}function Lw(t){var e=Nw();return function(){var n=Ki(t),s;if(e){var i=Ki(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return Pw(this,s)}}function Pw(t,e){if(e&&(Xi(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Fw(t)}function Fw(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Nw(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ki(t){return Ki=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ki(t)}var Dw={TilesetClass:us,data:{type:"data",value:[]},dataComparator:Yt.equal,renderSubLayers:{type:"function",value:function(e){return new Rm.GeoJsonLayer(e)}},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e){return console.error(e)}},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:cs,zRange:null,maxRequests:6,zoomOffset:0},Bt=function(t){Rw(r,t);var e=Lw(r);function r(){var s;Iw(this,r);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return s=e.call.apply(e,[this].concat(o)),s.state=void 0,s}var n=r.prototype;return n.initializeState=function(){this.state={tileset:null,isLoaded:!1}},n.finalizeState=function(){var i,o;(i=this.state)===null||i===void 0||(o=i.tileset)===null||o===void 0||o.finalize()},n.shouldUpdateState=function(i){var o=i.changeFlags;return o.somethingChanged},n.updateState=function(i){var o=i.changeFlags,a=this.state.tileset,c=o.propsOrDataChanged||o.updateTriggersChanged,u=o.dataChanged||o.updateTriggersChanged&&(o.updateTriggersChanged.all||o.updateTriggersChanged.getTileData);a?c&&(a.setOptions(this._getTilesetOptions()),u?a.reloadAll():a.tiles.forEach(function(l){l.layers=null})):(a=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:a})),this._updateTileset()},n._getTilesetOptions=function(){var i=this.props,o=i.tileSize,a=i.maxCacheSize,c=i.maxCacheByteSize,u=i.refinementStrategy,l=i.extent,f=i.maxZoom,h=i.minZoom,d=i.maxRequests,p=i.zoomOffset;return{maxCacheSize:a,maxCacheByteSize:c,maxZoom:f,minZoom:h,tileSize:o,refinementStrategy:u,extent:l,maxRequests:d,zoomOffset:p,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}},n._updateTileset=function(){var i=this.state.tileset,o=this.props,a=o.zRange,c=o.modelMatrix,u=i.update(this.context.viewport,{zRange:a,modelMatrix:c}),l=i.isLoaded,f=this.state.isLoaded!==l,h=this.state.frameNumber!==u;l&&(f||h)&&this._onViewportLoad(),h&&this.setState({frameNumber:u}),this.state.isLoaded=l},n._onViewportLoad=function(){var i=this.state.tileset,o=this.props.onViewportLoad;o&&o(i.selectedTiles)},n._onTileLoad=function(i){this.props.onTileLoad(i),i.layers=null,this.setNeedsUpdate()},n._onTileError=function(i,o){this.props.onTileError(i),o.layers=null,this.setNeedsUpdate()},n._onTileUnload=function(i){this.props.onTileUnload(i)},n.getTileData=function(i){var o=this.props,a=o.data,c=o.getTileData,u=o.fetch,l=i.signal;return i.url=typeof a=="string"||Array.isArray(a)?pt(a,i):null,c?c(i):u&&i.url?u(i.url,{propName:"data",layer:this,signal:l}):null},n.renderSubLayers=function(i){return this.props.renderSubLayers(i)},n.getSubLayerPropsByTile=function(i){return null},n.getPickingInfo=function(i){var o=i.info,a=i.sourceLayer,c=a.props.tile;return o.picked&&(o.tile=c),o.sourceTile=c,o},n._updateAutoHighlight=function(i){var o=i.sourceTile;if(o&&o.layers){var a=Cw(o.layers),c;try{for(a.s();!(c=a.n()).done;){var u=c.value;u.updateAutoHighlight(i)}}catch(l){a.e(l)}finally{a.f()}}},n.renderLayers=function(){var i=this;return this.state.tileset.tiles.map(function(o){var a=i.getSubLayerPropsByTile(o);if(!(!o.isLoaded&&!o.content))if(o.layers)a&&o.layers[0]&&Object.keys(a).some(function(u){return o.layers[0].props[u]!==a[u]})&&(o.layers=o.layers.map(function(u){return u.clone(a)}));else{var c=i.renderSubLayers(Wi(Wi(Wi({},i.props),i.getSubLayerProps({id:o.id,updateTriggers:i.props.updateTriggers})),{},{data:o.content,_offset:0,tile:o}));o.layers=(0,Yi._flatten)(c,Boolean).map(function(u){return u.clone(Wi({tile:o},a))})}return o.layers})},n.filterSubLayer=function(i){var o=i.layer,a=i.cullRect,c=o.props.tile;return this.state.tileset.isTileVisible(c,a)},Ow(r,[{key:"isLoaded",get:function(){var i,o,a=(i=this.state)===null||i===void 0||(o=i.tileset)===null||o===void 0?void 0:o.selectedTiles;return a?a.every(function(c){return c.isLoaded&&c.layers&&c.layers.every(function(u){return u.isLoaded})}):!1}}]),r}(Yi.CompositeLayer);Bt.defaultProps=Dw;Bt.layerName="TileLayer";var Fm=U(Ye());function Zi(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Zi=function(r){return typeof r}:Zi=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Zi(t)}function Lm(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function Pm(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Lm(Object(r),!0).forEach(function(n){Uw(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Lm(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Uw(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Gw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nn(t,e,r){return typeof Reflect<"u"&&Reflect.get?nn=Reflect.get:nn=function(s,i,o){var a=kw(s,i);if(a){var c=Object.getOwnPropertyDescriptor(a,i);return c.get?c.get.call(o):c.value}},nn(t,e,r||t)}function kw(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Zt(t),t!==null););return t}function Hw(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Bu(t,e)}function Bu(t,e){return Bu=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},Bu(t,e)}function Vw(t){var e=qw();return function(){var n=Zt(t),s;if(e){var i=Zt(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return zw(this,s)}}function zw(t,e){if(e&&(Zi(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jw(t)}function jw(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function qw(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zt(t){return Zt=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Zt(t)}var Jw={fadeTrail:!0,trailLength:{type:"number",value:120,min:0},currentTime:{type:"number",value:0,min:0},getTimestamps:{type:"accessor",value:function(e){return e.timestamps}}},Qi=function(t){Hw(r,t);var e=Vw(r);function r(){return Gw(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var i=nn(Zt(r.prototype),"getShaders",this).call(this);return i.inject={"vs:#decl":`uniform float trailLength;
24
24
  in float instanceTimestamps;
25
25
  in float instanceNextTimestamps;
26
26
  out float vTime;
@@ -35,16 +35,16 @@ in float vTime;
35
35
  `,"fs:DECKGL_FILTER_COLOR":`if(fadeTrail) {
36
36
  color.a *= 1.0 - (currentTime - vTime) / trailLength;
37
37
  }
38
- `},o},n.initializeState=function(){Gr(Gt(r.prototype),"initializeState",this).call(this);var o=this.getAttributeManager();o.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})},n.draw=function(o){var s=this.props,a=s.fadeTrail,c=s.trailLength,u=s.currentTime;o.uniforms=fp(fp({},o.uniforms),{},{fadeTrail:a,trailLength:c,currentTime:u}),Gr(Gt(r.prototype),"draw",this).call(this,o)},r}(hp.PathLayer);Mo.layerName="TripsLayer";Mo.defaultProps=vE;var Sp=P(wo()),Bp=P(ze());var Fe=P(wo()),Lo=P(ze()),jn=P(Ve());var Vn=P(wo());function mp(t,e){return bE(t)||TE(t,e)||yp(t,e)||xE()}function xE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
39
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function bE(t){if(Array.isArray(t))return t}function gp(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=yp(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function yp(t,e){if(t){if(typeof t=="string")return pp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return pp(t,e)}}function pp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Io(t,e){e=e===void 0?t[0][0]:e;var r=gp(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value,o=i[0]-e;o>180?i[0]-=360:o<-180&&(i[0]+=360)}}catch(s){r.e(s)}finally{r.f()}}function EE(t,e,r){var n=(0,Vn.cellToLatLng)(t),i=mp(n,2),o=i[0],s=i[1],a=e.length;Io(e,s);for(var c=e[0]===e[a-1]?a-1:a,u=0;u<c;u++)e[u][0]=Rt(s,e[u][0],r),e[u][1]=Rt(o,e[u][1],r)}function Ap(t,e,r){var n=t(e,r),i=(0,Vn.cellToLatLng)(n),o=mp(i,2),s=o[0],a=o[1];return[a,s]}function Hc(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=(0,Vn.cellToBoundary)(t,!0);return e!==1?EE(t,r,e):Io(r),r}function _p(t){var e=new Float64Array(t.length*2),r=0,n=gp(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;e[r++]=o[0],e[r++]=o[1]}}catch(s){n.e(s)}finally{n.f()}return e}function vp(t,e){return CE(t)||BE(t,e)||bp(t,e)||SE()}function SE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
41
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function BE(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function CE(t){if(Array.isArray(t))return t}function ME(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=bp(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
42
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function bp(t,e){if(t){if(typeof t=="string")return xp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xp(t,e)}}function xp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function wE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function IE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Vc(t,e)}function Vc(t,e){return Vc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Vc(t,e)}function OE(t){var e=PE();return function(){var n=Oo(t),i;if(e){var o=Oo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return RE(this,i)}}function RE(t,e){if(e&&(zn(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return LE(t)}function LE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function PE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Oo(t){return Oo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Oo(t)}function Tp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Ro(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Tp(Object(r),!0).forEach(function(n){FE(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Tp(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function FE(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function zn(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?zn=function(r){return typeof r}:zn=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},zn(t)}var DE=10;function NE(t,e){var r;return t==null?r=e:zn(t)==="object"?r=Ro(Ro({},t),{},{coverage:e}):r={getHexagon:t,coverage:e},r}var UE=Ro(Ro({},jn.PolygonLayer.defaultProps),{},{highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:function(e){return e.hexagon}},extruded:!0}),cr=function(t){IE(r,t);var e=OE(r);function r(){var i;wE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){r._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}},n.shouldUpdateState=function(o){var s=o.changeFlags;return this._shouldUseHighPrecision()?s.propsOrDataChanged:s.somethingChanged},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(s.highPrecision!==!0&&(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagon)){var c=this._calculateH3DataProps();this.setState(c)}this._updateVertices(this.context.viewport)},n._calculateH3DataProps=function(){var o=-1,s=!1,a=!1,c=(0,Lo.createIterable)(this.props.data),u=c.iterable,l=c.objectInfo,f=ME(u),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;l.index++;var p=this.props.getHexagon(d,l),g=(0,Fe.getResolution)(p);if(o<0){if(o=g,!this.props.highPrecision)break}else if(o!==g){a=!0;break}if((0,Fe.isPentagon)(p)){s=!0;break}}}catch(m){f.e(m)}finally{f.f()}return{resolution:o,edgeLengthKM:o>=0?(0,Fe.getHexagonEdgeLengthAvg)(o,"km"):0,hasMultipleRes:a,hasPentagon:s}},n._shouldUseHighPrecision=function(){if(this.props.highPrecision==="auto"){var o=this.state,s=o.resolution,a=o.hasPentagon,c=o.hasMultipleRes,u=this.context.viewport;return Boolean(u?.resolution)||c||a||s>=0&&s<=5}return this.props.highPrecision},n._updateVertices=function(o){if(!this._shouldUseHighPrecision()){var s=this.state,a=s.resolution,c=s.edgeLengthKM,u=s.centerHex;if(!(a<0)){var l=this.props.centerHexagon||(0,Fe.latLngToCell)(o.latitude,o.longitude,a);if(u!==l){if(u)try{var f=(0,Fe.gridDistance)(u,l);if(f*c<DE)return}catch{}var h=o.distanceScales.unitsPerMeter,d=Hc(l),p=(0,Fe.cellToLatLng)(l),g=vp(p,2),m=g[0],A=g[1],_=o.projectFlat([A,m]),v=vp(_,2),x=v[0],B=v[1];d=d.map(function(S){var C=o.projectFlat(S);return[(C[0]-x)/h[0],(C[1]-B)/h[1]]}),this.setState({centerHex:l,vertices:d})}}}},n.renderLayers=function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()},n._getForwardProps=function(){var o=this.props,s=o.elevationScale,a=o.material,c=o.coverage,u=o.extruded,l=o.wireframe,f=o.stroked,h=o.filled,d=o.lineWidthUnits,p=o.lineWidthScale,g=o.lineWidthMinPixels,m=o.lineWidthMaxPixels,A=o.getFillColor,_=o.getElevation,v=o.getLineColor,x=o.getLineWidth,B=o.transitions,S=o.updateTriggers;return{elevationScale:s,extruded:u,coverage:c,wireframe:l,stroked:f,filled:h,lineWidthUnits:d,lineWidthScale:p,lineWidthMinPixels:g,lineWidthMaxPixels:m,material:a,getElevation:_,getFillColor:A,getLineColor:v,getLineWidth:x,transitions:B,updateTriggers:{getFillColor:S.getFillColor,getElevation:S.getElevation,getLineColor:S.getLineColor,getLineWidth:S.getLineWidth}}},n._renderPolygonLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,u=o.coverage,l=this.getSubLayerClass("hexagon-cell-hifi",jn.PolygonLayer),f=this._getForwardProps();return f.updateTriggers.getPolygon=NE(c.getHexagon,u),new l(f,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:f.updateTriggers}),{data:s,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(d,p){var g=a(d,p);return _p(Hc(g,u))}})},n._renderColumnLayer=function(){var o=this.props,s=o.data,a=o.getHexagon,c=o.updateTriggers,u=this.getSubLayerClass("hexagon-cell",jn.ColumnLayer),l=this._getForwardProps();return l.updateTriggers.getPosition=c.getHexagon,new u(l,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:l.updateTriggers}),{data:s,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Ap.bind(null,a)})},r}(Lo.CompositeLayer);cr.defaultProps=UE;cr.layerName="H3HexagonLayer";cr._checkH3Lib=function(){};function Po(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Po=function(r){return typeof r}:Po=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Po(t)}function zc(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=GE(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
43
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function GE(t,e){if(t){if(typeof t=="string")return Ep(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ep(t,e)}}function Ep(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function HE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function VE(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&jc(t,e)}function jc(t,e){return jc=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},jc(t,e)}function zE(t){var e=JE();return function(){var n=Fo(t),i;if(e){var o=Fo(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return jE(this,i)}}function jE(t,e){if(e&&(Po(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return kE(t)}function kE(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function JE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Fo(t){return Fo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Fo(t)}var qE={getHexagons:{type:"accessor",value:function(e){return e.hexagons}}},Do=function(t){VE(r,t);var e=zE(r);function r(){var i;HE(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){cr._checkH3Lib()},n.updateState=function(o){var s=o.props,a=o.changeFlags;if(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagons){var c=s.data,u=s.getHexagons,l=[],f=(0,Bp.createIterable)(c),h=f.iterable,d=f.objectInfo,p=zc(h),g;try{for(p.s();!(g=p.n()).done;){var m=g.value;d.index++;var A=u(m,d),_=(0,Sp.cellsToMultiPolygon)(A,!0),v=zc(_),x;try{for(v.s();!(x=v.n()).done;){var B=x.value,S=zc(B),C;try{for(S.s();!(C=S.n()).done;){var E=C.value;Io(E)}}catch(b){S.e(b)}finally{S.f()}l.push(this.getSubLayerRow({polygon:B},m,d.index))}}catch(b){v.e(b)}finally{v.f()}}}catch(b){p.e(b)}finally{p.f()}this.setState({polygons:l})}},n.indexToBounds=function(){var o=this.props,s=o.getElevation,a=o.getFillColor,c=o.getLineColor,u=o.getLineWidth;return{data:this.state.polygons,getPolygon:function(f){return f.polygon},getElevation:this.getSubLayerAccessor(s),getFillColor:this.getSubLayerAccessor(a),getLineColor:this.getSubLayerAccessor(c),getLineWidth:this.getSubLayerAccessor(u)}},r}(Le);Do.layerName="H3ClusterLayer";Do.defaultProps=qE;var Ho=P(_t(),1),ce=P(_t(),1),sm=P(_t(),1);var ne=t=>`${t}`;function st(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}var kc={number:{type:"number",validate(t,e){return Number.isFinite(t)&&typeof e=="object"&&(e.max===void 0||t<=e.max)&&(e.min===void 0||t>=e.min)}},array:{type:"array",validate(t,e){return Array.isArray(t)||ArrayBuffer.isView(t)}}};function wp(t){let e={};for(let[r,n]of Object.entries(t))e[r]=WE(n);return e}function Ip(t,e,r){let n={};for(let[i,o]of Object.entries(e))t&&i in t&&!o.private?(o.validate&&st(o.validate(t[i],o),`${r}: invalid ${i}`),n[i]=t[i]):n[i]=o.value;return n}function WE(t){let e=Mp(t);if(e!=="object")return{value:t,...kc[e],type:e};if(typeof t=="object")return t?t.type!==void 0?{...t,...kc[t.type],type:t.type}:t.value===void 0?{type:"object",value:t}:(e=Mp(t.value),{...t,...kc[e],type:e}):{type:"object",value:null};throw new Error("props")}function Mp(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}var Op=ne`\
38
+ `},i},n.initializeState=function(){nn(Zt(r.prototype),"initializeState",this).call(this);var i=this.getAttributeManager();i.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})},n.draw=function(i){var o=this.props,a=o.fadeTrail,c=o.trailLength,u=o.currentTime;i.uniforms=Pm(Pm({},i.uniforms),{},{fadeTrail:a,trailLength:c,currentTime:u}),nn(Zt(r.prototype),"draw",this).call(this,i)},r}(Fm.PathLayer);Qi.layerName="TripsLayer";Qi.defaultProps=Jw;var Xm=U($i()),Km=U(Ze());var He=U($i()),no=U(Ze()),hs=U(Ye());var ls=U($i());function Um(t,e){return Kw(t)||Xw(t,e)||km(t,e)||Ww()}function Ww(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
39
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xw(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function Kw(t){if(Array.isArray(t))return t}function Gm(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=km(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
40
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function km(t,e){if(t){if(typeof t=="string")return Dm(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Dm(t,e)}}function Dm(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function eo(t,e){e=e===void 0?t[0][0]:e;var r=Gm(t),n;try{for(r.s();!(n=r.n()).done;){var s=n.value,i=s[0]-e;i>180?s[0]-=360:i<-180&&(s[0]+=360)}}catch(o){r.e(o)}finally{r.f()}}function Yw(t,e,r){var n=(0,ls.cellToLatLng)(t),s=Um(n,2),i=s[0],o=s[1],a=e.length;eo(e,o);for(var c=e[0]===e[a-1]?a-1:a,u=0;u<c;u++)e[u][0]=jt(o,e[u][0],r),e[u][1]=jt(i,e[u][1],r)}function Hm(t,e,r){var n=t(e,r),s=(0,ls.cellToLatLng)(n),i=Um(s,2),o=i[0],a=i[1];return[a,o]}function Cu(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=(0,ls.cellToBoundary)(t,!0);return e!==1?Yw(t,r,e):eo(r),r}function Vm(t){var e=new Float64Array(t.length*2),r=0,n=Gm(t),s;try{for(n.s();!(s=n.n()).done;){var i=s.value;e[r++]=i[0],e[r++]=i[1]}}catch(o){n.e(o)}finally{n.f()}return e}function zm(t,e){return $w(t)||Qw(t,e)||Jm(t,e)||Zw()}function Zw(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
41
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qw(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function $w(t){if(Array.isArray(t))return t}function eS(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Jm(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
42
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function Jm(t,e){if(t){if(typeof t=="string")return jm(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jm(t,e)}}function jm(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function tS(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function rS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Mu(t,e)}function Mu(t,e){return Mu=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},Mu(t,e)}function nS(t){var e=oS();return function(){var n=to(t),s;if(e){var i=to(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return sS(this,s)}}function sS(t,e){if(e&&(fs(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return iS(t)}function iS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function oS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function to(t){return to=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},to(t)}function qm(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function ro(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?qm(Object(r),!0).forEach(function(n){aS(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):qm(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function aS(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function fs(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?fs=function(r){return typeof r}:fs=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},fs(t)}var cS=10;function uS(t,e){var r;return t==null?r=e:fs(t)==="object"?r=ro(ro({},t),{},{coverage:e}):r={getHexagon:t,coverage:e},r}var lS=ro(ro({},hs.PolygonLayer.defaultProps),{},{highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:function(e){return e.hexagon}},extruded:!0}),Er=function(t){rS(r,t);var e=nS(r);function r(){var s;tS(this,r);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return s=e.call.apply(e,[this].concat(o)),s.state=void 0,s}var n=r.prototype;return n.initializeState=function(){r._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}},n.shouldUpdateState=function(i){var o=i.changeFlags;return this._shouldUseHighPrecision()?o.propsOrDataChanged:o.somethingChanged},n.updateState=function(i){var o=i.props,a=i.changeFlags;if(o.highPrecision!==!0&&(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagon)){var c=this._calculateH3DataProps();this.setState(c)}this._updateVertices(this.context.viewport)},n._calculateH3DataProps=function(){var i=-1,o=!1,a=!1,c=(0,no.createIterable)(this.props.data),u=c.iterable,l=c.objectInfo,f=eS(u),h;try{for(f.s();!(h=f.n()).done;){var d=h.value;l.index++;var p=this.props.getHexagon(d,l),g=(0,He.getResolution)(p);if(i<0){if(i=g,!this.props.highPrecision)break}else if(i!==g){a=!0;break}if((0,He.isPentagon)(p)){o=!0;break}}}catch(m){f.e(m)}finally{f.f()}return{resolution:i,edgeLengthKM:i>=0?(0,He.getHexagonEdgeLengthAvg)(i,"km"):0,hasMultipleRes:a,hasPentagon:o}},n._shouldUseHighPrecision=function(){if(this.props.highPrecision==="auto"){var i=this.state,o=i.resolution,a=i.hasPentagon,c=i.hasMultipleRes,u=this.context.viewport;return Boolean(u?.resolution)||c||a||o>=0&&o<=5}return this.props.highPrecision},n._updateVertices=function(i){if(!this._shouldUseHighPrecision()){var o=this.state,a=o.resolution,c=o.edgeLengthKM,u=o.centerHex;if(!(a<0)){var l=this.props.centerHexagon||(0,He.latLngToCell)(i.latitude,i.longitude,a);if(u!==l){if(u)try{var f=(0,He.gridDistance)(u,l);if(f*c<cS)return}catch{}var h=i.distanceScales.unitsPerMeter,d=Cu(l),p=(0,He.cellToLatLng)(l),g=zm(p,2),m=g[0],A=g[1],v=i.projectFlat([A,m]),x=zm(v,2),b=x[0],M=x[1];d=d.map(function(C){var I=i.projectFlat(C);return[(I[0]-b)/h[0],(I[1]-M)/h[1]]}),this.setState({centerHex:l,vertices:d})}}}},n.renderLayers=function(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()},n._getForwardProps=function(){var i=this.props,o=i.elevationScale,a=i.material,c=i.coverage,u=i.extruded,l=i.wireframe,f=i.stroked,h=i.filled,d=i.lineWidthUnits,p=i.lineWidthScale,g=i.lineWidthMinPixels,m=i.lineWidthMaxPixels,A=i.getFillColor,v=i.getElevation,x=i.getLineColor,b=i.getLineWidth,M=i.transitions,C=i.updateTriggers;return{elevationScale:o,extruded:u,coverage:c,wireframe:l,stroked:f,filled:h,lineWidthUnits:d,lineWidthScale:p,lineWidthMinPixels:g,lineWidthMaxPixels:m,material:a,getElevation:v,getFillColor:A,getLineColor:x,getLineWidth:b,transitions:M,updateTriggers:{getFillColor:C.getFillColor,getElevation:C.getElevation,getLineColor:C.getLineColor,getLineWidth:C.getLineWidth}}},n._renderPolygonLayer=function(){var i=this.props,o=i.data,a=i.getHexagon,c=i.updateTriggers,u=i.coverage,l=this.getSubLayerClass("hexagon-cell-hifi",hs.PolygonLayer),f=this._getForwardProps();return f.updateTriggers.getPolygon=uS(c.getHexagon,u),new l(f,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:f.updateTriggers}),{data:o,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:function(d,p){var g=a(d,p);return Vm(Cu(g,u))}})},n._renderColumnLayer=function(){var i=this.props,o=i.data,a=i.getHexagon,c=i.updateTriggers,u=this.getSubLayerClass("hexagon-cell",hs.ColumnLayer),l=this._getForwardProps();return l.updateTriggers.getPosition=c.getHexagon,new u(l,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:l.updateTriggers}),{data:o,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Hm.bind(null,a)})},r}(no.CompositeLayer);Er.defaultProps=lS;Er.layerName="H3HexagonLayer";Er._checkH3Lib=function(){};function so(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?so=function(r){return typeof r}:so=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},so(t)}function Iu(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=fS(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
43
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function fS(t,e){if(t){if(typeof t=="string")return Wm(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wm(t,e)}}function Wm(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function hS(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function dS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ou(t,e)}function Ou(t,e){return Ou=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},Ou(t,e)}function pS(t){var e=yS();return function(){var n=io(t),s;if(e){var i=io(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return mS(this,s)}}function mS(t,e){if(e&&(so(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return gS(t)}function gS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function yS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function io(t){return io=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},io(t)}var _S={getHexagons:{type:"accessor",value:function(e){return e.hexagons}}},oo=function(t){dS(r,t);var e=pS(r);function r(){var s;hS(this,r);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return s=e.call.apply(e,[this].concat(o)),s.state=void 0,s}var n=r.prototype;return n.initializeState=function(){Er._checkH3Lib()},n.updateState=function(i){var o=i.props,a=i.changeFlags;if(a.dataChanged||a.updateTriggersChanged&&a.updateTriggersChanged.getHexagons){var c=o.data,u=o.getHexagons,l=[],f=(0,Km.createIterable)(c),h=f.iterable,d=f.objectInfo,p=Iu(h),g;try{for(p.s();!(g=p.n()).done;){var m=g.value;d.index++;var A=u(m,d),v=(0,Xm.cellsToMultiPolygon)(A,!0),x=Iu(v),b;try{for(x.s();!(b=x.n()).done;){var M=b.value,C=Iu(M),I;try{for(C.s();!(I=C.n()).done;){var B=I.value;eo(B)}}catch(S){C.e(S)}finally{C.f()}l.push(this.getSubLayerRow({polygon:M},m,d.index))}}catch(S){x.e(S)}finally{x.f()}}}catch(S){p.e(S)}finally{p.f()}this.setState({polygons:l})}},n.indexToBounds=function(){var i=this.props,o=i.getElevation,a=i.getFillColor,c=i.getLineColor,u=i.getLineWidth;return{data:this.state.polygons,getPolygon:function(f){return f.polygon},getElevation:this.getSubLayerAccessor(o),getFillColor:this.getSubLayerAccessor(a),getLineColor:this.getSubLayerAccessor(c),getLineWidth:this.getSubLayerAccessor(u)}},r}(Ge);oo.layerName="H3ClusterLayer";oo.defaultProps=_S;var nr=U(Ct(),1),te=U(Ct(),1),Rg=U(Ct(),1);var ue=t=>`${t}`;function mt(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}var Ru={number:{type:"number",validate(t,e){return Number.isFinite(t)&&typeof e=="object"&&(e.max===void 0||t<=e.max)&&(e.min===void 0||t>=e.min)}},array:{type:"array",validate(t,e){return Array.isArray(t)||ArrayBuffer.isView(t)}}};function Qm(t){let e={};for(let[r,n]of Object.entries(t))e[r]=AS(n);return e}function $m(t,e,r){let n={};for(let[s,i]of Object.entries(e))t&&s in t&&!i.private?(i.validate&&mt(i.validate(t[s],i),`${r}: invalid ${s}`),n[s]=t[s]):n[s]=i.value;return n}function AS(t){let e=Zm(t);if(e!=="object")return{value:t,...Ru[e],type:e};if(typeof t=="object")return t?t.type!==void 0?{...t,...Ru[t.type],type:t.type}:t.value===void 0?{type:"object",value:t}:(e=Zm(t.value),{...t,...Ru[e],type:e}):{type:"object",value:null};throw new Error("props")}function Zm(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}var eg=ue`\
44
44
  #ifdef MODULE_LOGDEPTH
45
45
  logdepth_adjustPosition(gl_Position);
46
46
  #endif
47
- `,Rp=ne`\
47
+ `,tg=ue`\
48
48
  #ifdef MODULE_MATERIAL
49
49
  gl_FragColor = material_filterColor(gl_FragColor);
50
50
  #endif
@@ -65,25 +65,25 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
65
65
  #ifdef MODULE_LOGDEPTH
66
66
  logdepth_setFragDepth();
67
67
  #endif
68
- `;var XE={vertex:Op,fragment:Rp},Lp=/void\s+main\s*\([^)]*\)\s*\{\n?/,Pp=/}\n?[^{}]*$/,Jc=[],kn="__LUMA_INJECT_DECLARATIONS__";function Fp(t){let e={vertex:{},fragment:{}};for(let r in t){let n=t[r],i=KE(r);typeof n=="string"&&(n={order:0,injection:n}),e[i][r]=n}return e}function KE(t){let e=t.slice(0,2);switch(e){case"vs":return"vertex";case"fs":return"fragment";default:throw new Error(e)}}function Jn(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=e==="vertex";for(let o in r){let s=r[o];s.sort((c,u)=>c.order-u.order),Jc.length=s.length;for(let c=0,u=s.length;c<u;++c)Jc[c]=s[c].injection;let a=`${Jc.join(`
68
+ `;var vS={vertex:eg,fragment:tg},rg=/void\s+main\s*\([^)]*\)\s*\{\n?/,ng=/}\n?[^{}]*$/,Lu=[],ds="__LUMA_INJECT_DECLARATIONS__";function sg(t){let e={vertex:{},fragment:{}};for(let r in t){let n=t[r],s=xS(r);typeof n=="string"&&(n={order:0,injection:n}),e[s][r]=n}return e}function xS(t){let e=t.slice(0,2);switch(e){case"vs":return"vertex";case"fs":return"fragment";default:throw new Error(e)}}function ps(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=e==="vertex";for(let i in r){let o=r[i];o.sort((c,u)=>c.order-u.order),Lu.length=o.length;for(let c=0,u=o.length;c<u;++c)Lu[c]=o[c].injection;let a=`${Lu.join(`
69
69
  `)}
70
- `;switch(o){case"vs:#decl":i&&(t=t.replace(kn,a));break;case"vs:#main-start":i&&(t=t.replace(Lp,c=>c+a));break;case"vs:#main-end":i&&(t=t.replace(Pp,c=>a+c));break;case"fs:#decl":i||(t=t.replace(kn,a));break;case"fs:#main-start":i||(t=t.replace(Lp,c=>c+a));break;case"fs:#main-end":i||(t=t.replace(Pp,c=>a+c));break;default:t=t.replace(o,c=>c+a)}}return t=t.replace(kn,""),n&&(t=t.replace(/\}\s*$/,o=>o+XE[e])),t}var YE=1,qe=class{static instantiateModules(e){return e.map(r=>{if(r instanceof qe)return r;st(typeof r!="string",`Shader module use by name is deprecated. Import shader module '${JSON.stringify(r)}' and use it directly.`),r.name||(console.warn("shader module has no name"),r.name=`shader-module-${YE++}`);let n=new qe(r);return n.dependencies=qe.instantiateModules(r.dependencies||[]),n})}constructor(e){this.name=void 0,this.vs=void 0,this.fs=void 0,this.getModuleUniforms=void 0,this.dependencies=void 0,this.deprecations=void 0,this.defines=void 0,this.injections=void 0,this.uniforms={},this.uniformTypes={};let{name:r,vs:n,fs:i,dependencies:o=[],uniformPropTypes:s={},getUniforms:a,deprecations:c=[],defines:u={},inject:l={}}=e;st(typeof r=="string"),this.name=r,this.vs=n,this.fs=i,this.getModuleUniforms=a,this.dependencies=qe.instantiateModules(o),this.deprecations=this._parseDeprecationDefinitions(c),this.defines=u,this.injections=Fp(l),s&&(this.uniforms=wp(s))}getModuleSource(e){let r;switch(e){case"vertex":r=this.vs||"";break;case"fragment":r=this.fs||"";break;default:st(!1)}let n=this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_");return`// ----- MODULE ${this.name} ---------------
70
+ `;switch(i){case"vs:#decl":s&&(t=t.replace(ds,a));break;case"vs:#main-start":s&&(t=t.replace(rg,c=>c+a));break;case"vs:#main-end":s&&(t=t.replace(ng,c=>a+c));break;case"fs:#decl":s||(t=t.replace(ds,a));break;case"fs:#main-start":s||(t=t.replace(rg,c=>c+a));break;case"fs:#main-end":s||(t=t.replace(ng,c=>a+c));break;default:t=t.replace(i,c=>c+a)}}return t=t.replace(ds,""),n&&(t=t.replace(/\}\s*$/,i=>i+vS[e])),t}var bS=1,tt=class{static instantiateModules(e){return e.map(r=>{if(r instanceof tt)return r;mt(typeof r!="string",`Shader module use by name is deprecated. Import shader module '${JSON.stringify(r)}' and use it directly.`),r.name||(console.warn("shader module has no name"),r.name=`shader-module-${bS++}`);let n=new tt(r);return n.dependencies=tt.instantiateModules(r.dependencies||[]),n})}constructor(e){this.name=void 0,this.vs=void 0,this.fs=void 0,this.getModuleUniforms=void 0,this.dependencies=void 0,this.deprecations=void 0,this.defines=void 0,this.injections=void 0,this.uniforms={},this.uniformTypes={};let{name:r,vs:n,fs:s,dependencies:i=[],uniformPropTypes:o={},getUniforms:a,deprecations:c=[],defines:u={},inject:l={}}=e;mt(typeof r=="string"),this.name=r,this.vs=n,this.fs=s,this.getModuleUniforms=a,this.dependencies=tt.instantiateModules(i),this.deprecations=this._parseDeprecationDefinitions(c),this.defines=u,this.injections=sg(l),o&&(this.uniforms=Qm(o))}getModuleSource(e){let r;switch(e){case"vertex":r=this.vs||"";break;case"fragment":r=this.fs||"";break;default:mt(!1)}let n=this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_");return`// ----- MODULE ${this.name} ---------------
71
71
 
72
72
  #define MODULE_${n}
73
73
  ${r}
74
74
 
75
- `}getUniforms(e,r){return this.getModuleUniforms?this.getModuleUniforms(e,r):Ip(e,this.uniforms,this.name)}getDefines(){return this.defines}checkDeprecations(e,r){this.deprecations.forEach(n=>{var i;(i=n.regex)!==null&&i!==void 0&&i.test(e)&&(n.deprecated?r.deprecated(n.old,n.new)():r.removed(n.old,n.new)())})}_parseDeprecationDefinitions(e){return e.forEach(r=>{switch(r.type){case"function":r.regex=new RegExp(`\\b${r.old}\\(`);break;default:r.regex=new RegExp(`${r.type} ${r.old};`)}}),e}_defaultGetUniforms(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},n=this.uniforms;for(let i in n){let o=n[i];i in e&&!o.private?(o.validate&&st(o.validate(e[i],o),`${this.name}: invalid ${i}`),r[i]=e[i]):r[i]=o.value}return r}};function qn(t){let e=qe.instantiateModules(t);return ZE(e)}function ZE(t){let e={},r={};return Dp({modules:t,level:0,moduleMap:e,moduleDepth:r}),Object.keys(r).sort((n,i)=>r[i]-r[n]).map(n=>e[n])}function Dp(t){let{modules:e,level:r,moduleMap:n,moduleDepth:i}=t;if(r>=5)throw new Error("Possible loop in shader dependency graph");for(let o of e)n[o.name]=o,(i[o.name]===void 0||i[o.name]<r)&&(i[o.name]=r);for(let o of e)o.dependencies&&Dp({modules:o.dependencies,level:r+1,moduleMap:n,moduleDepth:i})}function Np(t){switch(t?.gpu.toLowerCase()){case"apple":return ne`\
75
+ `}getUniforms(e,r){return this.getModuleUniforms?this.getModuleUniforms(e,r):$m(e,this.uniforms,this.name)}getDefines(){return this.defines}checkDeprecations(e,r){this.deprecations.forEach(n=>{var s;(s=n.regex)!==null&&s!==void 0&&s.test(e)&&(n.deprecated?r.deprecated(n.old,n.new)():r.removed(n.old,n.new)())})}_parseDeprecationDefinitions(e){return e.forEach(r=>{switch(r.type){case"function":r.regex=new RegExp(`\\b${r.old}\\(`);break;default:r.regex=new RegExp(`${r.type} ${r.old};`)}}),e}_defaultGetUniforms(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},n=this.uniforms;for(let s in n){let i=n[s];s in e&&!i.private?(i.validate&&mt(i.validate(e[s],i),`${this.name}: invalid ${s}`),r[s]=e[s]):r[s]=i.value}return r}};function ms(t){let e=tt.instantiateModules(t);return TS(e)}function TS(t){let e={},r={};return ig({modules:t,level:0,moduleMap:e,moduleDepth:r}),Object.keys(r).sort((n,s)=>r[s]-r[n]).map(n=>e[n])}function ig(t){let{modules:e,level:r,moduleMap:n,moduleDepth:s}=t;if(r>=5)throw new Error("Possible loop in shader dependency graph");for(let i of e)n[i.name]=i,(s[i.name]===void 0||s[i.name]<r)&&(s[i.name]=r);for(let i of e)i.dependencies&&ig({modules:i.dependencies,level:r+1,moduleMap:n,moduleDepth:s})}function og(t){switch(t?.gpu.toLowerCase()){case"apple":return ue`\
76
76
  #define APPLE_GPU
77
77
  // Apple optimizes away the calculation necessary for emulated fp64
78
78
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
79
79
  #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
80
80
  // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
81
81
  #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
82
- `;case"nvidia":return ne`\
82
+ `;case"nvidia":return ue`\
83
83
  #define NVIDIA_GPU
84
84
  // Nvidia optimizes away the calculation necessary for emulated fp64
85
85
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
86
- `;case"intel":return ne`\
86
+ `;case"intel":return ue`\
87
87
  #define INTEL_GPU
88
88
  // Intel optimizes away the calculation necessary for emulated fp64
89
89
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
@@ -91,9 +91,9 @@ ${r}
91
91
  #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
92
92
  // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
93
93
  #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
94
- `;case"amd":return ne`\
94
+ `;case"amd":return ue`\
95
95
  #define AMD_GPU
96
- `;default:return ne`\
96
+ `;default:return ue`\
97
97
  #define DEFAULT_GPU
98
98
  // Prevent driver from optimizing away the calculation necessary for emulated fp64
99
99
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
@@ -101,12 +101,12 @@ ${r}
101
101
  #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
102
102
  // If the GPU doesn't have full 32 bits precision, will causes overflow
103
103
  #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
104
- `}}function Up(t){let e="";return t.features.has("webgl2")&&(e+=ne`\
104
+ `}}function ag(t){let e="";return t.features.has("webgl2")&&(e+=ue`\
105
105
  # define FEATURE_GLSL_DERIVATIVES
106
106
  # define FEATURE_GLSL_DRAW_BUFFERS
107
107
  # define FEATURE_GLSL_FRAG_DEPTH
108
108
  # define FEATURE_GLSL_TEXTURE_LOD
109
- `),t.features.has("webgl2")||(t.features.has("glsl-frag-depth")&&(e+=ne`\
109
+ `),t.features.has("webgl2")||(t.features.has("glsl-frag-depth")&&(e+=ue`\
110
110
 
111
111
  // FEATURE_GLSL_FRAG_DEPTH => gl_FragDepth is available
112
112
  #ifdef GL_EXT_frag_depth
@@ -115,57 +115,60 @@ ${r}
115
115
  # define FRAG_DEPTH
116
116
  # define gl_FragDepth gl_FragDepthEXT
117
117
  #endif
118
- `),t!=null&&t.features.has("glsl-derivatives")&&(e+=ne`\
118
+ `),t!=null&&t.features.has("glsl-derivatives")&&(e+=ue`\
119
119
 
120
120
  // FEATURE_GLSL_DERIVATIVES => dxdF, dxdY and fwidth are available
121
121
  #if defined(GL_OES_standard_derivatives) || defined(FEATURE_GLSL_DERIVATIVES)
122
122
  # extension GL_OES_standard_derivatives : enable
123
123
  # define FEATURE_GLSL_DERIVATIVES
124
124
  #endif
125
- `),t!=null&&t.features.has("glsl-frag-data")&&(e+=ne`\
125
+ `),t!=null&&t.features.has("glsl-frag-data")&&(e+=ue`\
126
126
 
127
127
  // FEATURE_GLSL_DRAW_BUFFERS => gl_FragData[] is available
128
128
  #ifdef GL_EXT_draw_buffers
129
129
  # extension GL_EXT_draw_buffers : require
130
130
  # define FEATURE_GLSL_DRAW_BUFFERS
131
131
  #endif
132
- `),t!=null&&t.features.has("glsl-texture-lod")&&(e+=ne`\
132
+ `),t!=null&&t.features.has("glsl-texture-lod")&&(e+=ue`\
133
133
  // TEXTURE_LOD => texture2DLod etc are available
134
134
  #ifdef GL_EXT_shader_texture_lod
135
135
  # extension GL_EXT_shader_texture_lod : enable
136
136
  # define FEATURE_GLSL_TEXTURE_LOD
137
137
  # define TEXTURE_LOD
138
138
  #endif
139
- `)),e}function Hp(t,e,r){var n;if(Number(((n=t.match(/^#version[ \t]+(\d+)/m))===null||n===void 0?void 0:n[1])||100)!==300)throw new Error("luma.gl v9 only supports GLSL 3.00 shader sources");switch(e){case 300:switch(r){case"vertex":return t=Wn(t,QE),t;case"fragment":return t=Wn(t,$E),t;default:throw new Error(r)}case 100:switch(r){case"vertex":return t=Wn(t,eS),t;case"fragment":return t=Wn(t,jp),t=rS(t),t;default:throw new Error(r)}default:throw new Error(String(e))}}var Vp=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,`#version 300 es
140
- `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],QE=[...Vp,[Hr("attribute"),"in $1"],[Hr("varying"),"out $1"]],$E=[...Vp,[Hr("varying"),"in $1"]],zp=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],eS=[...zp,[Hr("in"),"attribute $1"],[Hr("out"),"varying $1"]],jp=[...zp,[Hr("in"),"varying $1"]],tS="gl_FragColor",Gp=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/;function Wn(t,e){for(let[r,n]of e)t=t.replace(r,n);return t}function rS(t){t=Wn(t,jp);let e=Gp.exec(t);if(e){let r=e[1];t=t.replace(Gp,"").replace(new RegExp(`\\b${r}\\b`,"g"),tS)}return t}function Hr(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}function qc(t,e){let r="";for(let n in t){let i=t[n];if(r+=`void ${i.signature} {
141
- `,i.header&&(r+=` ${i.header}`),e[n]){let o=e[n];o.sort((s,a)=>s.order-a.order);for(let s of o)r+=` ${s.injection}
142
- `}i.footer&&(r+=` ${i.footer}`),r+=`}
143
- `}return r}function Wc(t){let e={vertex:{},fragment:{}};for(let r of t){let n,i;typeof r!="string"?(n=r,i=n.hook):(n={},i=r),i=i.trim();let[o,s]=i.split(":"),a=i.replace(/\(.+/,""),c=Object.assign(n,{signature:s});switch(o){case"vs":e.vertex[a]=c;break;case"fs":e.fragment[a]=c;break;default:throw new Error(o)}}return e}function kp(t,e){return{name:nS(t,e),language:"glsl",version:iS(t)}}function nS(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",n=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/.exec(t);return n?n[1]:e}function iS(t){let e=100,r=t.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){let n=parseInt(r[1],10);Number.isFinite(n)&&(e=n)}if(e!==100&&e!==300)throw new Error(`Invalid GLSL version ${e}`);return e}var Xp=`
139
+ `)),e}function ug(t,e,r){var n;if(Number(((n=t.match(/^#version[ \t]+(\d+)/m))===null||n===void 0?void 0:n[1])||100)!==300)throw new Error("luma.gl v9 only supports GLSL 3.00 shader sources");switch(e){case 300:switch(r){case"vertex":return t=gs(t,ES),t;case"fragment":return t=gs(t,wS),t;default:throw new Error(r)}case 100:switch(r){case"vertex":return t=gs(t,SS),t;case"fragment":return t=gs(t,hg),t=CS(t),t;default:throw new Error(r)}default:throw new Error(String(e))}}var lg=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,`#version 300 es
140
+ `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],ES=[...lg,[sn("attribute"),"in $1"],[sn("varying"),"out $1"]],wS=[...lg,[sn("varying"),"in $1"]],fg=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],SS=[...fg,[sn("in"),"attribute $1"],[sn("out"),"varying $1"]],hg=[...fg,[sn("in"),"varying $1"]],BS="gl_FragColor",cg=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/;function gs(t,e){for(let[r,n]of e)t=t.replace(r,n);return t}function CS(t){t=gs(t,hg);let e=cg.exec(t);if(e){let r=e[1];t=t.replace(cg,"").replace(new RegExp(`\\b${r}\\b`,"g"),BS)}return t}function sn(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}function Pu(t,e){let r="";for(let n in t){let s=t[n];if(r+=`void ${s.signature} {
141
+ `,s.header&&(r+=` ${s.header}`),e[n]){let i=e[n];i.sort((o,a)=>o.order-a.order);for(let o of i)r+=` ${o.injection}
142
+ `}s.footer&&(r+=` ${s.footer}`),r+=`}
143
+ `}return r}function Fu(t){let e={vertex:{},fragment:{}};for(let r of t){let n,s;typeof r!="string"?(n=r,s=n.hook):(n={},s=r),s=s.trim();let[i,o]=s.split(":"),a=s.replace(/\(.+/,""),c=Object.assign(n,{signature:o});switch(i){case"vs":e.vertex[a]=c;break;case"fs":e.fragment[a]=c;break;default:throw new Error(i)}}return e}function dg(t,e){return{name:MS(t,e),language:"glsl",version:IS(t)}}function MS(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",n=/#define[^\S\r\n]*SHADER_NAME[^\S\r\n]*([A-Za-z0-9_-]+)\s*/.exec(t);return n?n[1]:e}function IS(t){let e=100,r=t.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){let n=parseInt(r[1],10);Number.isFinite(n)&&(e=n)}if(e!==100&&e!==300)throw new Error(`Invalid GLSL version ${e}`);return e}var yg=`
144
144
 
145
- ${kn}
146
- `,oS=ne`\
145
+ ${ds}
146
+ `,OS=ue`\
147
147
  precision highp float;
148
- `;function Kp(t){let{vs:e,fs:r}=t,n=qn(t.modules||[]);switch(t.platformInfo.shaderLanguage){case"glsl":return{vs:qp(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:qp(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:Wp(n)};case"wgsl":return{vs:Jp(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:Jp(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:Wp(n)}}}function Jp(t,e){let{source:r,stage:n,modules:i,defines:o={},hookFunctions:s=[],inject:a={},log:c}=e;st(typeof r=="string","shader source must be a string");let u=r,l={};i.forEach(m=>{Object.assign(l,m.getDefines())}),Object.assign(l,o);let f="",h=Wc(s),d={},p={},g={};for(let m in a){let A=typeof a[m]=="string"?{injection:a[m],order:0}:a[m],_=/^(v|f)s:(#)?([\w-]+)$/.exec(m);if(_){let v=_[2],x=_[3];v?x==="decl"?p[m]=[A]:g[m]=[A]:d[m]=[A]}else g[m]=[A]}for(let m of i){c&&m.checkDeprecations(u,c);let A=m.getModuleSource(n,"wgsl");f+=A;let _=m.injections[n];for(let v in _){let x=/^(v|f)s:#([\w-]+)$/.exec(v);if(x){let S=x[2]==="decl"?p:g;S[v]=S[v]||[],S[v].push(_[v])}else d[v]=d[v]||[],d[v].push(_[v])}}return f+=Xp,f=Jn(f,n,p),f+=qc(h[n],d),f+=u,f=Jn(f,n,g),f}function qp(t,e){let{id:r,source:n,stage:i,language:o="glsl",modules:s,defines:a={},hookFunctions:c=[],inject:u={},prologue:l=!0,log:f}=e;st(typeof n=="string","shader source must be a string");let h=o==="glsl"?kp(n).version:-1,d=t.shaderLanguageVersion,p=h===100?"#version 100":"#version 300 es",m=n.split(`
148
+ `;function _g(t){let{vs:e,fs:r}=t,n=ms(t.modules||[]);switch(t.platformInfo.shaderLanguage){case"glsl":return{vs:mg(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:mg(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:gg(n)};case"wgsl":return{vs:pg(t.platformInfo,{...t,source:e,stage:"vertex",modules:n}),fs:pg(t.platformInfo,{...t,source:r,stage:"fragment",modules:n}),getUniforms:gg(n)}}}function pg(t,e){let{source:r,stage:n,modules:s,defines:i={},hookFunctions:o=[],inject:a={},log:c}=e;mt(typeof r=="string","shader source must be a string");let u=r,l={};s.forEach(m=>{Object.assign(l,m.getDefines())}),Object.assign(l,i);let f="",h=Fu(o),d={},p={},g={};for(let m in a){let A=typeof a[m]=="string"?{injection:a[m],order:0}:a[m],v=/^(v|f)s:(#)?([\w-]+)$/.exec(m);if(v){let x=v[2],b=v[3];x?b==="decl"?p[m]=[A]:g[m]=[A]:d[m]=[A]}else g[m]=[A]}for(let m of s){c&&m.checkDeprecations(u,c);let A=m.getModuleSource(n,"wgsl");f+=A;let v=m.injections[n];for(let x in v){let b=/^(v|f)s:#([\w-]+)$/.exec(x);if(b){let C=b[2]==="decl"?p:g;C[x]=C[x]||[],C[x].push(v[x])}else d[x]=d[x]||[],d[x].push(v[x])}}return f+=yg,f=ps(f,n,p),f+=Pu(h[n],d),f+=u,f=ps(f,n,g),f}function mg(t,e){let{id:r,source:n,stage:s,language:i="glsl",modules:o,defines:a={},hookFunctions:c=[],inject:u={},prologue:l=!0,log:f}=e;mt(typeof n=="string","shader source must be a string");let h=i==="glsl"?dg(n).version:-1,d=t.shaderLanguageVersion,p=h===100?"#version 100":"#version 300 es",m=n.split(`
149
149
  `).slice(1).join(`
150
- `),A={};s.forEach(C=>{Object.assign(A,C.getDefines())}),Object.assign(A,a);let _="";switch(o){case"wgsl":break;case"glsl":_=l?`${p}
150
+ `),A={};o.forEach(I=>{Object.assign(A,I.getDefines())}),Object.assign(A,a);let v="";switch(i){case"wgsl":break;case"glsl":v=l?`${p}
151
151
 
152
152
  // ----- PROLOGUE -------------------------
153
- ${sS({id:r,source:n,stage:i})}
154
- ${`#define SHADER_TYPE_${i.toUpperCase()}`}
155
- ${Np(t)}
156
- ${Up(t)}
157
- ${i==="fragment"?oS:""}
153
+ ${RS({id:r,source:n,stage:s})}
154
+ ${`#define SHADER_TYPE_${s.toUpperCase()}`}
155
+ ${og(t)}
156
+ ${ag(t)}
157
+ ${s==="fragment"?OS:""}
158
158
 
159
159
  // ----- APPLICATION DEFINES -------------------------
160
160
 
161
- ${aS(A)}
161
+ ${LS(A)}
162
162
 
163
163
  `:`${p}
164
- `;break}let v=Wc(c),x={},B={},S={};for(let C in u){let E=typeof u[C]=="string"?{injection:u[C],order:0}:u[C],b=/^(v|f)s:(#)?([\w-]+)$/.exec(C);if(b){let y=b[2],M=b[3];y?M==="decl"?B[C]=[E]:S[C]=[E]:x[C]=[E]}else S[C]=[E]}for(let C of s){f&&C.checkDeprecations(m,f);let E=C.getModuleSource(i);_+=E;let b=C.injections[i];for(let y in b){let M=/^(v|f)s:#([\w-]+)$/.exec(y);if(M){let O=M[2]==="decl"?B:S;O[y]=O[y]||[],O[y].push(b[y])}else x[y]=x[y]||[],x[y].push(b[y])}}return _+="// ----- MAIN SHADER SOURCE -------------------------",_+=Xp,_=Jn(_,i,B),_+=qc(v[i],x),_+=m,_=Jn(_,i,S),o==="glsl"&&h!==d&&(_=Hp(_,d,i)),_.trim()}function Wp(t){return function(r){let n={};for(let i of t){let o=i.getUniforms(r,n);Object.assign(n,o)}return n}}function sS(t){let{id:e,source:r,stage:n}=t;return e&&r.indexOf("SHADER_NAME")===-1?`
164
+ `;break}let x=Fu(c),b={},M={},C={};for(let I in u){let B=typeof u[I]=="string"?{injection:u[I],order:0}:u[I],S=/^(v|f)s:(#)?([\w-]+)$/.exec(I);if(S){let y=S[2],R=S[3];y?R==="decl"?M[I]=[B]:C[I]=[B]:b[I]=[B]}else C[I]=[B]}for(let I of o){f&&I.checkDeprecations(m,f);let B=I.getModuleSource(s);v+=B;let S=I.injections[s];for(let y in S){let R=/^(v|f)s:#([\w-]+)$/.exec(y);if(R){let F=R[2]==="decl"?M:C;F[y]=F[y]||[],F[y].push(S[y])}else b[y]=b[y]||[],b[y].push(S[y])}}return v+="// ----- MAIN SHADER SOURCE -------------------------",v+=yg,v=ps(v,s,M),v+=Pu(x[s],b),v+=m,v=ps(v,s,C),i==="glsl"&&h!==d&&(v=ug(v,d,s)),v.trim()}function gg(t){return function(r){let n={};for(let s of t){let i=s.getUniforms(r,n);Object.assign(n,i)}return n}}function RS(t){let{id:e,source:r,stage:n}=t;return e&&r.indexOf("SHADER_NAME")===-1?`
165
165
  #define SHADER_NAME ${e}_${n}
166
166
 
167
- `:""}function aS(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e="";for(let r in t){let n=t[r];(n||Number.isFinite(n))&&(e+=`#define ${r.toUpperCase()} ${t[r]}
168
- `)}return e}function Zp(t){if(!t.vs)throw new Error("no vertex shader");let e=Yp(t.platformInfo,t.vs),r;return t.fs&&(r=Yp(t.platformInfo,t.fs)),{...t,vs:e,fs:r}}function Yp(t,e){if(typeof e=="string")return e;switch(t.type){case"webgpu":if(e!=null&&e.wgsl)return e.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(e!=null&&e.glsl)return e.glsl;throw new Error("WebGL does not support WGSL shaders")}}var We=class{constructor(){this._hookFunctions=[],this._defaultModules=[]}static getDefaultShaderAssembler(){return We.defaultShaderAssembler=We.defaultShaderAssembler||new We,We.defaultShaderAssembler}addDefaultModule(e){this._defaultModules.find(r=>r.name===(typeof e=="string"?e:e.name))||this._defaultModules.push(e)}removeDefaultModule(e){let r=typeof e=="string"?e:e.name;this._defaultModules=this._defaultModules.filter(n=>n.name!==r)}addShaderHook(e,r){r&&(e=Object.assign(r,{hook:e})),this._hookFunctions.push(e)}assembleShaders(e){let r=this._getModuleList(e.modules),n=this._hookFunctions,i=Zp(e);return{...Kp({platformInfo:e.platformInfo,...i,modules:r,hookFunctions:n}),modules:r}}_getModuleList(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+e.length),n={},i=0;for(let o=0,s=this._defaultModules.length;o<s;++o){let a=this._defaultModules[o],c=a.name;r[i++]=a,n[c]=!0}for(let o=0,s=e.length;o<s;++o){let a=e[o],c=a.name;n[c]||(r[i++]=a,n[c]=!0)}return r.length=i,qe.instantiateModules(r)}};We.defaultShaderAssembler=void 0;var Xc=ne`\
167
+ `:""}function LS(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e="";for(let r in t){let n=t[r];(n||Number.isFinite(n))&&(e+=`#define ${r.toUpperCase()} ${t[r]}
168
+ `)}return e}function vg(t){if(!t.vs)throw new Error("no vertex shader");let e=Ag(t.platformInfo,t.vs),r;return t.fs&&(r=Ag(t.platformInfo,t.fs)),{...t,vs:e,fs:r}}function Ag(t,e){if(typeof e=="string")return e;switch(t.type){case"webgpu":if(e!=null&&e.wgsl)return e.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(e!=null&&e.glsl)return e.glsl;throw new Error("WebGL does not support WGSL shaders")}}var rt=class{constructor(){this._hookFunctions=[],this._defaultModules=[]}static getDefaultShaderAssembler(){return rt.defaultShaderAssembler=rt.defaultShaderAssembler||new rt,rt.defaultShaderAssembler}addDefaultModule(e){this._defaultModules.find(r=>r.name===(typeof e=="string"?e:e.name))||this._defaultModules.push(e)}removeDefaultModule(e){let r=typeof e=="string"?e:e.name;this._defaultModules=this._defaultModules.filter(n=>n.name!==r)}addShaderHook(e,r){r&&(e=Object.assign(r,{hook:e})),this._hookFunctions.push(e)}assembleShaders(e){let r=this._getModuleList(e.modules),n=this._hookFunctions,s=vg(e);return{..._g({platformInfo:e.platformInfo,...s,modules:r,hookFunctions:n}),modules:r}}_getModuleList(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+e.length),n={},s=0;for(let i=0,o=this._defaultModules.length;i<o;++i){let a=this._defaultModules[i],c=a.name;r[s++]=a,n[c]=!0}for(let i=0,o=e.length;i<o;++i){let a=e[i],c=a.name;n[c]||(r[s++]=a,n[c]=!0)}return r.length=s,tt.instantiateModules(r)}};rt.defaultShaderAssembler=void 0;var Nu=class{constructor(){this.constants=new Map,this.aliases=new Map,this.structs=new Map}},It=class{constructor(){}get isAstNode(){return!0}get astNodeType(){return""}evaluate(e){throw new Error("Cannot evaluate node")}evaluateString(e){return this.evaluate(e).toString()}},ie=class extends It{constructor(){super()}},ao=class extends ie{constructor(e,r,n,s){super(),this.name=e,this.args=r,this.returnType=n,this.body=s}get astNodeType(){return"function"}},Du=class extends ie{constructor(e){super(),this.expression=e}get astNodeType(){return"staticAssert"}},Uu=class extends ie{constructor(e,r){super(),this.condition=e,this.body=r}get astNodeType(){return"while"}},Gu=class extends ie{constructor(e){super(),this.body=e}get astNodeType(){return"continuing"}},ku=class extends ie{constructor(e,r,n,s){super(),this.init=e,this.condition=r,this.increment=n,this.body=s}get astNodeType(){return"for"}},$t=class extends ie{constructor(e,r,n,s,i){super(),this.name=e,this.type=r,this.storage=n,this.access=s,this.value=i}get astNodeType(){return"var"}},co=class extends ie{constructor(e,r,n){super(),this.name=e,this.type=r,this.value=n}get astNodeType(){return"override"}},uo=class extends ie{constructor(e,r,n,s,i){super(),this.name=e,this.type=r,this.storage=n,this.access=s,this.value=i}get astNodeType(){return"let"}},lo=class extends ie{constructor(e,r,n,s,i){super(),this.name=e,this.type=r,this.storage=n,this.access=s,this.value=i}get astNodeType(){return"const"}evaluate(e){return this.value.evaluate(e)}},un;(function(t){t.increment="++",t.decrement="--"})(un||(un={}));(function(t){function e(r){let n=r;if(n=="parse")throw new Error("Invalid value for IncrementOperator");return t[n]}t.parse=e})(un||(un={}));var Hu=class extends ie{constructor(e,r){super(),this.operator=e,this.variable=r}get astNodeType(){return"increment"}},_s;(function(t){t.assign="=",t.addAssign="+=",t.subtractAssin="-=",t.multiplyAssign="*=",t.divideAssign="/=",t.moduloAssign="%=",t.andAssign="&=",t.orAssign="|=",t.xorAssign="^=",t.shiftLeftAssign="<<=",t.shiftRightAssign=">>="})(_s||(_s={}));(function(t){function e(r){let n=r;if(n=="parse")throw new Error("Invalid value for AssignOperator");return t[n]}t.parse=e})(_s||(_s={}));var Vu=class extends ie{constructor(e,r,n){super(),this.operator=e,this.variable=r,this.value=n}get astNodeType(){return"assign"}},zu=class extends ie{constructor(e,r){super(),this.name=e,this.args=r}get astNodeType(){return"call"}},ju=class extends ie{constructor(e,r){super(),this.body=e,this.continuing=r}get astNodeType(){return"loop"}},qu=class extends ie{constructor(e,r){super(),this.condition=e,this.body=r}get astNodeType(){return"body"}},Ju=class extends ie{constructor(e,r,n,s){super(),this.condition=e,this.body=r,this.elseif=n,this.else=s}get astNodeType(){return"if"}},Wu=class extends ie{constructor(e){super(),this.value=e}get astNodeType(){return"return"}},Xu=class extends ie{constructor(e){super(),this.name=e}get astNodeType(){return"enable"}},fo=class extends ie{constructor(e,r){super(),this.name=e,this.type=r}get astNodeType(){return"alias"}},Ku=class extends ie{constructor(){super()}get astNodeType(){return"discard"}},Yu=class extends ie{constructor(){super()}get astNodeType(){return"break"}},Zu=class extends ie{constructor(){super()}get astNodeType(){return"continue"}},Ot=class extends ie{constructor(e){super(),this.name=e}get astNodeType(){return"type"}get isStruct(){return!1}get isArray(){return!1}},Mt=class extends Ot{constructor(e,r){super(e),this.members=r}get astNodeType(){return"struct"}get isStruct(){return!0}getMemberIndex(e){for(let r=0;r<this.members.length;r++)if(this.members[r].name==e)return r;return-1}},ho=class extends Ot{constructor(e,r,n){super(e),this.format=r,this.access=n}get astNodeType(){return"template"}},Qu=class extends Ot{constructor(e,r,n,s){super(e),this.storage=r,this.type=n,this.access=s}get astNodeType(){return"pointer"}},po=class extends Ot{constructor(e,r,n,s){super(e),this.attributes=r,this.format=n,this.count=s}get astNodeType(){return"array"}get isArray(){return!0}},wr=class extends Ot{constructor(e,r,n){super(e),this.format=r,this.access=n}get astNodeType(){return"sampler"}},je=class extends It{constructor(){super()}},mo=class extends je{constructor(e){super(),this.value=e}get astNodeType(){return"stringExpr"}toString(){return this.value}evaluateString(){return this.value}},Sr=class extends je{constructor(e,r){super(),this.type=e,this.args=r}get astNodeType(){return"createExpr"}},$u=class extends je{constructor(e,r){super(),this.name=e,this.args=r}get astNodeType(){return"callExpr"}evaluate(e){switch(this.name){case"abs":return Math.abs(this.args[0].evaluate(e));case"acos":return Math.acos(this.args[0].evaluate(e));case"acosh":return Math.acosh(this.args[0].evaluate(e));case"asin":return Math.asin(this.args[0].evaluate(e));case"asinh":return Math.asinh(this.args[0].evaluate(e));case"atan":return Math.atan(this.args[0].evaluate(e));case"atan2":return Math.atan2(this.args[0].evaluate(e),this.args[1].evaluate(e));case"atanh":return Math.atanh(this.args[0].evaluate(e));case"ceil":return Math.ceil(this.args[0].evaluate(e));case"clamp":return Math.min(Math.max(this.args[0].evaluate(e),this.args[1].evaluate(e)),this.args[2].evaluate(e));case"cos":return Math.cos(this.args[0].evaluate(e));case"degrees":return this.args[0].evaluate(e)*180/Math.PI;case"distance":return Math.sqrt(Math.pow(this.args[0].evaluate(e)-this.args[1].evaluate(e),2));case"dot":case"exp":return Math.exp(this.args[0].evaluate(e));case"exp2":return Math.pow(2,this.args[0].evaluate(e));case"floor":return Math.floor(this.args[0].evaluate(e));case"fma":return this.args[0].evaluate(e)*this.args[1].evaluate(e)+this.args[2].evaluate(e);case"fract":return this.args[0].evaluate(e)-Math.floor(this.args[0].evaluate(e));case"inverseSqrt":return 1/Math.sqrt(this.args[0].evaluate(e));case"log":return Math.log(this.args[0].evaluate(e));case"log2":return Math.log2(this.args[0].evaluate(e));case"max":return Math.max(this.args[0].evaluate(e),this.args[1].evaluate(e));case"min":return Math.min(this.args[0].evaluate(e),this.args[1].evaluate(e));case"mix":return this.args[0].evaluate(e)*(1-this.args[2].evaluate(e))+this.args[1].evaluate(e)*this.args[2].evaluate(e);case"modf":return this.args[0].evaluate(e)-Math.floor(this.args[0].evaluate(e));case"pow":return Math.pow(this.args[0].evaluate(e),this.args[1].evaluate(e));case"radians":return this.args[0].evaluate(e)*Math.PI/180;case"round":return Math.round(this.args[0].evaluate(e));case"sign":return Math.sign(this.args[0].evaluate(e));case"sin":return Math.sin(this.args[0].evaluate(e));case"sinh":return Math.sinh(this.args[0].evaluate(e));case"saturate":return Math.min(Math.max(this.args[0].evaluate(e),0),1);case"smoothstep":return this.args[0].evaluate(e)*this.args[0].evaluate(e)*(3-2*this.args[0].evaluate(e));case"sqrt":return Math.sqrt(this.args[0].evaluate(e));case"step":return this.args[0].evaluate(e)<this.args[1].evaluate(e)?0:1;case"tan":return Math.tan(this.args[0].evaluate(e));case"tanh":return Math.tanh(this.args[0].evaluate(e));case"trunc":return Math.trunc(this.args[0].evaluate(e));default:throw new Error("Non const function: "+this.name)}}},el=class extends je{constructor(e){super(),this.name=e}get astNodeType(){return"varExpr"}},go=class extends je{constructor(e,r){super(),this.name=e,this.initializer=r}get astNodeType(){return"constExpr"}evaluate(e){var r,n;if(this.initializer instanceof Sr){let s=(r=this.postfix)===null||r===void 0?void 0:r.evaluateString(e),i=(n=this.initializer.type)===null||n===void 0?void 0:n.name,o=e.structs.get(i),a=o?.getMemberIndex(s);if(a!=-1)return this.initializer.args[a].evaluate(e);console.log(a)}return this.initializer.evaluate(e)}},yo=class extends je{constructor(e){super(),this.value=e}get astNodeType(){return"literalExpr"}evaluate(){return this.value}},tl=class extends je{constructor(e,r){super(),this.type=e,this.value=r}get astNodeType(){return"bitcastExpr"}},rl=class extends je{constructor(e,r){super(),this.type=e,this.args=r}get astNodeType(){return"typecastExpr"}evaluate(e){return this.args[0].evaluate(e)}},_o=class extends je{constructor(e){super(),this.contents=e}get astNodeType(){return"groupExpr"}evaluate(e){return this.contents[0].evaluate(e)}},Ao=class extends je{constructor(){super()}},nl=class extends Ao{constructor(e,r){super(),this.operator=e,this.right=r}get astNodeType(){return"unaryOp"}evaluate(e){switch(this.operator){case"+":return this.right.evaluate(e);case"-":return-this.right.evaluate(e);case"!":return this.right.evaluate(e)?0:1;case"~":return~this.right.evaluate(e);default:throw new Error("Unknown unary operator: "+this.operator)}}},Ve=class extends Ao{constructor(e,r,n){super(),this.operator=e,this.left=r,this.right=n}get astNodeType(){return"binaryOp"}evaluate(e){switch(this.operator){case"+":return this.left.evaluate(e)+this.right.evaluate(e);case"-":return this.left.evaluate(e)-this.right.evaluate(e);case"*":return this.left.evaluate(e)*this.right.evaluate(e);case"/":return this.left.evaluate(e)/this.right.evaluate(e);case"%":return this.left.evaluate(e)%this.right.evaluate(e);case"==":return this.left.evaluate(e)==this.right.evaluate(e)?1:0;case"!=":return this.left.evaluate(e)!=this.right.evaluate(e)?1:0;case"<":return this.left.evaluate(e)<this.right.evaluate(e)?1:0;case">":return this.left.evaluate(e)>this.right.evaluate(e)?1:0;case"<=":return this.left.evaluate(e)<=this.right.evaluate(e)?1:0;case">=":return this.left.evaluate(e)>=this.right.evaluate(e)?1:0;case"&&":return this.left.evaluate(e)&&this.right.evaluate(e)?1:0;case"||":return this.left.evaluate(e)||this.right.evaluate(e)?1:0;default:throw new Error(`Unknown operator ${this.operator}`)}}},vo=class extends It{constructor(){super()}},sl=class extends vo{constructor(e,r){super(),this.selector=e,this.body=r}get astNodeType(){return"case"}},il=class extends vo{constructor(e){super(),this.body=e}get astNodeType(){return"default"}},ol=class extends It{constructor(e,r,n){super(),this.name=e,this.type=r,this.attributes=n}get astNodeType(){return"argument"}},al=class extends It{constructor(e,r){super(),this.condition=e,this.body=r}get astNodeType(){return"elseif"}},cl=class extends It{constructor(e,r,n){super(),this.name=e,this.type=r,this.attributes=n}get astNodeType(){return"member"}},xo=class extends It{constructor(e,r){super(),this.name=e,this.value=r}get astNodeType(){return"attribute"}},O,E;(function(t){t[t.token=0]="token",t[t.keyword=1]="keyword",t[t.reserved=2]="reserved"})(E||(E={}));var T=class{constructor(e,r,n){this.name=e,this.type=r,this.rule=n}toString(){return this.name}},_=class{};O=_;_.none=new T("",E.reserved,"");_.eof=new T("EOF",E.token,"");_.reserved={asm:new T("asm",E.reserved,"asm"),bf16:new T("bf16",E.reserved,"bf16"),do:new T("do",E.reserved,"do"),enum:new T("enum",E.reserved,"enum"),f16:new T("f16",E.reserved,"f16"),f64:new T("f64",E.reserved,"f64"),handle:new T("handle",E.reserved,"handle"),i8:new T("i8",E.reserved,"i8"),i16:new T("i16",E.reserved,"i16"),i64:new T("i64",E.reserved,"i64"),mat:new T("mat",E.reserved,"mat"),premerge:new T("premerge",E.reserved,"premerge"),regardless:new T("regardless",E.reserved,"regardless"),typedef:new T("typedef",E.reserved,"typedef"),u8:new T("u8",E.reserved,"u8"),u16:new T("u16",E.reserved,"u16"),u64:new T("u64",E.reserved,"u64"),unless:new T("unless",E.reserved,"unless"),using:new T("using",E.reserved,"using"),vec:new T("vec",E.reserved,"vec"),void:new T("void",E.reserved,"void")};_.keywords={array:new T("array",E.keyword,"array"),atomic:new T("atomic",E.keyword,"atomic"),bool:new T("bool",E.keyword,"bool"),f32:new T("f32",E.keyword,"f32"),i32:new T("i32",E.keyword,"i32"),mat2x2:new T("mat2x2",E.keyword,"mat2x2"),mat2x3:new T("mat2x3",E.keyword,"mat2x3"),mat2x4:new T("mat2x4",E.keyword,"mat2x4"),mat3x2:new T("mat3x2",E.keyword,"mat3x2"),mat3x3:new T("mat3x3",E.keyword,"mat3x3"),mat3x4:new T("mat3x4",E.keyword,"mat3x4"),mat4x2:new T("mat4x2",E.keyword,"mat4x2"),mat4x3:new T("mat4x3",E.keyword,"mat4x3"),mat4x4:new T("mat4x4",E.keyword,"mat4x4"),ptr:new T("ptr",E.keyword,"ptr"),sampler:new T("sampler",E.keyword,"sampler"),sampler_comparison:new T("sampler_comparison",E.keyword,"sampler_comparison"),struct:new T("struct",E.keyword,"struct"),texture_1d:new T("texture_1d",E.keyword,"texture_1d"),texture_2d:new T("texture_2d",E.keyword,"texture_2d"),texture_2d_array:new T("texture_2d_array",E.keyword,"texture_2d_array"),texture_3d:new T("texture_3d",E.keyword,"texture_3d"),texture_cube:new T("texture_cube",E.keyword,"texture_cube"),texture_cube_array:new T("texture_cube_array",E.keyword,"texture_cube_array"),texture_multisampled_2d:new T("texture_multisampled_2d",E.keyword,"texture_multisampled_2d"),texture_storage_1d:new T("texture_storage_1d",E.keyword,"texture_storage_1d"),texture_storage_2d:new T("texture_storage_2d",E.keyword,"texture_storage_2d"),texture_storage_2d_array:new T("texture_storage_2d_array",E.keyword,"texture_storage_2d_array"),texture_storage_3d:new T("texture_storage_3d",E.keyword,"texture_storage_3d"),texture_depth_2d:new T("texture_depth_2d",E.keyword,"texture_depth_2d"),texture_depth_2d_array:new T("texture_depth_2d_array",E.keyword,"texture_depth_2d_array"),texture_depth_cube:new T("texture_depth_cube",E.keyword,"texture_depth_cube"),texture_depth_cube_array:new T("texture_depth_cube_array",E.keyword,"texture_depth_cube_array"),texture_depth_multisampled_2d:new T("texture_depth_multisampled_2d",E.keyword,"texture_depth_multisampled_2d"),texture_external:new T("texture_external",E.keyword,"texture_external"),u32:new T("u32",E.keyword,"u32"),vec2:new T("vec2",E.keyword,"vec2"),vec3:new T("vec3",E.keyword,"vec3"),vec4:new T("vec4",E.keyword,"vec4"),bitcast:new T("bitcast",E.keyword,"bitcast"),block:new T("block",E.keyword,"block"),break:new T("break",E.keyword,"break"),case:new T("case",E.keyword,"case"),continue:new T("continue",E.keyword,"continue"),continuing:new T("continuing",E.keyword,"continuing"),default:new T("default",E.keyword,"default"),discard:new T("discard",E.keyword,"discard"),else:new T("else",E.keyword,"else"),enable:new T("enable",E.keyword,"enable"),fallthrough:new T("fallthrough",E.keyword,"fallthrough"),false:new T("false",E.keyword,"false"),fn:new T("fn",E.keyword,"fn"),for:new T("for",E.keyword,"for"),function:new T("function",E.keyword,"function"),if:new T("if",E.keyword,"if"),let:new T("let",E.keyword,"let"),const:new T("const",E.keyword,"const"),loop:new T("loop",E.keyword,"loop"),while:new T("while",E.keyword,"while"),private:new T("private",E.keyword,"private"),read:new T("read",E.keyword,"read"),read_write:new T("read_write",E.keyword,"read_write"),return:new T("return",E.keyword,"return"),storage:new T("storage",E.keyword,"storage"),switch:new T("switch",E.keyword,"switch"),true:new T("true",E.keyword,"true"),alias:new T("alias",E.keyword,"alias"),type:new T("type",E.keyword,"type"),uniform:new T("uniform",E.keyword,"uniform"),var:new T("var",E.keyword,"var"),override:new T("override",E.keyword,"override"),workgroup:new T("workgroup",E.keyword,"workgroup"),write:new T("write",E.keyword,"write"),r8unorm:new T("r8unorm",E.keyword,"r8unorm"),r8snorm:new T("r8snorm",E.keyword,"r8snorm"),r8uint:new T("r8uint",E.keyword,"r8uint"),r8sint:new T("r8sint",E.keyword,"r8sint"),r16uint:new T("r16uint",E.keyword,"r16uint"),r16sint:new T("r16sint",E.keyword,"r16sint"),r16float:new T("r16float",E.keyword,"r16float"),rg8unorm:new T("rg8unorm",E.keyword,"rg8unorm"),rg8snorm:new T("rg8snorm",E.keyword,"rg8snorm"),rg8uint:new T("rg8uint",E.keyword,"rg8uint"),rg8sint:new T("rg8sint",E.keyword,"rg8sint"),r32uint:new T("r32uint",E.keyword,"r32uint"),r32sint:new T("r32sint",E.keyword,"r32sint"),r32float:new T("r32float",E.keyword,"r32float"),rg16uint:new T("rg16uint",E.keyword,"rg16uint"),rg16sint:new T("rg16sint",E.keyword,"rg16sint"),rg16float:new T("rg16float",E.keyword,"rg16float"),rgba8unorm:new T("rgba8unorm",E.keyword,"rgba8unorm"),rgba8unorm_srgb:new T("rgba8unorm_srgb",E.keyword,"rgba8unorm_srgb"),rgba8snorm:new T("rgba8snorm",E.keyword,"rgba8snorm"),rgba8uint:new T("rgba8uint",E.keyword,"rgba8uint"),rgba8sint:new T("rgba8sint",E.keyword,"rgba8sint"),bgra8unorm:new T("bgra8unorm",E.keyword,"bgra8unorm"),bgra8unorm_srgb:new T("bgra8unorm_srgb",E.keyword,"bgra8unorm_srgb"),rgb10a2unorm:new T("rgb10a2unorm",E.keyword,"rgb10a2unorm"),rg11b10float:new T("rg11b10float",E.keyword,"rg11b10float"),rg32uint:new T("rg32uint",E.keyword,"rg32uint"),rg32sint:new T("rg32sint",E.keyword,"rg32sint"),rg32float:new T("rg32float",E.keyword,"rg32float"),rgba16uint:new T("rgba16uint",E.keyword,"rgba16uint"),rgba16sint:new T("rgba16sint",E.keyword,"rgba16sint"),rgba16float:new T("rgba16float",E.keyword,"rgba16float"),rgba32uint:new T("rgba32uint",E.keyword,"rgba32uint"),rgba32sint:new T("rgba32sint",E.keyword,"rgba32sint"),rgba32float:new T("rgba32float",E.keyword,"rgba32float"),static_assert:new T("static_assert",E.keyword,"static_assert")};_.tokens={decimal_float_literal:new T("decimal_float_literal",E.token,/((-?[0-9]*\.[0-9]+|-?[0-9]+\.[0-9]*)((e|E)(\+|-)?[0-9]+)?f?)|(-?[0-9]+(e|E)(\+|-)?[0-9]+f?)|([0-9]+f)/),hex_float_literal:new T("hex_float_literal",E.token,/-?0x((([0-9a-fA-F]*\.[0-9a-fA-F]+|[0-9a-fA-F]+\.[0-9a-fA-F]*)((p|P)(\+|-)?[0-9]+f?)?)|([0-9a-fA-F]+(p|P)(\+|-)?[0-9]+f?))/),int_literal:new T("int_literal",E.token,/-?0x[0-9a-fA-F]+|0i?|-?[1-9][0-9]*i?/),uint_literal:new T("uint_literal",E.token,/0x[0-9a-fA-F]+u|0u|[1-9][0-9]*u/),ident:new T("ident",E.token,/[a-zA-Z][0-9a-zA-Z_]*/),and:new T("and",E.token,"&"),and_and:new T("and_and",E.token,"&&"),arrow:new T("arrow ",E.token,"->"),attr:new T("attr",E.token,"@"),attr_left:new T("attr_left",E.token,"[["),attr_right:new T("attr_right",E.token,"]]"),forward_slash:new T("forward_slash",E.token,"/"),bang:new T("bang",E.token,"!"),bracket_left:new T("bracket_left",E.token,"["),bracket_right:new T("bracket_right",E.token,"]"),brace_left:new T("brace_left",E.token,"{"),brace_right:new T("brace_right",E.token,"}"),colon:new T("colon",E.token,":"),comma:new T("comma",E.token,","),equal:new T("equal",E.token,"="),equal_equal:new T("equal_equal",E.token,"=="),not_equal:new T("not_equal",E.token,"!="),greater_than:new T("greater_than",E.token,">"),greater_than_equal:new T("greater_than_equal",E.token,">="),shift_right:new T("shift_right",E.token,">>"),less_than:new T("less_than",E.token,"<"),less_than_equal:new T("less_than_equal",E.token,"<="),shift_left:new T("shift_left",E.token,"<<"),modulo:new T("modulo",E.token,"%"),minus:new T("minus",E.token,"-"),minus_minus:new T("minus_minus",E.token,"--"),period:new T("period",E.token,"."),plus:new T("plus",E.token,"+"),plus_plus:new T("plus_plus",E.token,"++"),or:new T("or",E.token,"|"),or_or:new T("or_or",E.token,"||"),paren_left:new T("paren_left",E.token,"("),paren_right:new T("paren_right",E.token,")"),semicolon:new T("semicolon",E.token,";"),star:new T("star",E.token,"*"),tilde:new T("tilde",E.token,"~"),underscore:new T("underscore",E.token,"_"),xor:new T("xor",E.token,"^"),plus_equal:new T("plus_equal",E.token,"+="),minus_equal:new T("minus_equal",E.token,"-="),times_equal:new T("times_equal",E.token,"*="),division_equal:new T("division_equal",E.token,"/="),modulo_equal:new T("modulo_equal",E.token,"%="),and_equal:new T("and_equal",E.token,"&="),or_equal:new T("or_equal",E.token,"|="),xor_equal:new T("xor_equal",E.token,"^="),shift_right_equal:new T("shift_right_equal",E.token,">>="),shift_left_equal:new T("shift_left_equal",E.token,"<<=")};_.storage_class=[O.keywords.function,O.keywords.private,O.keywords.workgroup,O.keywords.uniform,O.keywords.storage];_.access_mode=[O.keywords.read,O.keywords.write,O.keywords.read_write];_.sampler_type=[O.keywords.sampler,O.keywords.sampler_comparison];_.sampled_texture_type=[O.keywords.texture_1d,O.keywords.texture_2d,O.keywords.texture_2d_array,O.keywords.texture_3d,O.keywords.texture_cube,O.keywords.texture_cube_array];_.multisampled_texture_type=[O.keywords.texture_multisampled_2d];_.storage_texture_type=[O.keywords.texture_storage_1d,O.keywords.texture_storage_2d,O.keywords.texture_storage_2d_array,O.keywords.texture_storage_3d];_.depth_texture_type=[O.keywords.texture_depth_2d,O.keywords.texture_depth_2d_array,O.keywords.texture_depth_cube,O.keywords.texture_depth_cube_array,O.keywords.texture_depth_multisampled_2d];_.texture_external_type=[O.keywords.texture_external];_.any_texture_type=[...O.sampled_texture_type,...O.multisampled_texture_type,...O.storage_texture_type,...O.depth_texture_type,...O.texture_external_type];_.texel_format=[O.keywords.r8unorm,O.keywords.r8snorm,O.keywords.r8uint,O.keywords.r8sint,O.keywords.r16uint,O.keywords.r16sint,O.keywords.r16float,O.keywords.rg8unorm,O.keywords.rg8snorm,O.keywords.rg8uint,O.keywords.rg8sint,O.keywords.r32uint,O.keywords.r32sint,O.keywords.r32float,O.keywords.rg16uint,O.keywords.rg16sint,O.keywords.rg16float,O.keywords.rgba8unorm,O.keywords.rgba8unorm_srgb,O.keywords.rgba8snorm,O.keywords.rgba8uint,O.keywords.rgba8sint,O.keywords.bgra8unorm,O.keywords.bgra8unorm_srgb,O.keywords.rgb10a2unorm,O.keywords.rg11b10float,O.keywords.rg32uint,O.keywords.rg32sint,O.keywords.rg32float,O.keywords.rgba16uint,O.keywords.rgba16sint,O.keywords.rgba16float,O.keywords.rgba32uint,O.keywords.rgba32sint,O.keywords.rgba32float];_.const_literal=[O.tokens.int_literal,O.tokens.uint_literal,O.tokens.decimal_float_literal,O.tokens.hex_float_literal,O.keywords.true,O.keywords.false];_.literal_or_ident=[O.tokens.ident,O.tokens.int_literal,O.tokens.uint_literal,O.tokens.decimal_float_literal,O.tokens.hex_float_literal];_.element_count_expression=[O.tokens.int_literal,O.tokens.uint_literal,O.tokens.ident];_.template_types=[O.keywords.vec2,O.keywords.vec3,O.keywords.vec4,O.keywords.mat2x2,O.keywords.mat2x3,O.keywords.mat2x4,O.keywords.mat3x2,O.keywords.mat3x3,O.keywords.mat3x4,O.keywords.mat4x2,O.keywords.mat4x3,O.keywords.mat4x4,O.keywords.atomic,O.keywords.bitcast,...O.any_texture_type];_.attribute_name=[O.tokens.ident,O.keywords.block];_.assignment_operators=[O.tokens.equal,O.tokens.plus_equal,O.tokens.minus_equal,O.tokens.times_equal,O.tokens.division_equal,O.tokens.modulo_equal,O.tokens.and_equal,O.tokens.or_equal,O.tokens.xor_equal,O.tokens.shift_right_equal,O.tokens.shift_left_equal];_.increment_operators=[O.tokens.plus_plus,O.tokens.minus_minus];var bo=class{constructor(e,r,n){this.type=e,this.lexeme=r,this.line=n}toString(){return this.lexeme}isTemplateType(){return _.template_types.indexOf(this.type)!=-1}isArrayType(){return this.type==_.keywords.array}isArrayOrTemplateType(){return this.isArrayType()||this.isTemplateType()}},ul=class{constructor(e){this._tokens=[],this._start=0,this._current=0,this._line=1,this._source=e??""}scanTokens(){for(;!this._isAtEnd();)if(this._start=this._current,!this.scanToken())throw`Invalid syntax at line ${this._line}`;return this._tokens.push(new bo(_.eof,"",this._line)),this._tokens}scanToken(){let e=this._advance();if(e==`
169
+ `)return this._line++,!0;if(this._isWhitespace(e))return!0;if(e=="/"){if(this._peekAhead()=="/"){for(;e!=`
170
+ `;){if(this._isAtEnd())return!0;e=this._advance()}return this._line++,!0}else if(this._peekAhead()=="*"){this._advance();let n=1;for(;n>0;){if(this._isAtEnd())return!0;if(e=this._advance(),e==`
171
+ `)this._line++;else if(e=="*"){if(this._peekAhead()=="/"&&(this._advance(),n--,n==0))return!0}else e=="/"&&this._peekAhead()=="*"&&(this._advance(),n++)}return!0}}let r=_.none;for(;;){let n=this._findType(e),s=this._peekAhead();if(e==">"&&(s==">"||s=="=")){let i=!1,o=this._tokens.length-1;for(let a=0;a<5&&o>=0;++a,--o)if(this._tokens[o].type===_.tokens.less_than){o>0&&this._tokens[o-1].isArrayOrTemplateType()&&(i=!0);break}if(i)return this._addToken(n),!0}if(n===_.none){let i=e,o=0,a=2;for(let c=0;c<a;++c)if(i+=this._peekAhead(c),n=this._findType(i),n!==_.none){o=c;break}if(n===_.none)return r===_.none?!1:(this._current--,this._addToken(r),!0);e=i,this._current+=o+1}if(r=n,this._isAtEnd())break;e+=this._advance()}return r===_.none?!1:(this._addToken(r),!0)}_findType(e){for(let r in _.keywords){let n=_.keywords[r];if(this._match(e,n.rule))return n}for(let r in _.tokens){let n=_.tokens[r];if(this._match(e,n.rule))return n}return _.none}_match(e,r){if(typeof r=="string"){if(r==e)return!0}else{let n=r.exec(e);if(n&&n.index==0&&n[0]==e)return!0}return!1}_isAtEnd(){return this._current>=this._source.length}_isWhitespace(e){return e==" "||e==" "||e=="\r"}_advance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,r=this._source[this._current];return e=e||0,e++,this._current+=e,r}_peekAhead(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return e=e||0,this._current+e>=this._source.length?"\0":this._source[this._current+e]}_addToken(e){let r=this._source.substring(this._start,this._current);this._tokens.push(new bo(e,r,this._line))}},ll=class{constructor(){this._tokens=[],this._current=0,this._context=new Nu}parse(e){this._initialize(e);let r=[];for(;!this._isAtEnd();){let n=this._global_decl_or_directive();if(!n)break;r.push(n)}return r}_initialize(e){if(e)if(typeof e=="string"){let r=new ul(e);this._tokens=r.scanTokens()}else this._tokens=e;else this._tokens=[];this._current=0}_error(e,r){return console.error(e,r),{token:e,message:r,toString:function(){return`${r}`}}}_isAtEnd(){return this._current>=this._tokens.length||this._peek().type==_.eof}_match(e){if(e instanceof T)return this._check(e)?(this._advance(),!0):!1;for(let r=0,n=e.length;r<n;++r){let s=e[r];if(this._check(s))return this._advance(),!0}return!1}_consume(e,r){if(this._check(e))return this._advance();throw this._error(this._peek(),r)}_check(e){if(this._isAtEnd())return!1;let r=this._peek();if(e instanceof Array){let n=r.type;return e.indexOf(n)!=-1}return r.type==e}_advance(){return this._isAtEnd()||this._current++,this._previous()}_peek(){return this._tokens[this._current]}_previous(){return this._tokens[this._current-1]}_global_decl_or_directive(){for(;this._match(_.tokens.semicolon)&&!this._isAtEnd(););if(this._match(_.keywords.alias)){let r=this._type_alias();return this._consume(_.tokens.semicolon,"Expected ';'"),r}if(this._match(_.keywords.enable)){let r=this._enable_directive();return this._consume(_.tokens.semicolon,"Expected ';'"),r}let e=this._attribute();if(this._check(_.keywords.var)){let r=this._global_variable_decl();return r!=null&&(r.attributes=e),this._consume(_.tokens.semicolon,"Expected ';'."),r}if(this._check(_.keywords.override)){let r=this._override_variable_decl();return r!=null&&(r.attributes=e),this._consume(_.tokens.semicolon,"Expected ';'."),r}if(this._check(_.keywords.let)){let r=this._global_let_decl();return r!=null&&(r.attributes=e),this._consume(_.tokens.semicolon,"Expected ';'."),r}if(this._check(_.keywords.const)){let r=this._global_const_decl();return r!=null&&(r.attributes=e),this._consume(_.tokens.semicolon,"Expected ';'."),r}if(this._check(_.keywords.struct)){let r=this._struct_decl();return r!=null&&(r.attributes=e),r}if(this._check(_.keywords.fn)){let r=this._function_decl();return r!=null&&(r.attributes=e),r}return null}_function_decl(){if(!this._match(_.keywords.fn))return null;let e=this._consume(_.tokens.ident,"Expected function name.").toString();this._consume(_.tokens.paren_left,"Expected '(' for function arguments.");let r=[];if(!this._check(_.tokens.paren_right))do{if(this._check(_.tokens.paren_right))break;let i=this._attribute(),o=this._consume(_.tokens.ident,"Expected argument name.").toString();this._consume(_.tokens.colon,"Expected ':' for argument type.");let a=this._attribute(),c=this._type_decl();c!=null&&(c.attributes=a,r.push(new ol(o,c,i)))}while(this._match(_.tokens.comma));this._consume(_.tokens.paren_right,"Expected ')' after function arguments.");let n=null;if(this._match(_.tokens.arrow)){let i=this._attribute();n=this._type_decl(),n!=null&&(n.attributes=i)}let s=this._compound_statement();return new ao(e,r,n,s)}_compound_statement(){let e=[];for(this._consume(_.tokens.brace_left,"Expected '{' for block.");!this._check(_.tokens.brace_right);){let r=this._statement();r!==null&&e.push(r)}return this._consume(_.tokens.brace_right,"Expected '}' for block."),e}_statement(){for(;this._match(_.tokens.semicolon)&&!this._isAtEnd(););if(this._check(_.keywords.if))return this._if_statement();if(this._check(_.keywords.switch))return this._switch_statement();if(this._check(_.keywords.loop))return this._loop_statement();if(this._check(_.keywords.for))return this._for_statement();if(this._check(_.keywords.while))return this._while_statement();if(this._check(_.keywords.continuing))return this._continuing_statement();if(this._check(_.keywords.static_assert))return this._static_assert_statement();if(this._check(_.tokens.brace_left))return this._compound_statement();let e=null;return this._check(_.keywords.return)?e=this._return_statement():this._check([_.keywords.var,_.keywords.let,_.keywords.const])?e=this._variable_statement():this._match(_.keywords.discard)?e=new Ku:this._match(_.keywords.break)?e=new Yu:this._match(_.keywords.continue)?e=new Zu:e=this._increment_decrement_statement()||this._func_call_statement()||this._assignment_statement(),e!=null&&this._consume(_.tokens.semicolon,"Expected ';' after statement."),e}_static_assert_statement(){if(!this._match(_.keywords.static_assert))return null;let e=this._optional_paren_expression();return new Du(e)}_while_statement(){if(!this._match(_.keywords.while))return null;let e=this._optional_paren_expression(),r=this._compound_statement();return new Uu(e,r)}_continuing_statement(){if(!this._match(_.keywords.continuing))return null;let e=this._compound_statement();return new Gu(e)}_for_statement(){if(!this._match(_.keywords.for))return null;this._consume(_.tokens.paren_left,"Expected '('.");let e=this._check(_.tokens.semicolon)?null:this._for_init();this._consume(_.tokens.semicolon,"Expected ';'.");let r=this._check(_.tokens.semicolon)?null:this._short_circuit_or_expression();this._consume(_.tokens.semicolon,"Expected ';'.");let n=this._check(_.tokens.paren_right)?null:this._for_increment();this._consume(_.tokens.paren_right,"Expected ')'.");let s=this._compound_statement();return new ku(e,r,n,s)}_for_init(){return this._variable_statement()||this._func_call_statement()||this._assignment_statement()}_for_increment(){return this._func_call_statement()||this._increment_decrement_statement()||this._assignment_statement()}_variable_statement(){if(this._check(_.keywords.var)){let e=this._variable_decl();if(e===null)throw this._error(this._peek(),"Variable declaration expected.");let r=null;return this._match(_.tokens.equal)&&(r=this._short_circuit_or_expression()),new $t(e.name,e.type,e.storage,e.access,r)}if(this._match(_.keywords.let)){let e=this._consume(_.tokens.ident,"Expected name for let.").toString(),r=null;if(this._match(_.tokens.colon)){let s=this._attribute();r=this._type_decl(),r!=null&&(r.attributes=s)}this._consume(_.tokens.equal,"Expected '=' for let.");let n=this._short_circuit_or_expression();return new uo(e,r,null,null,n)}if(this._match(_.keywords.const)){let e=this._consume(_.tokens.ident,"Expected name for const.").toString(),r=null;if(this._match(_.tokens.colon)){let s=this._attribute();r=this._type_decl(),r!=null&&(r.attributes=s)}this._consume(_.tokens.equal,"Expected '=' for const.");let n=this._short_circuit_or_expression();return new lo(e,r,null,null,n)}return null}_increment_decrement_statement(){let e=this._current,r=this._unary_expression();if(r==null)return null;if(!this._check(_.increment_operators))return this._current=e,null;let n=this._consume(_.increment_operators,"Expected increment operator");return new Hu(n.type===_.tokens.plus_plus?un.increment:un.decrement,r)}_assignment_statement(){let e=null;if(this._check(_.tokens.brace_right))return null;let r=this._match(_.tokens.underscore);if(r||(e=this._unary_expression()),!r&&e==null)return null;let n=this._consume(_.assignment_operators,"Expected assignment operator."),s=this._short_circuit_or_expression();return new Vu(_s.parse(n.lexeme),e,s)}_func_call_statement(){if(!this._check(_.tokens.ident))return null;let e=this._current,r=this._consume(_.tokens.ident,"Expected function name."),n=this._argument_expression_list();return n===null?(this._current=e,null):new zu(r.lexeme,n)}_loop_statement(){if(!this._match(_.keywords.loop))return null;this._consume(_.tokens.brace_left,"Expected '{' for loop.");let e=[],r=this._statement();for(;r!==null;){if(Array.isArray(r))for(let s of r)e.push(s);else e.push(r);r=this._statement()}let n=null;return this._match(_.keywords.continuing)&&(n=this._compound_statement()),this._consume(_.tokens.brace_right,"Expected '}' for loop."),new ju(e,n)}_switch_statement(){if(!this._match(_.keywords.switch))return null;let e=this._optional_paren_expression();this._consume(_.tokens.brace_left,"Expected '{' for switch.");let r=this._switch_body();if(r==null||r.length==0)throw this._error(this._previous(),"Expected 'case' or 'default'.");return this._consume(_.tokens.brace_right,"Expected '}' for switch."),new qu(e,r)}_switch_body(){let e=[];if(this._match(_.keywords.case)){let r=this._case_selectors();this._match(_.tokens.colon),this._consume(_.tokens.brace_left,"Exected '{' for switch case.");let n=this._case_body();this._consume(_.tokens.brace_right,"Exected '}' for switch case."),e.push(new sl(r,n))}if(this._match(_.keywords.default)){this._match(_.tokens.colon),this._consume(_.tokens.brace_left,"Exected '{' for switch default.");let r=this._case_body();this._consume(_.tokens.brace_right,"Exected '}' for switch default."),e.push(new il(r))}if(this._check([_.keywords.default,_.keywords.case])){let r=this._switch_body();e.push(r[0])}return e}_case_selectors(){var e,r,n,s;let i=[(r=(e=this._shift_expression())===null||e===void 0?void 0:e.evaluate(this._context).toString())!==null&&r!==void 0?r:""];for(;this._match(_.tokens.comma);)i.push((s=(n=this._shift_expression())===null||n===void 0?void 0:n.evaluate(this._context).toString())!==null&&s!==void 0?s:"");return i}_case_body(){if(this._match(_.keywords.fallthrough))return this._consume(_.tokens.semicolon,"Expected ';'"),[];let e=this._statement();if(e==null)return[];e instanceof Array||(e=[e]);let r=this._case_body();return r.length==0?e:[...e,r[0]]}_if_statement(){if(!this._match(_.keywords.if))return null;let e=this._optional_paren_expression(),r=this._compound_statement(),n=[];this._match_elseif()&&(n=this._elseif_statement(n));let s=null;return this._match(_.keywords.else)&&(s=this._compound_statement()),new Ju(e,r,n,s)}_match_elseif(){return this._tokens[this._current].type===_.keywords.else&&this._tokens[this._current+1].type===_.keywords.if?(this._advance(),this._advance(),!0):!1}_elseif_statement(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=this._optional_paren_expression(),n=this._compound_statement();return e.push(new al(r,n)),this._match_elseif()&&this._elseif_statement(e),e}_return_statement(){if(!this._match(_.keywords.return))return null;let e=this._short_circuit_or_expression();return new Wu(e)}_short_circuit_or_expression(){let e=this._short_circuit_and_expr();for(;this._match(_.tokens.or_or);)e=new Ve(this._previous().toString(),e,this._short_circuit_and_expr());return e}_short_circuit_and_expr(){let e=this._inclusive_or_expression();for(;this._match(_.tokens.and_and);)e=new Ve(this._previous().toString(),e,this._inclusive_or_expression());return e}_inclusive_or_expression(){let e=this._exclusive_or_expression();for(;this._match(_.tokens.or);)e=new Ve(this._previous().toString(),e,this._exclusive_or_expression());return e}_exclusive_or_expression(){let e=this._and_expression();for(;this._match(_.tokens.xor);)e=new Ve(this._previous().toString(),e,this._and_expression());return e}_and_expression(){let e=this._equality_expression();for(;this._match(_.tokens.and);)e=new Ve(this._previous().toString(),e,this._equality_expression());return e}_equality_expression(){let e=this._relational_expression();return this._match([_.tokens.equal_equal,_.tokens.not_equal])?new Ve(this._previous().toString(),e,this._relational_expression()):e}_relational_expression(){let e=this._shift_expression();for(;this._match([_.tokens.less_than,_.tokens.greater_than,_.tokens.less_than_equal,_.tokens.greater_than_equal]);)e=new Ve(this._previous().toString(),e,this._shift_expression());return e}_shift_expression(){let e=this._additive_expression();for(;this._match([_.tokens.shift_left,_.tokens.shift_right]);)e=new Ve(this._previous().toString(),e,this._additive_expression());return e}_additive_expression(){let e=this._multiplicative_expression();for(;this._match([_.tokens.plus,_.tokens.minus]);)e=new Ve(this._previous().toString(),e,this._multiplicative_expression());return e}_multiplicative_expression(){let e=this._unary_expression();for(;this._match([_.tokens.star,_.tokens.forward_slash,_.tokens.modulo]);)e=new Ve(this._previous().toString(),e,this._unary_expression());return e}_unary_expression(){return this._match([_.tokens.minus,_.tokens.bang,_.tokens.tilde,_.tokens.star,_.tokens.and])?new nl(this._previous().toString(),this._unary_expression()):this._singular_expression()}_singular_expression(){let e=this._primary_expression(),r=this._postfix_expression();return r&&(e.postfix=r),e}_postfix_expression(){if(this._match(_.tokens.bracket_left)){let e=this._short_circuit_or_expression();this._consume(_.tokens.bracket_right,"Expected ']'.");let r=this._postfix_expression();return r&&(e.postfix=r),e}if(this._match(_.tokens.period)){let e=this._consume(_.tokens.ident,"Expected member name."),r=this._postfix_expression(),n=new mo(e.lexeme);return r&&(n.postfix=r),n}return null}_getStruct(e){return this._context.aliases.has(e)?this._context.aliases.get(e).type:this._context.structs.has(e)?this._context.structs.get(e):null}_primary_expression(){if(this._match(_.tokens.ident)){let n=this._previous().toString();if(this._check(_.tokens.paren_left)){let s=this._argument_expression_list(),i=this._getStruct(n);return i!=null?new Sr(i,s):new $u(n,s)}if(this._context.constants.has(n)){let s=this._context.constants.get(n);return new go(n,s.value)}return new el(n)}if(this._match(_.const_literal))return new yo(parseFloat(this._previous().toString()));if(this._check(_.tokens.paren_left))return this._paren_expression();if(this._match(_.keywords.bitcast)){this._consume(_.tokens.less_than,"Expected '<'.");let n=this._type_decl();this._consume(_.tokens.greater_than,"Expected '>'.");let s=this._paren_expression();return new tl(n,s)}let e=this._type_decl(),r=this._argument_expression_list();return new rl(e,r)}_argument_expression_list(){if(!this._match(_.tokens.paren_left))return null;let e=[];do{if(this._check(_.tokens.paren_right))break;let r=this._short_circuit_or_expression();e.push(r)}while(this._match(_.tokens.comma));return this._consume(_.tokens.paren_right,"Expected ')' for agument list"),e}_optional_paren_expression(){this._match(_.tokens.paren_left);let e=this._short_circuit_or_expression();return this._match(_.tokens.paren_right),new _o([e])}_paren_expression(){this._consume(_.tokens.paren_left,"Expected '('.");let e=this._short_circuit_or_expression();return this._consume(_.tokens.paren_right,"Expected ')'."),new _o([e])}_struct_decl(){if(!this._match(_.keywords.struct))return null;let e=this._consume(_.tokens.ident,"Expected name for struct.").toString();this._consume(_.tokens.brace_left,"Expected '{' for struct body.");let r=[];for(;!this._check(_.tokens.brace_right);){let s=this._attribute(),i=this._consume(_.tokens.ident,"Expected variable name.").toString();this._consume(_.tokens.colon,"Expected ':' for struct member type.");let o=this._attribute(),a=this._type_decl();a!=null&&(a.attributes=o),this._check(_.tokens.brace_right)?this._match(_.tokens.comma):this._consume(_.tokens.comma,"Expected ',' for struct member."),r.push(new cl(i,a,s))}this._consume(_.tokens.brace_right,"Expected '}' after struct body.");let n=new Mt(e,r);return this._context.structs.set(e,n),n}_global_variable_decl(){let e=this._variable_decl();return e&&this._match(_.tokens.equal)&&(e.value=this._const_expression()),e}_override_variable_decl(){let e=this._override_decl();return e&&this._match(_.tokens.equal)&&(e.value=this._const_expression()),e}_global_const_decl(){if(!this._match(_.keywords.const))return null;let e=this._consume(_.tokens.ident,"Expected variable name"),r=null;if(this._match(_.tokens.colon)){let i=this._attribute();r=this._type_decl(),r!=null&&(r.attributes=i)}let n=null;if(this._match(_.tokens.equal)){let i=this._short_circuit_or_expression();if(i instanceof Sr)n=i;else if(i instanceof go&&i.initializer instanceof Sr)n=i.initializer;else try{let o=i.evaluate(this._context);n=new yo(o)}catch{n=i}}let s=new lo(e.toString(),r,"","",n);return this._context.constants.set(s.name,s),s}_global_let_decl(){if(!this._match(_.keywords.let))return null;let e=this._consume(_.tokens.ident,"Expected variable name"),r=null;if(this._match(_.tokens.colon)){let s=this._attribute();r=this._type_decl(),r!=null&&(r.attributes=s)}let n=null;return this._match(_.tokens.equal)&&(n=this._const_expression()),new uo(e.toString(),r,"","",n)}_const_expression(){if(this._match(_.const_literal))return new mo(this._previous().toString());let e=this._type_decl();this._consume(_.tokens.paren_left,"Expected '('.");let r=[];for(;!this._check(_.tokens.paren_right)&&(r.push(this._const_expression()),!!this._check(_.tokens.comma));)this._advance();return this._consume(_.tokens.paren_right,"Expected ')'."),new Sr(e,r)}_variable_decl(){if(!this._match(_.keywords.var))return null;let e="",r="";this._match(_.tokens.less_than)&&(e=this._consume(_.storage_class,"Expected storage_class.").toString(),this._match(_.tokens.comma)&&(r=this._consume(_.access_mode,"Expected access_mode.").toString()),this._consume(_.tokens.greater_than,"Expected '>'."));let n=this._consume(_.tokens.ident,"Expected variable name"),s=null;if(this._match(_.tokens.colon)){let i=this._attribute();s=this._type_decl(),s!=null&&(s.attributes=i)}return new $t(n.toString(),s,e,r,null)}_override_decl(){if(!this._match(_.keywords.override))return null;let e=this._consume(_.tokens.ident,"Expected variable name"),r=null;if(this._match(_.tokens.colon)){let n=this._attribute();r=this._type_decl(),r!=null&&(r.attributes=n)}return new co(e.toString(),r,null)}_enable_directive(){let e=this._consume(_.tokens.ident,"identity expected.");return new Xu(e.toString())}_type_alias(){let e=this._consume(_.tokens.ident,"identity expected.");this._consume(_.tokens.equal,"Expected '=' for type alias.");let r=this._type_decl();if(r===null)throw this._error(this._peek(),"Expected Type for Alias.");this._context.aliases.has(r.name)&&(r=this._context.aliases.get(r.name).type);let n=new fo(e.toString(),r);return this._context.aliases.set(n.name,n),n}_type_decl(){if(this._check([_.tokens.ident,..._.texel_format,_.keywords.bool,_.keywords.f32,_.keywords.i32,_.keywords.u32])){let n=this._advance(),s=n.toString();return this._context.structs.has(s)?this._context.structs.get(s):this._context.aliases.has(s)?this._context.aliases.get(s).type:new Ot(n.toString())}let e=this._texture_sampler_types();if(e)return e;if(this._check(_.template_types)){let n=this._advance().toString(),s=null,i=null;return this._match(_.tokens.less_than)&&(s=this._type_decl(),i=null,this._match(_.tokens.comma)&&(i=this._consume(_.access_mode,"Expected access_mode for pointer").toString()),this._consume(_.tokens.greater_than,"Expected '>' for type.")),new ho(n,s,i)}if(this._match(_.keywords.ptr)){let n=this._previous().toString();this._consume(_.tokens.less_than,"Expected '<' for pointer.");let s=this._consume(_.storage_class,"Expected storage_class for pointer");this._consume(_.tokens.comma,"Expected ',' for pointer.");let i=this._type_decl(),o=null;return this._match(_.tokens.comma)&&(o=this._consume(_.access_mode,"Expected access_mode for pointer").toString()),this._consume(_.tokens.greater_than,"Expected '>' for pointer."),new Qu(n,s.toString(),i,o)}let r=this._attribute();if(this._match(_.keywords.array)){let n=null,s=-1,i=this._previous();if(this._match(_.tokens.less_than)){n=this._type_decl(),this._context.aliases.has(n.name)&&(n=this._context.aliases.get(n.name).type);let o="";this._match(_.tokens.comma)&&(o=this._shift_expression().evaluate(this._context).toString()),this._consume(_.tokens.greater_than,"Expected '>' for array."),s=o?parseInt(o):0}return new po(i.toString(),r,n,s)}return null}_texture_sampler_types(){if(this._match(_.sampler_type))return new wr(this._previous().toString(),null,null);if(this._match(_.depth_texture_type))return new wr(this._previous().toString(),null,null);if(this._match(_.sampled_texture_type)||this._match(_.multisampled_texture_type)){let e=this._previous();this._consume(_.tokens.less_than,"Expected '<' for sampler type.");let r=this._type_decl();return this._consume(_.tokens.greater_than,"Expected '>' for sampler type."),new wr(e.toString(),r,null)}if(this._match(_.storage_texture_type)){let e=this._previous();this._consume(_.tokens.less_than,"Expected '<' for sampler type.");let r=this._consume(_.texel_format,"Invalid texel format.").toString();this._consume(_.tokens.comma,"Expected ',' after texel format.");let n=this._consume(_.access_mode,"Expected access mode for storage texture type.").toString();return this._consume(_.tokens.greater_than,"Expected '>' for sampler type."),new wr(e.toString(),r,n)}return null}_attribute(){let e=[];for(;this._match(_.tokens.attr);){let r=this._consume(_.attribute_name,"Expected attribute name"),n=new xo(r.toString(),null);if(this._match(_.tokens.paren_left)){if(n.value=this._consume(_.literal_or_ident,"Expected attribute value").toString(),this._check(_.tokens.comma)){this._advance();do{let s=this._consume(_.literal_or_ident,"Expected attribute value").toString();n.value instanceof Array||(n.value=[n.value]),n.value.push(s)}while(this._match(_.tokens.comma))}this._consume(_.tokens.paren_right,"Expected ')'")}e.push(n)}for(;this._match(_.tokens.attr_left);){if(!this._check(_.tokens.attr_right))do{let r=this._consume(_.attribute_name,"Expected attribute name"),n=new xo(r.toString(),null);if(this._match(_.tokens.paren_left)){if(n.value=[this._consume(_.literal_or_ident,"Expected attribute value").toString()],this._check(_.tokens.comma)){this._advance();do{let s=this._consume(_.literal_or_ident,"Expected attribute value").toString();n.value.push(s)}while(this._match(_.tokens.comma))}this._consume(_.tokens.paren_right,"Expected ')'")}e.push(n)}while(this._match(_.tokens.comma));this._consume(_.tokens.attr_right,"Expected ']]' after attribute declarations")}return e.length==0?null:e}},er=class{constructor(e,r){this.name=e,this.attributes=r,this.size=0}get isArray(){return!1}get isStruct(){return!1}get isTemplate(){return!1}},To=class{constructor(e,r,n){this.name=e,this.type=r,this.attributes=n,this.offset=0,this.size=0}get isArray(){return this.type.isArray}get isStruct(){return this.type.isStruct}get isTemplate(){return this.type.isTemplate}get align(){return this.type.isStruct?this.type.align:0}get members(){return this.type.isStruct?this.type.members:null}get format(){return this.type.isArray?this.type.format:this.type.isTemplate?this.type.format:null}get count(){return this.type.isArray?this.type.count:0}get stride(){return this.type.isArray?this.type.stride:this.size}},on=class extends er{constructor(e,r){super(e,r),this.members=[],this.align=0}get isStruct(){return!0}},ys=class extends er{constructor(e,r){super(e,r),this.count=0,this.stride=0}get isArray(){return!0}},Eo=class extends er{constructor(e,r,n,s){super(e,n),this.format=r,this.access=s}get isTemplate(){return!0}},Qt;(function(t){t[t.Uniform=0]="Uniform",t[t.Storage=1]="Storage",t[t.Texture=2]="Texture",t[t.Sampler=3]="Sampler",t[t.StorageTexture=4]="StorageTexture"})(Qt||(Qt={}));var an=class{constructor(e,r,n,s,i,o,a){this.name=e,this.type=r,this.group=n,this.binding=s,this.attributes=i,this.resourceType=o,this.access=a}get isArray(){return this.type.isArray}get isStruct(){return this.type.isStruct}get isTemplate(){return this.type.isTemplate}get size(){return this.type.size}get align(){return this.type.isStruct?this.type.align:0}get members(){return this.type.isStruct?this.type.members:null}get format(){return this.type.isArray?this.type.format:this.type.isTemplate?this.type.format:null}get count(){return this.type.isArray?this.type.count:0}get stride(){return this.type.isArray?this.type.stride:this.size}},fl=class{constructor(e,r){this.name=e,this.type=r}},cn=class{constructor(e,r){this.align=e,this.size=r}},hl=class{constructor(e,r,n,s){this.name=e,this.type=r,this.locationType=n,this.location=s,this.interpolation=null}},wo=class{constructor(e,r,n,s){this.name=e,this.type=r,this.locationType=n,this.location=s}},dl=class{constructor(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.stage=null,this.inputs=[],this.outputs=[],this.name=e,this.stage=r}},pl=class{constructor(){this.vertex=[],this.fragment=[],this.compute=[]}},ml=class{constructor(e,r,n,s){this.name=e,this.type=r,this.attributes=n,this.id=s}},ze=class{constructor(e){this.uniforms=[],this.storage=[],this.textures=[],this.samplers=[],this.aliases=[],this.overrides=[],this.structs=[],this.entry=new pl,this._types=new Map,e&&this.update(e)}_isStorageTexture(e){return e.name=="texture_storage_1d"||e.name=="texture_storage_2d"||e.name=="texture_storage_2d_array"||e.name=="texture_storage_3d"}update(e){let n=new ll().parse(e);for(let s of n){if(s instanceof Mt){let i=this._getTypeInfo(s,null);i instanceof on&&this.structs.push(i);continue}if(s instanceof fo){this.aliases.push(this._getAliasInfo(s));continue}if(s instanceof co){let i=s,o=this._getAttributeNum(i.attributes,"id",0),a=i.type!=null?this._getTypeInfo(i.type,i.attributes):null;this.overrides.push(new ml(i.name,a,i.attributes,o));continue}if(this._isUniformVar(s)){let i=s,o=this._getAttributeNum(i.attributes,"group",0),a=this._getAttributeNum(i.attributes,"binding",0),c=this._getTypeInfo(i.type,i.attributes),u=new an(i.name,c,o,a,i.attributes,Qt.Uniform,i.access);this.uniforms.push(u);continue}if(this._isStorageVar(s)){let i=s,o=this._getAttributeNum(i.attributes,"group",0),a=this._getAttributeNum(i.attributes,"binding",0),c=this._getTypeInfo(i.type,i.attributes),u=this._isStorageTexture(c),l=new an(i.name,c,o,a,i.attributes,u?Qt.StorageTexture:Qt.Storage,i.access);this.storage.push(l);continue}if(this._isTextureVar(s)){let i=s,o=this._getAttributeNum(i.attributes,"group",0),a=this._getAttributeNum(i.attributes,"binding",0),c=this._getTypeInfo(i.type,i.attributes),u=this._isStorageTexture(c),l=new an(i.name,c,o,a,i.attributes,u?Qt.StorageTexture:Qt.Texture,i.access);u?this.storage.push(l):this.textures.push(l);continue}if(this._isSamplerVar(s)){let i=s,o=this._getAttributeNum(i.attributes,"group",0),a=this._getAttributeNum(i.attributes,"binding",0),c=this._getTypeInfo(i.type,i.attributes),u=new an(i.name,c,o,a,i.attributes,Qt.Sampler,i.access);this.samplers.push(u);continue}if(s instanceof ao){let i=this._getAttribute(s,"vertex"),o=this._getAttribute(s,"fragment"),a=this._getAttribute(s,"compute"),c=i||o||a;if(c){let u=new dl(s.name,c.name);u.inputs=this._getInputs(s.args),u.outputs=this._getOutputs(s.returnType),this.entry[c.name].push(u)}continue}}}getBindGroups(){let e=[];function r(n,s){n>=e.length&&(e.length=n+1),e[n]===void 0&&(e[n]=[]),s>=e[n].length&&(e[n].length=s+1)}for(let n of this.uniforms){r(n.group,n.binding);let s=e[n.group];s[n.binding]=n}for(let n of this.storage){r(n.group,n.binding);let s=e[n.group];s[n.binding]=n}for(let n of this.textures){r(n.group,n.binding);let s=e[n.group];s[n.binding]=n}for(let n of this.samplers){r(n.group,n.binding);let s=e[n.group];s[n.binding]=n}return e}_getOutputs(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(r===void 0&&(r=[]),e instanceof Mt)this._getStructOutputs(e,r);else{let n=this._getOutputInfo(e);n!==null&&r.push(n)}return r}_getStructOutputs(e,r){for(let n of e.members)if(n.type instanceof Mt)this._getStructOutputs(n.type,r);else{let s=this._getAttribute(n,"location")||this._getAttribute(n,"builtin");if(s!==null){let i=this._getTypeInfo(n.type,n.type.attributes),o=this._parseInt(s.value),a=new wo(n.name,i,s.name,o);r.push(a)}}}_getOutputInfo(e){let r=this._getAttribute(e,"location")||this._getAttribute(e,"builtin");if(r!==null){let n=this._getTypeInfo(e,e.attributes),s=this._parseInt(r.value);return new wo("",n,r.name,s)}return null}_getInputs(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;r===void 0&&(r=[]);for(let n of e)if(n.type instanceof Mt)this._getStructInputs(n.type,r);else{let s=this._getInputInfo(n);s!==null&&r.push(s)}return r}_getStructInputs(e,r){for(let n of e.members)if(n.type instanceof Mt)this._getStructInputs(n.type,r);else{let s=this._getInputInfo(n);s!==null&&r.push(s)}}_getInputInfo(e){let r=this._getAttribute(e,"location")||this._getAttribute(e,"builtin");if(r!==null){let n=this._getAttribute(e,"interpolation"),s=this._getTypeInfo(e.type,e.attributes),i=this._parseInt(r.value),o=new hl(e.name,s,r.name,i);return n!==null&&(o.interpolation=this._parseString(n.value)),o}return null}_parseString(e){return e instanceof Array&&(e=e[0]),e}_parseInt(e){e instanceof Array&&(e=e[0]);let r=parseInt(e);return isNaN(r)?e:r}_getAlias(e){for(let r of this.aliases)if(r.name==e)return r.type;return null}_getAliasInfo(e){return new fl(e.name,this._getTypeInfo(e.type,null))}_getTypeInfo(e,r){if(this._types.has(e))return this._types.get(e);if(e instanceof po){let s=e,i=this._getTypeInfo(s.format,s.attributes),o=new ys(s.name,r);return o.format=i,o.count=s.count,this._types.set(e,o),this._updateTypeInfo(o),o}if(e instanceof Mt){let s=e,i=new on(s.name,r);for(let o of s.members){let a=this._getTypeInfo(o.type,o.attributes);i.members.push(new To(o.name,a,o.attributes))}return this._types.set(e,i),this._updateTypeInfo(i),i}if(e instanceof wr){let s=e,i=s.format instanceof Ot,o=s.format?i?this._getTypeInfo(s.format,null):new er(s.format,null):null,a=new Eo(s.name,o,r,s.access);return this._types.set(e,a),this._updateTypeInfo(a),a}if(e instanceof ho){let s=e,i=s.format?this._getTypeInfo(s.format,null):null,o=new Eo(s.name,i,r,s.access);return this._types.set(e,o),this._updateTypeInfo(o),o}let n=new er(e.name,r);return this._types.set(e,n),this._updateTypeInfo(n),n}_updateTypeInfo(e){var r,n;let s=this._getTypeSize(e);if(e.size=(r=s?.size)!==null&&r!==void 0?r:0,e instanceof ys){let i=this._getTypeSize(e.format);e.stride=(n=i?.size)!==null&&n!==void 0?n:0,this._updateTypeInfo(e.format)}e instanceof on&&this._updateStructInfo(e)}_updateStructInfo(e){var r;let n=0,s=0,i=0,o=0;for(let a=0,c=e.members.length;a<c;++a){let u=e.members[a],l=this._getTypeSize(u);if(!l)continue;(r=this._getAlias(u.type.name))!==null&&r!==void 0||u.type;let f=l.align,h=l.size;n=this._roundUp(f,n+s),s=h,i=n,o=Math.max(o,f),u.offset=n,u.size=h,this._updateTypeInfo(u.type)}e.size=this._roundUp(o,i+s),e.align=o}_getTypeSize(e){var r;if(e==null)return null;let n=this._getAttributeNum(e.attributes,"size",0),s=this._getAttributeNum(e.attributes,"align",0);if(e instanceof To&&(e=e.type),e instanceof er){let i=this._getAlias(e.name);i!==null&&(e=i)}{let i=ze._typeInfo[e.name];if(i!==void 0){let o=e.format==="f16"?2:1;return new cn(Math.max(s,i.align/o),Math.max(n,i.size/o))}}{let i=ze._typeInfo[e.name.substring(0,e.name.length-1)];if(i){let o=e.name[e.name.length-1]==="h"?2:1;return new cn(Math.max(s,i.align/o),Math.max(n,i.size/o))}}if(e instanceof ys){let i=e,o=8,a=8,c=this._getTypeSize(i.format);c!==null&&(a=c.size,o=c.align);let u=i.count,l=this._getAttributeNum((r=e?.attributes)!==null&&r!==void 0?r:null,"stride",this._roundUp(o,a));return a=u*l,n&&(a=n),new cn(Math.max(s,o),Math.max(n,a))}if(e instanceof on){let i=0,o=0,a=0,c=0,u=0;for(let l of e.members){let f=this._getTypeSize(l.type);f!==null&&(i=Math.max(f.align,i),a=this._roundUp(f.align,a+c),c=f.size,u=a)}return o=this._roundUp(i,u+c),new cn(Math.max(s,i),Math.max(n,o))}return null}_isUniformVar(e){return e instanceof $t&&e.storage=="uniform"}_isStorageVar(e){return e instanceof $t&&e.storage=="storage"}_isTextureVar(e){return e instanceof $t&&e.type!==null&&ze._textureTypes.indexOf(e.type.name)!=-1}_isSamplerVar(e){return e instanceof $t&&e.type!==null&&ze._samplerTypes.indexOf(e.type.name)!=-1}_getAttribute(e,r){let n=e;if(!n||!n.attributes)return null;let s=n.attributes;for(let i of s)if(i.name==r)return i;return null}_getAttributeNum(e,r,n){if(e===null)return n;for(let s of e)if(s.name==r){let i=s!==null&&s.value!==null?s.value:n;return i instanceof Array&&(i=i[0]),typeof i=="number"?i:typeof i=="string"?parseInt(i):n}return n}_roundUp(e,r){return Math.ceil(r/e)*e}};ze._typeInfo={f16:{align:2,size:2},i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},atomic:{align:4,size:4},vec2:{align:8,size:8},vec3:{align:16,size:12},vec4:{align:16,size:16},mat2x2:{align:8,size:16},mat3x2:{align:8,size:24},mat4x2:{align:8,size:32},mat2x3:{align:16,size:32},mat3x3:{align:16,size:48},mat4x3:{align:16,size:64},mat2x4:{align:16,size:32},mat3x4:{align:16,size:48},mat4x4:{align:16,size:64}};ze._textureTypes=_.any_texture_type.map(t=>t.name);ze._samplerTypes=_.sampler_type.map(t=>t.name);function So(t){let e={attributes:[],bindings:[]},r=PS(t);for(let i of r.uniforms){let o=[];for(let a of i.type.members)o.push({name:a.name,type:xg(a.type)});e.bindings.push({type:"uniform",name:i.name,location:i.binding,group:i.group,members:o})}let n=r.entry.vertex[0],s=n.inputs.length;for(let i=0;i<s;i++){let o=n.inputs[i];if(o.locationType==="location"){let a=xg(o.type);e.attributes.push({name:o.name,location:o.location,type:a})}}return e}function xg(t){return t.format?`${t.name}<${t.format.name}>`:t.name}function PS(t){try{return new ze(t)}catch(e){if(e instanceof Error)throw e;let r="WGSL parse error";throw typeof e=="object"&&e!==null&&e!==void 0&&e.message&&(r+=`: ${e.message} `),typeof e=="object"&&e!==null&&e!==void 0&&e.token&&(r+=e.token.line||""),new Error(r,{cause:e})}}var gl=ue`\
169
172
  #if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))
170
173
 
171
174
  struct AmbientLight {
@@ -200,7 +203,7 @@ float getPointLightAttenuation(PointLight pointLight, float distance) {
200
203
  }
201
204
 
202
205
  #endif
203
- `;var cS={lightSources:{}};function Kc(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:e=[0,0,0],intensity:r=1}=t;return e.map(n=>n*r/255)}function uS(t){let{ambientLight:e,pointLights:r=[],directionalLights:n=[]}=t,i={};return e?i["lighting_uAmbientLight.color"]=Kc(e):i["lighting_uAmbientLight.color"]=[0,0,0],r.forEach((o,s)=>{i[`lighting_uPointLight[${s}].color`]=Kc(o),i[`lighting_uPointLight[${s}].position`]=o.position,i[`lighting_uPointLight[${s}].attenuation`]=o.attenuation||[1,0,0]}),i.lighting_uPointLightCount=r.length,n.forEach((o,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=Kc(o),i[`lighting_uDirectionalLight[${s}].direction`]=o.direction}),i.lighting_uDirectionalLightCount=n.length,i}function Qp(){var t,e;let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cS;if("lightSources"in r){let{ambientLight:n,pointLights:i,directionalLights:o}=r.lightSources||{};return n||i&&i.length>0||o&&o.length>0?Object.assign({},uS({ambientLight:n,pointLights:i,directionalLights:o}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in r){let n={pointLights:[],directionalLights:[]};for(let i of r.lights||[])switch(i.type){case"ambient":n.ambientLight=i;break;case"directional":(t=n.directionalLights)===null||t===void 0||t.push(i);break;case"point":(e=n.pointLights)===null||e===void 0||e.push(i);break;default:}return Qp({lightSources:n})}return{}}var $p={name:"lights",vs:Xc,fs:Xc,getUniforms:Qp,defines:{MAX_LIGHTS:3}};var em=ne`\
206
+ `;var FS={lightSources:{}};function yl(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:e=[0,0,0],intensity:r=1}=t;return e.map(n=>n*r/255)}function NS(t){let{ambientLight:e,pointLights:r=[],directionalLights:n=[]}=t,s={};return e?s["lighting_uAmbientLight.color"]=yl(e):s["lighting_uAmbientLight.color"]=[0,0,0],r.forEach((i,o)=>{s[`lighting_uPointLight[${o}].color`]=yl(i),s[`lighting_uPointLight[${o}].position`]=i.position,s[`lighting_uPointLight[${o}].attenuation`]=i.attenuation||[1,0,0]}),s.lighting_uPointLightCount=r.length,n.forEach((i,o)=>{s[`lighting_uDirectionalLight[${o}].color`]=yl(i),s[`lighting_uDirectionalLight[${o}].direction`]=i.direction}),s.lighting_uDirectionalLightCount=n.length,s}function bg(){var t,e;let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:FS;if("lightSources"in r){let{ambientLight:n,pointLights:s,directionalLights:i}=r.lightSources||{};return n||s&&s.length>0||i&&i.length>0?Object.assign({},NS({ambientLight:n,pointLights:s,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in r){let n={pointLights:[],directionalLights:[]};for(let s of r.lights||[])switch(s.type){case"ambient":n.ambientLight=s;break;case"directional":(t=n.directionalLights)===null||t===void 0||t.push(s);break;case"point":(e=n.pointLights)===null||e===void 0||e.push(s);break;default:}return bg({lightSources:n})}return{}}var Tg={name:"lights",vs:gl,fs:gl,getUniforms:bg,defines:{MAX_LIGHTS:3}};var Eg=ue`\
204
207
  uniform mat4 u_MVPMatrix;
205
208
  uniform mat4 u_ModelMatrix;
206
209
  uniform mat4 u_NormalMatrix;
@@ -238,7 +241,7 @@ void pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, ve
238
241
  pbr_vUV = vec2(0.,0.);
239
242
  #endif
240
243
  }
241
- `;var tm=ne`\
244
+ `;var wg=ue`\
242
245
  #if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)
243
246
  # error PBR fragment shader: Texture LOD is not available
244
247
  #endif
@@ -637,7 +640,7 @@ vec4 pbr_filterColor(vec4 colorUnused)
637
640
 
638
641
  return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);
639
642
  }
640
- `;var Yc={name:"pbr",vs:em,fs:tm,defines:{LIGHTING_FRAGMENT:1},dependencies:[$p]};var Zc=P(_t(),1);var No=class{constructor(e){this.modules=void 0,this.moduleUniforms=void 0,this.moduleBindings=void 0,this.moduleUniformsChanged=void 0;let r=qn(Object.values(e));Zc.log.log(1,"Creating ShaderInputs with modules",r.map(n=>n.name))(),this.modules=e,this.moduleUniforms={},this.moduleBindings={};for(let[n,i]of Object.entries(e)){let o=n;this.moduleUniforms[o]=i.defaultUniforms||{},this.moduleBindings[o]={}}}destroy(){}setProps(e){for(let n of Object.keys(e)){var r;let i=n,o=e[i],s=this.modules[i];if(!s){Zc.log.warn(`Module ${n} not found`)();continue}let a=this.moduleUniforms[i],c=((r=s.getUniforms)===null||r===void 0?void 0:r.call(s,o,this.moduleUniforms[i]))||o;this.moduleUniforms[i]={...a,...c}}}getModules(){return Object.values(this.modules)}getUniformValues(){return this.moduleUniforms}getBindings(){let e={};for(let r of Object.values(this.moduleBindings))Object.assign(e,r);return e}getDebugTable(){let e={};for(let[n,i]of Object.entries(this.moduleUniforms))for(let[o,s]of Object.entries(i)){var r;e[`${n}.${o}`]={type:(r=this.modules[n].uniformTypes)===null||r===void 0?void 0:r[o],value:String(s)}}return e}};var vt=P(_t(),1),Uo=class{constructor(e){this.id=void 0,this.userData={},this.topology=void 0,this.bufferLayout=[],this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.id=e.id||(0,vt.uid)("geometry"),this.topology=e.topology,this.indices=e.indices||null,this.attributes=e.attributes,this.vertexCount=e.vertexCount,this.bufferLayout=e.bufferLayout||[],this.indices&&(0,vt.assert)(this.indices.usage===vt.Buffer.INDEX)}destroy(){var e;this.indices.destroy(),this.attributes.positions.destroy(),this.attributes.normals.destroy(),this.attributes.texCoords.destroy(),(e=this.attributes.colors)===null||e===void 0||e.destroy()}getVertexCount(){return this.vertexCount}getAttributes(){return this.attributes}getIndexes(){return this.indices}_calculateVertexCount(e){return e.byteLength/12}};function rm(t,e){if(e instanceof Uo)return e;let r=lS(t,e),{attributes:n,bufferLayout:i}=fS(t,e);return new Uo({topology:e.topology||"triangle-list",bufferLayout:i,vertexCount:e.vertexCount,indices:r,attributes:n})}function lS(t,e){if(!e.indices)return;let r=e.indices.value;return t.createBuffer({usage:vt.Buffer.INDEX,data:r})}function fS(t,e){let r=[],n={};for(let[o,s]of Object.entries(e.attributes)){let a=o;switch(o){case"POSITION":a="positions";break;case"NORMAL":a="normals";break;case"TEXCOORD_0":a="texCoords";break;case"COLOR_0":a="colors";break}n[a]=t.createBuffer({data:s.value,id:`${o}-buffer`});let{value:c,size:u,normalized:l}=s;r.push({name:a,format:(0,vt.getVertexFormatFromAttribute)(c,u,l)})}let i=e._calculateVertexCount(e.attributes,e.indices);return{attributes:n,bufferLayout:r,vertexCount:i}}var nm=P(_t(),1),Ht=class{static getDefaultPipelineFactory(e){return e._lumaData.defaultPipelineFactory=e._lumaData.defaultPipelineFactory||new Ht(e),e._lumaData.defaultPipelineFactory}constructor(e){this.device=void 0,this._hashCounter=0,this._hashes={},this._useCounts={},this._pipelineCache={},this.device=e}createRenderPipeline(e){let r={...Ht.defaultProps,...e},n=this._hashRenderPipeline({...r});if(!this._pipelineCache[n]){let i=this.device.createRenderPipeline({...r,vs:this.device.createShader({stage:"vertex",source:r.vs}),fs:r.fs?this.device.createShader({stage:"fragment",source:r.fs}):null});i.hash=n,this._pipelineCache[n]=i,this._useCounts[n]=0}return this._useCounts[n]++,this._pipelineCache[n]}release(e){let r=e.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._pipelineCache[r].destroy(),delete this._pipelineCache[r],delete this._useCounts[r])}_createRenderPipeline(e){if(!e.fs)throw new Error("fs");return this.device.createRenderPipeline({...e,vs:this.device.createShader({stage:"vertex",source:e.vs}),fs:e.fs?this.device.createShader({stage:"fragment",source:e.fs}):null})}_hashRenderPipeline(e){let r=this._getHash(e.vs),n=e.fs?this._getHash(e.fs):0,i="-";switch(this.device.info.type){case"webgpu":let o=this._getHash(JSON.stringify(e.parameters)),s=this._getHash(JSON.stringify(e.bufferLayout));return`${r}/${n}V${i}T${e.topology}P${o}BL${s}}`;default:return`${r}/${n}V${i}`}}_getHash(e){return this._hashes[e]===void 0&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}};Ht.defaultProps={...nm.RenderPipeline.defaultProps,vs:void 0,fs:void 0};function im(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r={},n=`Shader Layout for ${e}`;for(let i of t.attributes)if(i){let o=`${i.location} ${i.name}: ${i.type}`;r[`in ${o}`]={[n]:i.stepMode||"vertex"}}for(let i of t.varyings||[]){let o=`${i.location} ${i.name}`;r[`out ${o}`]={[n]:JSON.stringify(i.accessor)}}return r}var Go=2,hS=1e4,Vt=class{constructor(e,r){var n,i,o;this.device=void 0,this.id=void 0,this.vs=void 0,this.fs=void 0,this.pipelineFactory=void 0,this.userData={},this.parameters=void 0,this.topology=void 0,this.bufferLayout=void 0,this.vertexCount=void 0,this.instanceCount=0,this.indexBuffer=null,this.bufferAttributes={},this.constantAttributes={},this.bindings={},this.uniforms={},this.vertexArray=void 0,this.transformFeedback=null,this.pipeline=void 0,this.shaderInputs=void 0,this._uniformStore=void 0,this._pipelineNeedsUpdate="newly created",this._attributeInfos={},this._gpuGeometry=null,this._getModuleUniforms=void 0,this.props=void 0,this._lastLogTime=0,this._logOpen=!1,this.props={...Vt.defaultProps,...r},r=this.props,this.id=r.id||(0,ce.uid)("model"),this.device=e,Object.assign(this.userData,r.userData);let s=Object.fromEntries(((n=this.props.modules)===null||n===void 0?void 0:n.map(h=>[h.name,h]))||[]);this.setShaderInputs(r.shaderInputs||new No(s));let a=dS(e),c=(((i=this.props.modules)===null||i===void 0?void 0:i.length)>0?this.props.modules:(o=this.shaderInputs)===null||o===void 0?void 0:o.getModules())||[],{vs:u,fs:l,getUniforms:f}=this.props.shaderAssembler.assembleShaders({platformInfo:a,...this.props,modules:c});if(this.vs=u,this.fs=l,this._getModuleUniforms=f,this.vertexCount=this.props.vertexCount,this.instanceCount=this.props.instanceCount,this.topology=this.props.topology,this.bufferLayout=this.props.bufferLayout,this.parameters=this.props.parameters,r.geometry&&(this._gpuGeometry=this.setGeometry(r.geometry)),this.pipelineFactory=r.pipelineFactory||Ht.getDefaultPipelineFactory(this.device),this.pipeline=this._updatePipeline(),this.vertexArray=e.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry),r.vertexCount&&this.setVertexCount(r.vertexCount),r.instanceCount&&this.setInstanceCount(r.instanceCount),r.indices)throw new Error("Model.props.indices removed. Use props.indexBuffer");r.indexBuffer&&this.setIndexBuffer(r.indexBuffer),r.attributes&&this.setAttributes(r.attributes),r.constantAttributes&&this.setConstantAttributes(r.constantAttributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&(ce.log.warn("Model.props.moduleSettings is deprecated. Use Model.shaderInputs.setProps()")(),this.updateModuleSettings(r.moduleSettings)),r.transformFeedback&&(this.transformFeedback=r.transformFeedback),Object.seal(this)}destroy(){this.pipelineFactory.release(this.pipeline),this._uniformStore.destroy()}predraw(){this.updateShaderInputs()}draw(e){this.predraw();try{this._logDrawCallStart(),this.pipeline=this._updatePipeline(),this.pipeline.setBindings(this.bindings),this.pipeline.setUniforms(this.uniforms),this.pipeline.draw({renderPass:e,vertexArray:this.vertexArray,vertexCount:this.vertexCount,instanceCount:this.instanceCount,transformFeedback:this.transformFeedback})}finally{this._logDrawCallEnd()}}setGeometry(e){let r=e&&rm(this.device,e);return this.setTopology(r.topology||"triangle-list"),this.bufferLayout=om(this.bufferLayout,r.bufferLayout),this.vertexArray&&this._setGeometryAttributes(r),r}_setGeometryAttributes(e){this.vertexCount=e.vertexCount,this.setAttributes(e.attributes,"ignore-unknown"),this.setIndexBuffer(e.indices)}setTopology(e){e!==this.topology&&(this.topology=e,this._setPipelineNeedsUpdate("topology"))}setBufferLayout(e){this.bufferLayout=this._gpuGeometry?om(e,this._gpuGeometry.bufferLayout):e,this._setPipelineNeedsUpdate("bufferLayout"),this.pipeline=this._updatePipeline(),this.vertexArray=this.device.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry)}setParameters(e){(0,ce.deepEqual)(e,this.parameters,2)||(this.parameters=e,this._setPipelineNeedsUpdate("parameters"))}setVertexCount(e){this.vertexCount=e}setInstanceCount(e){this.instanceCount=e}setShaderInputs(e){this.shaderInputs=e,this._uniformStore=new Ho.UniformStore(this.shaderInputs.modules);for(let r of Object.keys(this.shaderInputs.modules)){let n=this._uniformStore.getManagedUniformBuffer(this.device,r);this.bindings[`${r}Uniforms`]=n}}updateShaderInputs(){this._uniformStore.setUniforms(this.shaderInputs.getUniformValues())}updateModuleSettings(e){ce.log.warn("Model.updateModuleSettings is deprecated. Use Model.shaderInputs.setProps()")();let{bindings:r,uniforms:n}=(0,ce.splitUniformsAndBindings)(this._getModuleUniforms(e));Object.assign(this.bindings,r),Object.assign(this.uniforms,n)}setBindings(e){Object.assign(this.bindings,e)}setUniforms(e){this.pipeline.setUniforms(e),Object.assign(this.uniforms,e)}setIndexBuffer(e){this.vertexArray.setIndexBuffer(e)}setTransformFeedback(e){this.transformFeedback=e}setAttributes(e,r){e.indices&&ce.log.warn(`Model:${this.id} setAttributes() - indexBuffer should be set using setIndexBuffer()`)();for(let[i,o]of Object.entries(e)){var n;let s=this.bufferLayout.find(u=>u.name===i);if(!s){ce.log.warn(`Model(${this.id}): Missing layout for buffer "${i}".`)();continue}let a=s.attributes?(n=s.attributes)===null||n===void 0?void 0:n.map(u=>u.attribute):[s.name],c=!1;for(let u of a){let l=this._attributeInfos[u];l&&(this.vertexArray.setBuffer(l.location,o),c=!0)}!c&&r!=="ignore-unknown"&&ce.log.warn(`Model(${this.id}): Ignoring buffer "${o.id}" for unknown attribute "${i}"`)()}}setConstantAttributes(e){for(let[r,n]of Object.entries(e)){let i=this._attributeInfos[r];i?this.vertexArray.setConstant(i.location,n):ce.log.warn(`Model "${this.id}: Ignoring constant supplied for unknown attribute "${r}"`)()}}_setPipelineNeedsUpdate(e){this._pipelineNeedsUpdate=this._pipelineNeedsUpdate||e}_updatePipeline(){return this._pipelineNeedsUpdate&&(this.pipeline&&ce.log.log(1,`Model ${this.id}: Recreating pipeline because "${this._pipelineNeedsUpdate}".`)(),this._pipelineNeedsUpdate=!1,this.pipeline=this.device.createRenderPipeline({...this.props,bufferLayout:this.bufferLayout,topology:this.topology,parameters:this.parameters,vs:this.device.createShader({id:"{$this.id}-vertex",stage:"vertex",source:this.vs}),fs:this.fs?this.device.createShader({id:"{$this.id}-fragment",stage:"fragment",source:this.fs}):null}),this._attributeInfos=(0,sm.getAttributeInfosFromLayouts)(this.pipeline.shaderLayout,this.bufferLayout)),this.pipeline}_logDrawCallStart(){let e=ce.log.level>3?0:hS;Date.now()-this._lastLogTime<e||(this._lastLogTime=Date.now(),this._logOpen=!0,ce.log.group(Go,`>>> DRAWING MODEL ${this.id}`,{collapsed:ce.log.level<=2})())}_logDrawCallEnd(){if(this._logOpen){let e=im(this.pipeline.shaderLayout);ce.log.table(Go,e)();let r=this.shaderInputs.getDebugTable();for(let[n,i]of Object.entries(this.uniforms))r[n]={value:i};ce.log.table(Go,r)(),ce.log.groupEnd(Go)(),this._logOpen=!1}}};Vt.defaultProps={...Ho.RenderPipeline.defaultProps,vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:void 0,geometry:null,indexBuffer:null,attributes:{},constantAttributes:{},varyings:[],shaderInputs:void 0,pipelineFactory:void 0,transformFeedback:void 0,shaderAssembler:We.getDefaultShaderAssembler()};function om(t,e){let r=[...t];for(let n of e){let i=r.findIndex(o=>o.name===n.name);i<0?r.push(n):r[i]=n}return r}function dS(t){return{type:t.info.type,shaderLanguage:t.info.shadingLanguage,shaderLanguageVersion:t.info.shadingLanguageVersion,gpu:t.info.gpu,features:t.features}}var Vr=P(_t(),1),Xn=class{constructor(e){this.id=void 0,this.topology=void 0,this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.userData={};let{attributes:r={},indices:n=null,vertexCount:i=null}=e;this.id=e.id||(0,Vr.uid)("geometry"),this.topology=e.topology,n&&(this.indices=ArrayBuffer.isView(n)?{value:n,size:1}:n),this.attributes={};for(let[o,s]of Object.entries(r)){let a=ArrayBuffer.isView(s)?{value:s}:s;(0,Vr.assert)(ArrayBuffer.isView(a.value),`${this._print(o)}: must be typed array or object with value as typed array`),(o==="POSITION"||o==="positions")&&!a.size&&(a.size=3),o==="indices"?((0,Vr.assert)(!this.indices),this.indices=a):this.attributes[o]=a}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=i||this._calculateVertexCount(this.attributes,this.indices)}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,r){return this}_calculateVertexCount(e,r){if(r)return r.value.length;let n=1/0;for(let i of Object.values(e)){let{value:o,size:s,constant:a}=i;!a&&o&&s>=1&&(n=Math.min(n,o.length/s))}return(0,Vr.assert)(Number.isFinite(n)),n}};var Wt=P(ze()),k0=P(Ve()),J0=P(Vo());var cm=P(_t(),1),at=function(t){return t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.LINEAR=9729]="LINEAR",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t}(at||{});function Qc(t,e,r,n){let i={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};t.features.has("glsl-texture-lod")&&(i.defines.USE_TEX_LOD=1);let{imageBasedLightingEnvironment:o}=n;return o&&(i.bindings.u_DiffuseEnvSampler=o.diffuseEnvSampler,i.bindings.u_SpecularEnvSampler=o.specularEnvSampler,i.bindings.u_brdfLUT=o.brdfLutTexture,i.uniforms.u_ScaleIBLAmbient=[1,1]),n!=null&&n.pbrDebug&&(i.defines.PBR_DEBUG=1,i.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],i.uniforms.u_ScaleFGDSpec=[0,0,0,0]),r.NORMAL&&(i.defines.HAS_NORMALS=1),r.TANGENT&&n!==null&&n!==void 0&&n.useTangents&&(i.defines.HAS_TANGENTS=1),r.TEXCOORD_0&&(i.defines.HAS_UV=1),n!=null&&n.imageBasedLightingEnvironment&&(i.defines.USE_IBL=1),n!=null&&n.lights&&(i.defines.USE_LIGHTS=1),e&&pS(t,e,i),i}function pS(t,e,r){if(r.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&mS(t,e.pbrMetallicRoughness,r),e.normalTexture){Kn(t,e.normalTexture,"u_NormalSampler","HAS_NORMALMAP",r);let{scale:n=1}=e.normalTexture;r.uniforms.u_NormalScale=n}if(e.occlusionTexture){Kn(t,e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP",r);let{strength:n=1}=e.occlusionTexture;r.uniforms.u_OcclusionStrength=n}switch(e.emissiveTexture&&(Kn(t,e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP",r),r.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),e.alphaMode){case"MASK":let{alphaCutoff:n=.5}=e;r.defines.ALPHA_CUTOFF=1,r.uniforms.u_AlphaCutoff=n;break;case"BLEND":cm.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),r.parameters.blendColorOperation="add",r.parameters.blendColorSrcFactor="src-alpha",r.parameters.blendColorDstFactor="one-minus-src-alpha",r.parameters.blendAlphaOperation="add",r.parameters.blendAlphaSrcFactor="one",r.parameters.blendAlphaDstFactor="one-minus-src-alpha",r.glParameters.blend=!0,r.glParameters.blendEquation=at.FUNC_ADD,r.glParameters.blendFunc=[at.SRC_ALPHA,at.ONE_MINUS_SRC_ALPHA,at.ONE,at.ONE_MINUS_SRC_ALPHA];break}}function mS(t,e,r){e.baseColorTexture&&Kn(t,e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP",r),r.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&Kn(t,e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP",r);let{metallicFactor:n=1,roughnessFactor:i=1}=e;r.uniforms.u_MetallicRoughnessValues=[n,i]}function Kn(t,e,r){var n;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,o=arguments.length>4?arguments[4]:void 0,s=(e==null||(n=e.texture)===null||n===void 0||(n=n.sampler)===null||n===void 0?void 0:n.parameters)||{},a=e.texture.source.image,c,u={};a.compressed?(c=a,u={[at.TEXTURE_MIN_FILTER]:a.data.length>1?at.LINEAR_MIPMAP_NEAREST:at.LINEAR}):c={data:a};let l=t.createTexture({id:e.uniformName||e.id,parameters:{...s,...u},pixelStore:{[at.UNPACK_FLIP_Y_WEBGL]:!1},...c});o.bindings[r]=l,i&&(o.defines[i]=1),o.generatedTextures.push(l)}var um="4.1.0-alpha.9";var zo={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},$c;async function tu(t){let e=t.modules||{};return e.basis?e.basis:($c=$c||gS(t),await $c)}async function gS(t){let e=null,r=null;return[e,r]=await Promise.all([await tt(zo.TRANSCODER,"textures",t),await tt(zo.TRANSCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await yS(e,r)}function yS(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(i=>{let{BasisFile:o,initializeBasis:s}=i;s(),n({BasisFile:o})})})}var eu;async function ru(t){let e=t.modules||{};return e.basisEncoder?e.basisEncoder:(eu=eu||AS(t),await eu)}async function AS(t){let e=null,r=null;return[e,r]=await Promise.all([await tt(zo.ENCODER,"textures",t),await tt(zo.ENCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await _S(e,r)}function _S(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(i=>{let{BasisFile:o,KTX2File:s,initializeBasis:a,BasisEncoder:c}=i;a(),n({BasisFile:o,KTX2File:s,BasisEncoder:c})})})}var ur={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 vS=["","WEBKIT_","MOZ_"],lm={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"},jo=null;function fm(t){if(!jo){t=t||xS()||void 0,jo=new Set;for(let e of vS)for(let r in lm)if(t&&t.getExtension(`${e}${r}`)){let n=lm[r];jo.add(n)}}return jo}function xS(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var IG=new Uint8Array([0]);var hm,dm,pm,mm,gm,ym,Am,_m;(function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB"})(hm||(hm={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT"}(dm||(dm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC"}(pm||(pm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB"}(mm||(mm={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2"}(gm||(gm={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(ym||(ym={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA"}(Am||(Am={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG"}(_m||(_m={}));var Oe=[171,75,84,88,32,50,48,187,13,10,26,10];function vm(t){let e=new Uint8Array(t);return!(e.byteLength<Oe.length||e[0]!==Oe[0]||e[1]!==Oe[1]||e[2]!==Oe[2]||e[3]!==Oe[3]||e[4]!==Oe[4]||e[5]!==Oe[5]||e[6]!==Oe[6]||e[7]!==Oe[7]||e[8]!==Oe[8]||e[9]!==Oe[9]||e[10]!==Oe[10]||e[11]!==Oe[11])}var TS={etc1:{basisFormat:0,compressed:!0,format:ur.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:ur.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:ur.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:ur.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:ur.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:ur.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 iu(t,e){if(e.basis.containerFormat==="auto"){if(vm(t)){let n=await ru(e);return xm(n.KTX2File,t,e)}let{BasisFile:r}=await tu(e);return nu(r,t,e)}switch(e.basis.module){case"encoder":let r=await ru(e);switch(e.basis.containerFormat){case"ktx2":return xm(r.KTX2File,t,e);case"basis":default:return nu(r.BasisFile,t,e)}case"transcoder":default:let{BasisFile:n}=await tu(e);return nu(n,t,e)}}function nu(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),o=[];for(let s=0;s<i;s++){let a=n.getNumLevels(s),c=[];for(let u=0;u<a;u++)c.push(bS(n,s,u,r));o.push(c)}return o}finally{n.close(),n.delete()}}function bS(t,e,r,n){let i=t.getImageWidth(e,r),o=t.getImageHeight(e,r),s=t.getHasAlpha(),{compressed:a,format:c,basisFormat:u}=Tm(n,s),l=t.getImageTranscodedSizeInBytes(e,r,u),f=new Uint8Array(l);if(!t.transcodeImage(f,e,r,u,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:o,data:f,compressed:a,format:c,hasAlpha:s}}function xm(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),o=[];for(let s=0;s<i;s++){o.push(ES(n,s,r));break}return[o]}finally{n.close(),n.delete()}}function ES(t,e,r){let{alphaFlag:n,height:i,width:o}=t.getImageLevelInfo(e,0,0),{compressed:s,format:a,basisFormat:c}=Tm(r,n),u=t.getImageTranscodedSizeInBytes(e,0,0,c),l=new Uint8Array(u);if(!t.transcodeImage(l,e,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:o,height:i,data:l,compressed:s,levelSize:u,hasAlpha:n,format:a}}function Tm(t,e){let r=t&&t.basis&&t.basis.format;return r==="auto"&&(r=ko()),typeof r=="object"&&(r=e?r.alpha:r.noAlpha),r=r.toLowerCase(),TS[r]}function ko(){let t=fm();return t.has("astc")?"astc-4x4":t.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:t.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:t.has("etc1")?"etc1":t.has("etc2")?"etc2":"rgb565"}var bm={name:"Basis",id:"basis",module:"textures",version:um,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"}}},ou={...bm,parse:iu};function su(t){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let e=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=t||e;return!!(r&&r.indexOf("Electron")>=0)}function Xe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||su()}var SS=globalThis.self||globalThis.window||globalThis.global,zr=globalThis.window||globalThis.self||globalThis.global,BS=globalThis.document||{},lr=globalThis.process||{},CS=globalThis.console,KG=globalThis.navigator||{};var Jo=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",QG=Xe();var Cm=P(Vo());var Em=`#version 300 es
643
+ `;var _l={name:"pbr",vs:Eg,fs:wg,defines:{LIGHTING_FRAGMENT:1},dependencies:[Tg]};var Al=U(Ct(),1);var Bo=class{constructor(e){this.modules=void 0,this.moduleUniforms=void 0,this.moduleBindings=void 0,this.moduleUniformsChanged=void 0;let r=ms(Object.values(e));Al.log.log(1,"Creating ShaderInputs with modules",r.map(n=>n.name))(),this.modules=e,this.moduleUniforms={},this.moduleBindings={};for(let[n,s]of Object.entries(e)){let i=n;this.moduleUniforms[i]=s.defaultUniforms||{},this.moduleBindings[i]={}}}destroy(){}setProps(e){for(let n of Object.keys(e)){var r;let s=n,i=e[s],o=this.modules[s];if(!o){Al.log.warn(`Module ${n} not found`)();continue}let a=this.moduleUniforms[s],c=((r=o.getUniforms)===null||r===void 0?void 0:r.call(o,i,this.moduleUniforms[s]))||i;this.moduleUniforms[s]={...a,...c}}}getModules(){return Object.values(this.modules)}getUniformValues(){return this.moduleUniforms}getBindings(){let e={};for(let r of Object.values(this.moduleBindings))Object.assign(e,r);return e}getDebugTable(){let e={};for(let[n,s]of Object.entries(this.moduleUniforms))for(let[i,o]of Object.entries(s)){var r;e[`${n}.${i}`]={type:(r=this.modules[n].uniformTypes)===null||r===void 0?void 0:r[i],value:String(o)}}return e}};var Rt=U(Ct(),1),Co=class{constructor(e){this.id=void 0,this.userData={},this.topology=void 0,this.bufferLayout=[],this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.id=e.id||(0,Rt.uid)("geometry"),this.topology=e.topology,this.indices=e.indices||null,this.attributes=e.attributes,this.vertexCount=e.vertexCount,this.bufferLayout=e.bufferLayout||[],this.indices&&(0,Rt.assert)(this.indices.usage===Rt.Buffer.INDEX)}destroy(){var e;this.indices.destroy(),this.attributes.positions.destroy(),this.attributes.normals.destroy(),this.attributes.texCoords.destroy(),(e=this.attributes.colors)===null||e===void 0||e.destroy()}getVertexCount(){return this.vertexCount}getAttributes(){return this.attributes}getIndexes(){return this.indices}_calculateVertexCount(e){return e.byteLength/12}};function Sg(t,e){if(e instanceof Co)return e;let r=DS(t,e),{attributes:n,bufferLayout:s}=US(t,e);return new Co({topology:e.topology||"triangle-list",bufferLayout:s,vertexCount:e.vertexCount,indices:r,attributes:n})}function DS(t,e){if(!e.indices)return;let r=e.indices.value;return t.createBuffer({usage:Rt.Buffer.INDEX,data:r})}function US(t,e){let r=[],n={};for(let[i,o]of Object.entries(e.attributes)){let a=i;switch(i){case"POSITION":a="positions";break;case"NORMAL":a="normals";break;case"TEXCOORD_0":a="texCoords";break;case"COLOR_0":a="colors";break}n[a]=t.createBuffer({data:o.value,id:`${i}-buffer`});let{value:c,size:u,normalized:l}=o;r.push({name:a,format:(0,Rt.getVertexFormatFromAttribute)(c,u,l)})}let s=e._calculateVertexCount(e.attributes,e.indices);return{attributes:n,bufferLayout:r,vertexCount:s}}var Bg=U(Ct(),1),tr=class{static getDefaultPipelineFactory(e){return e._lumaData.defaultPipelineFactory=e._lumaData.defaultPipelineFactory||new tr(e),e._lumaData.defaultPipelineFactory}constructor(e){this.device=void 0,this._hashCounter=0,this._hashes={},this._useCounts={},this._pipelineCache={},this.device=e}createRenderPipeline(e){let r={...tr.defaultProps,...e},n=this._hashRenderPipeline({...r});if(!this._pipelineCache[n]){let s=this.device.createRenderPipeline({...r,vs:this.device.createShader({stage:"vertex",source:r.vs}),fs:r.fs?this.device.createShader({stage:"fragment",source:r.fs}):null});s.hash=n,this._pipelineCache[n]=s,this._useCounts[n]=0}return this._useCounts[n]++,this._pipelineCache[n]}release(e){let r=e.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._pipelineCache[r].destroy(),delete this._pipelineCache[r],delete this._useCounts[r])}_createRenderPipeline(e){if(!e.fs)throw new Error("fs");return this.device.createRenderPipeline({...e,vs:this.device.createShader({stage:"vertex",source:e.vs}),fs:e.fs?this.device.createShader({stage:"fragment",source:e.fs}):null})}_hashRenderPipeline(e){let r=this._getHash(e.vs),n=e.fs?this._getHash(e.fs):0,s="-";switch(this.device.info.type){case"webgpu":let i=this._getHash(JSON.stringify(e.parameters)),o=this._getHash(JSON.stringify(e.bufferLayout));return`${r}/${n}V${s}T${e.topology}P${i}BL${o}}`;default:return`${r}/${n}V${s}`}}_getHash(e){return this._hashes[e]===void 0&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}};tr.defaultProps={...Bg.RenderPipeline.defaultProps,vs:void 0,fs:void 0};function Cg(t,e){var r;let n={},s="Values";if(t.attributes.length===0&&!((r=t.varyings)!==null&&r!==void 0&&r.length))return{"No attributes or varyings":{[s]:"N/A"}};for(let i of t.attributes)if(i){let o=`${i.location} ${i.name}: ${i.type}`;n[`in ${o}`]={[s]:i.stepMode||"vertex"}}for(let i of t.varyings||[]){let o=`${i.location} ${i.name}`;n[`out ${o}`]={[s]:JSON.stringify(i.accessor)}}return n}var _e=null,vl=null;function Mg(t,e){let{id:r,minimap:n,opaque:s,top:i="0",left:o="0",rgbaScale:a=1}=e;_e||(_e=document.createElement("canvas"),_e.id=r,_e.title=r,_e.style.zIndex="100",_e.style.position="absolute",_e.style.top=i,_e.style.left=o,_e.style.border="blue 1px solid",_e.style.transform="scaleY(-1)",document.body.appendChild(_e),vl=_e.getContext("2d")),(_e.width!==t.width||_e.height!==t.height)&&(_e.width=t.width/2,_e.height=t.height/2,_e.style.width="400px",_e.style.height="400px");let c=t.device.readPixelsToArrayWebGL(t),u=vl.createImageData(t.width,t.height),l=0;for(let f=0;f<c.length;f+=4)u.data[l+f+0]=c[f+0]*a,u.data[l+f+1]=c[f+1]*a,u.data[l+f+2]=c[f+2]*a,u.data[l+f+3]=s?255:c[f+3]*a;vl.putImageData(u,0,0)}var ln=2,GS=1e4,rr=class{constructor(e,r){var n,s,i;this.device=void 0,this.id=void 0,this.vs=void 0,this.fs=void 0,this.pipelineFactory=void 0,this.userData={},this.parameters=void 0,this.topology=void 0,this.bufferLayout=void 0,this.vertexCount=void 0,this.instanceCount=0,this.indexBuffer=null,this.bufferAttributes={},this.constantAttributes={},this.bindings={},this.uniforms={},this.vertexArray=void 0,this.transformFeedback=null,this.pipeline=void 0,this.shaderInputs=void 0,this._uniformStore=void 0,this._pipelineNeedsUpdate="newly created",this._attributeInfos={},this._gpuGeometry=null,this._getModuleUniforms=void 0,this.props=void 0,this._lastLogTime=0,this._logOpen=!1,this._drawCount=0,this.props={...rr.defaultProps,...r},r=this.props,this.id=r.id||(0,te.uid)("model"),this.device=e,Object.assign(this.userData,r.userData);let o=Object.fromEntries(((n=this.props.modules)===null||n===void 0?void 0:n.map(g=>[g.name,g]))||[]);this.setShaderInputs(r.shaderInputs||new Bo(o));let a=this.device.info.type==="webgpu";if(this.props.source){if(a){var c;(c=this.props).shaderLayout||(c.shaderLayout=So(this.props.source))}this.props.fs=this.props.source,this.props.vs=this.props.source}if(a&&typeof this.props.vs!="string"){var u;(u=this.props).shaderLayout||(u.shaderLayout=So(this.props.vs.wgsl))}let l=kS(e),f=(((s=this.props.modules)===null||s===void 0?void 0:s.length)>0?this.props.modules:(i=this.shaderInputs)===null||i===void 0?void 0:i.getModules())||[],{vs:h,fs:d,getUniforms:p}=this.props.shaderAssembler.assembleShaders({platformInfo:l,...this.props,modules:f});if(this.vs=h,this.fs=d,this._getModuleUniforms=p,this.vertexCount=this.props.vertexCount,this.instanceCount=this.props.instanceCount,this.topology=this.props.topology,this.bufferLayout=this.props.bufferLayout,this.parameters=this.props.parameters,r.geometry&&(this._gpuGeometry=this.setGeometry(r.geometry)),this.pipelineFactory=r.pipelineFactory||tr.getDefaultPipelineFactory(this.device),this.pipeline=this._updatePipeline(),this.vertexArray=e.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry),r.vertexCount&&this.setVertexCount(r.vertexCount),r.instanceCount&&this.setInstanceCount(r.instanceCount),r.indices)throw new Error("Model.props.indices removed. Use props.indexBuffer");r.indexBuffer&&this.setIndexBuffer(r.indexBuffer),r.attributes&&this.setAttributes(r.attributes),r.constantAttributes&&this.setConstantAttributes(r.constantAttributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&(te.log.warn("Model.props.moduleSettings is deprecated. Use Model.shaderInputs.setProps()")(),this.updateModuleSettings(r.moduleSettings)),r.transformFeedback&&(this.transformFeedback=r.transformFeedback),Object.seal(this)}destroy(){this.pipelineFactory.release(this.pipeline),this._uniformStore.destroy()}predraw(){this.updateShaderInputs()}draw(e){this.predraw();try{this._logDrawCallStart(),this.pipeline=this._updatePipeline(),this.pipeline.setBindings(this.bindings),this.pipeline.setUniforms(this.uniforms),this.pipeline.draw({renderPass:e,vertexArray:this.vertexArray,vertexCount:this.vertexCount,instanceCount:this.instanceCount,transformFeedback:this.transformFeedback})}finally{this._logDrawCallEnd()}this._logFramebuffer(e)}setGeometry(e){let r=e&&Sg(this.device,e);return this.setTopology(r.topology||"triangle-list"),this.bufferLayout=Ig(this.bufferLayout,r.bufferLayout),this.vertexArray&&this._setGeometryAttributes(r),r}_setGeometryAttributes(e){let r={...e.attributes};for(let[n]of Object.entries(r))!this.pipeline.shaderLayout.attributes.find(s=>s.name===n)&&n!=="positions"&&delete r[n];this.vertexCount=e.vertexCount,this.setIndexBuffer(e.indices),this.setAttributes(e.attributes,"ignore-unknown"),this.setAttributes(r)}setTopology(e){e!==this.topology&&(this.topology=e,this._setPipelineNeedsUpdate("topology"))}setBufferLayout(e){this.bufferLayout=this._gpuGeometry?Ig(e,this._gpuGeometry.bufferLayout):e,this._setPipelineNeedsUpdate("bufferLayout"),this.pipeline=this._updatePipeline(),this.vertexArray=this.device.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry)}setParameters(e){(0,te.deepEqual)(e,this.parameters,2)||(this.parameters=e,this._setPipelineNeedsUpdate("parameters"))}setVertexCount(e){this.vertexCount=e}setInstanceCount(e){this.instanceCount=e}setShaderInputs(e){this.shaderInputs=e,this._uniformStore=new nr.UniformStore(this.shaderInputs.modules);for(let r of Object.keys(this.shaderInputs.modules)){let n=this._uniformStore.getManagedUniformBuffer(this.device,r);this.bindings[`${r}Uniforms`]=n}}setShaderModuleProps(e){let r=this._getModuleUniforms(e),n=Object.keys(r).filter(i=>{let o=r[i];return!(0,te.isNumberArray)(o)&&typeof o!="number"&&typeof o!="boolean"}),s={};for(let i of n)s[i]=r[i],delete r[i]}updateShaderInputs(){this._uniformStore.setUniforms(this.shaderInputs.getUniformValues())}updateModuleSettings(e){te.log.warn("Model.updateModuleSettings is deprecated. Use Model.shaderInputs.setProps()")();let{bindings:r,uniforms:n}=(0,te.splitUniformsAndBindings)(this._getModuleUniforms(e));Object.assign(this.bindings,r),Object.assign(this.uniforms,n)}setBindings(e){Object.assign(this.bindings,e)}setUniforms(e){this.pipeline.setUniforms(e),Object.assign(this.uniforms,e)}setIndexBuffer(e){this.vertexArray.setIndexBuffer(e)}setTransformFeedback(e){this.transformFeedback=e}setAttributes(e,r){e.indices&&te.log.warn(`Model:${this.id} setAttributes() - indexBuffer should be set using setIndexBuffer()`)();for(let[n,s]of Object.entries(e)){let i=this.bufferLayout.find(c=>Og(c).includes(n));if(!i){te.log.warn(`Model(${this.id}): Missing layout for buffer "${n}".`)();continue}let o=Og(i),a=!1;for(let c of o){let u=this._attributeInfos[c];u&&(this.vertexArray.setBuffer(u.location,s),a=!0)}!a&&r!=="ignore-unknown"&&te.log.warn(`Model(${this.id}): Ignoring buffer "${s.id}" for unknown attribute "${n}"`)()}}setConstantAttributes(e){for(let[r,n]of Object.entries(e)){let s=this._attributeInfos[r];s?this.vertexArray.setConstant(s.location,n):te.log.warn(`Model "${this.id}: Ignoring constant supplied for unknown attribute "${r}"`)()}}_setPipelineNeedsUpdate(e){this._pipelineNeedsUpdate=this._pipelineNeedsUpdate||e}_updatePipeline(){if(this._pipelineNeedsUpdate){this.pipeline&&te.log.log(1,`Model ${this.id}: Recreating pipeline because "${this._pipelineNeedsUpdate}".`)(),this._pipelineNeedsUpdate=!1;let e=this.device.createShader({id:`${this.id}-vertex`,stage:"vertex",source:this.vs}),r=this.fs?this.device.createShader({id:`${this.id}-fragment`,stage:"fragment",source:this.fs}):null;this.pipeline=this.device.createRenderPipeline({...this.props,bufferLayout:this.bufferLayout,topology:this.topology,parameters:this.parameters,vs:e,fs:r}),this._attributeInfos=(0,Rg.getAttributeInfosFromLayouts)(this.pipeline.shaderLayout,this.bufferLayout)}return this.pipeline}_logDrawCallStart(){let e=te.log.level>3?0:GS;te.log.level<2||Date.now()-this._lastLogTime<e||(this._lastLogTime=Date.now(),this._logOpen=!0,te.log.group(ln,`>>> DRAWING MODEL ${this.id}`,{collapsed:te.log.level<=2})())}_logDrawCallEnd(){if(this._logOpen){let e=Cg(this.pipeline.shaderLayout,this.id);te.log.table(ln,e)();let r=this.shaderInputs.getDebugTable();for(let[s,i]of Object.entries(this.uniforms))r[s]={value:i};te.log.table(ln,r)();let n=this._getAttributeDebugTable();te.log.table(ln,this._attributeInfos)(),te.log.table(ln,n)(),te.log.groupEnd(ln)(),this._logOpen=!1}}_logFramebuffer(e){let r=te.log.get("framebuffer");if(this._drawCount++,!r||this._drawCount++>3&&this._drawCount%60)return;let n=e.props.framebuffer;n&&Mg(n,{id:n.id,minimap:!0})}_getAttributeDebugTable(){let e={};for(let[r,n]of Object.entries(this._attributeInfos))e[n.location]={name:r,type:n.shaderType,values:this._getBufferOrConstantValues(this.vertexArray.attributes[n.location],n.bufferDataType)};if(this.vertexArray.indexBuffer){let{indexBuffer:r}=this.vertexArray,n=r.indexType==="uint32"?new Uint32Array(r.debugData):new Uint16Array(r.debugData);e.indices={name:"indices",type:r.indexType,values:n.toString()}}return e}_getBufferOrConstantValues(e,r){let n=(0,nr.getTypedArrayFromDataType)(r);return(e instanceof nr.Buffer?new n(e.debugData):e).toString()}};rr.defaultProps={...nr.RenderPipeline.defaultProps,source:null,vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:void 0,geometry:null,indexBuffer:null,attributes:{},constantAttributes:{},varyings:[],shaderInputs:void 0,pipelineFactory:void 0,transformFeedback:void 0,shaderAssembler:rt.getDefaultShaderAssembler()};function Ig(t,e){let r=[...t];for(let n of e){let s=r.findIndex(i=>i.name===n.name);s<0?r.push(n):r[s]=n}return r}function kS(t){return{type:t.info.type,shaderLanguage:t.info.shadingLanguage,shaderLanguageVersion:t.info.shadingLanguageVersion,gpu:t.info.gpu,features:t.features}}function Og(t){var e;return t.attributes?(e=t.attributes)===null||e===void 0?void 0:e.map(r=>r.attribute):[t.name]}var fn=U(Ct(),1),As=class{constructor(e){this.id=void 0,this.topology=void 0,this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.userData={};let{attributes:r={},indices:n=null,vertexCount:s=null}=e;this.id=e.id||(0,fn.uid)("geometry"),this.topology=e.topology,n&&(this.indices=ArrayBuffer.isView(n)?{value:n,size:1}:n),this.attributes={};for(let[i,o]of Object.entries(r)){let a=ArrayBuffer.isView(o)?{value:o}:o;(0,fn.assert)(ArrayBuffer.isView(a.value),`${this._print(i)}: must be typed array or object with value as typed array`),(i==="POSITION"||i==="positions")&&!a.size&&(a.size=3),i==="indices"?((0,fn.assert)(!this.indices),this.indices=a):this.attributes[i]=a}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,r){return this}_calculateVertexCount(e,r){if(r)return r.value.length;let n=1/0;for(let s of Object.values(e)){let{value:i,size:o,constant:a}=s;!a&&i&&o>=1&&(n=Math.min(n,i.length/o))}return(0,fn.assert)(Number.isFinite(n)),n}};var ur=U(Ze()),g_=U(Ye()),y_=U(Mo());var Pg=U(Ct(),1),gt=function(t){return t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.LINEAR=9729]="LINEAR",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t}(gt||{});function xl(t,e,r,n){let s={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};t.features.has("glsl-texture-lod")&&(s.defines.USE_TEX_LOD=1);let{imageBasedLightingEnvironment:i}=n;return i&&(s.bindings.u_DiffuseEnvSampler=i.diffuseEnvSampler,s.bindings.u_SpecularEnvSampler=i.specularEnvSampler,s.bindings.u_brdfLUT=i.brdfLutTexture,s.uniforms.u_ScaleIBLAmbient=[1,1]),n!=null&&n.pbrDebug&&(s.defines.PBR_DEBUG=1,s.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],s.uniforms.u_ScaleFGDSpec=[0,0,0,0]),r.NORMAL&&(s.defines.HAS_NORMALS=1),r.TANGENT&&n!==null&&n!==void 0&&n.useTangents&&(s.defines.HAS_TANGENTS=1),r.TEXCOORD_0&&(s.defines.HAS_UV=1),n!=null&&n.imageBasedLightingEnvironment&&(s.defines.USE_IBL=1),n!=null&&n.lights&&(s.defines.USE_LIGHTS=1),e&&HS(t,e,s),s}function HS(t,e,r){if(r.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&VS(t,e.pbrMetallicRoughness,r),e.normalTexture){vs(t,e.normalTexture,"u_NormalSampler","HAS_NORMALMAP",r);let{scale:n=1}=e.normalTexture;r.uniforms.u_NormalScale=n}if(e.occlusionTexture){vs(t,e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP",r);let{strength:n=1}=e.occlusionTexture;r.uniforms.u_OcclusionStrength=n}switch(e.emissiveTexture&&(vs(t,e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP",r),r.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),e.alphaMode){case"MASK":let{alphaCutoff:n=.5}=e;r.defines.ALPHA_CUTOFF=1,r.uniforms.u_AlphaCutoff=n;break;case"BLEND":Pg.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),r.parameters.blendColorOperation="add",r.parameters.blendColorSrcFactor="src-alpha",r.parameters.blendColorDstFactor="one-minus-src-alpha",r.parameters.blendAlphaOperation="add",r.parameters.blendAlphaSrcFactor="one",r.parameters.blendAlphaDstFactor="one-minus-src-alpha",r.glParameters.blend=!0,r.glParameters.blendEquation=gt.FUNC_ADD,r.glParameters.blendFunc=[gt.SRC_ALPHA,gt.ONE_MINUS_SRC_ALPHA,gt.ONE,gt.ONE_MINUS_SRC_ALPHA];break}}function VS(t,e,r){e.baseColorTexture&&vs(t,e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP",r),r.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&vs(t,e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP",r);let{metallicFactor:n=1,roughnessFactor:s=1}=e;r.uniforms.u_MetallicRoughnessValues=[n,s]}function vs(t,e,r){var n;let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,o=(e==null||(n=e.texture)===null||n===void 0||(n=n.sampler)===null||n===void 0?void 0:n.parameters)||{},a=e.texture.source.image,c,u={};a.compressed?(c=a,u={[gt.TEXTURE_MIN_FILTER]:a.data.length>1?gt.LINEAR_MIPMAP_NEAREST:gt.LINEAR}):c={data:a};let l=t.createTexture({id:e.uniformName||e.id,parameters:{...o,...u},pixelStore:{[gt.UNPACK_FLIP_Y_WEBGL]:!1},...c});i.bindings[r]=l,s&&(i.defines[s]=1),i.generatedTextures.push(l)}var Fg="4.1.0-alpha.9";var Io={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},bl;async function El(t){let e=t.modules||{};return e.basis?e.basis:(bl=bl||zS(t),await bl)}async function zS(t){let e=null,r=null;return[e,r]=await Promise.all([await lt(Io.TRANSCODER,"textures",t),await lt(Io.TRANSCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await jS(e,r)}function jS(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(s=>{let{BasisFile:i,initializeBasis:o}=s;o(),n({BasisFile:i})})})}var Tl;async function wl(t){let e=t.modules||{};return e.basisEncoder?e.basisEncoder:(Tl=Tl||qS(t),await Tl)}async function qS(t){let e=null,r=null;return[e,r]=await Promise.all([await lt(Io.ENCODER,"textures",t),await lt(Io.ENCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await JS(e,r)}function JS(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t(r).then(s=>{let{BasisFile:i,KTX2File:o,initializeBasis:a,BasisEncoder:c}=s;a(),n({BasisFile:i,KTX2File:o,BasisEncoder:c})})})}var Br={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 WS=["","WEBKIT_","MOZ_"],Ng={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"},Oo=null;function Dg(t){if(!Oo){t=t||XS()||void 0,Oo=new Set;for(let e of WS)for(let r in Ng)if(t&&t.getExtension(`${e}${r}`)){let n=Ng[r];Oo.add(n)}}return Oo}function XS(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var u4=new Uint8Array([0]);var Ug,Gg,kg,Hg,Vg,zg,jg,qg;(function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB"})(Ug||(Ug={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT"}(Gg||(Gg={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC"}(kg||(kg={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB"}(Hg||(Hg={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2"}(Vg||(Vg={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(zg||(zg={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA"}(jg||(jg={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG"}(qg||(qg={}));var De=[171,75,84,88,32,50,48,187,13,10,26,10];function Jg(t){let e=new Uint8Array(t);return!(e.byteLength<De.length||e[0]!==De[0]||e[1]!==De[1]||e[2]!==De[2]||e[3]!==De[3]||e[4]!==De[4]||e[5]!==De[5]||e[6]!==De[6]||e[7]!==De[7]||e[8]!==De[8]||e[9]!==De[9]||e[10]!==De[10]||e[11]!==De[11])}var KS={etc1:{basisFormat:0,compressed:!0,format:Br.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Br.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Br.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:Br.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Br.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Br.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 Bl(t,e){if(e.basis.containerFormat==="auto"){if(Jg(t)){let n=await wl(e);return Wg(n.KTX2File,t,e)}let{BasisFile:r}=await El(e);return Sl(r,t,e)}switch(e.basis.module){case"encoder":let r=await wl(e);switch(e.basis.containerFormat){case"ktx2":return Wg(r.KTX2File,t,e);case"basis":default:return Sl(r.BasisFile,t,e)}case"transcoder":default:let{BasisFile:n}=await El(e);return Sl(n,t,e)}}function Sl(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let s=n.getNumImages(),i=[];for(let o=0;o<s;o++){let a=n.getNumLevels(o),c=[];for(let u=0;u<a;u++)c.push(YS(n,o,u,r));i.push(c)}return i}finally{n.close(),n.delete()}}function YS(t,e,r,n){let s=t.getImageWidth(e,r),i=t.getImageHeight(e,r),o=t.getHasAlpha(),{compressed:a,format:c,basisFormat:u}=Xg(n,o),l=t.getImageTranscodedSizeInBytes(e,r,u),f=new Uint8Array(l);if(!t.transcodeImage(f,e,r,u,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:i,data:f,compressed:a,format:c,hasAlpha:o}}function Wg(t,e,r){let n=new t(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=n.getLevels(),i=[];for(let o=0;o<s;o++){i.push(ZS(n,o,r));break}return[i]}finally{n.close(),n.delete()}}function ZS(t,e,r){let{alphaFlag:n,height:s,width:i}=t.getImageLevelInfo(e,0,0),{compressed:o,format:a,basisFormat:c}=Xg(r,n),u=t.getImageTranscodedSizeInBytes(e,0,0,c),l=new Uint8Array(u);if(!t.transcodeImage(l,e,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:i,height:s,data:l,compressed:o,levelSize:u,hasAlpha:n,format:a}}function Xg(t,e){let r=t&&t.basis&&t.basis.format;return r==="auto"&&(r=Ro()),typeof r=="object"&&(r=e?r.alpha:r.noAlpha),r=r.toLowerCase(),KS[r]}function Ro(){let t=Dg();return t.has("astc")?"astc-4x4":t.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:t.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:t.has("etc1")?"etc1":t.has("etc2")?"etc2":"rgb565"}var Kg={name:"Basis",id:"basis",module:"textures",version:Fg,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"}}},Cl={...Kg,parse:Bl};function Ml(t){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let e=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=t||e;return!!(r&&r.indexOf("Electron")>=0)}function nt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||Ml()}var QS=globalThis.self||globalThis.window||globalThis.global,hn=globalThis.window||globalThis.self||globalThis.global,$S=globalThis.document||{},Cr=globalThis.process||{},eB=globalThis.console,C4=globalThis.navigator||{};var Lo=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",O4=nt();var $g=U(Mo());var Yg=`#version 300 es
641
644
  #define SHADER_NAME simple-mesh-layer-vs
642
645
  uniform float sizeScale;
643
646
  uniform bool composeModelMatrix;
@@ -710,7 +713,7 @@ void main(void) {
710
713
 
711
714
  DECKGL_FILTER_COLOR(vColor, geometry);
712
715
  }
713
- `;var Sm=`#version 300 es
716
+ `;var Zg=`#version 300 es
714
717
  #define SHADER_NAME simple-mesh-layer-fs
715
718
 
716
719
  precision highp float;
@@ -759,13 +762,13 @@ void main(void) {
759
762
 
760
763
  DECKGL_FILTER_COLOR(fragColor, geometry);
761
764
  }
762
- `;function qo(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?qo=function(r){return typeof r}:qo=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},qo(t)}function Bm(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function zt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Bm(Object(r),!0).forEach(function(n){MS(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Bm(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function MS(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function wS(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function jt(t,e,r){return typeof Reflect<"u"&&Reflect.get?jt=Reflect.get:jt=function(i,o,s){var a=IS(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},jt(t,e,r||t)}function IS(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=ct(t),t!==null););return t}function OS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&au(t,e)}function au(t,e){return au=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},au(t,e)}function RS(t){var e=FS();return function(){var n=ct(t),i;if(e){var o=ct(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return LS(this,i)}}function LS(t,e){if(e&&(qo(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return PS(t)}function PS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function FS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ct(t){return ct=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ct(t)}function DS(t){var e=t.positions||t.POSITION,r=e.value.length/e.size,n=t.COLOR_0||t.colors;n||(t.colors={size:4,value:new Uint8Array(r*4).fill(255),normalized:!0})}var NS={pbrMaterial:{type:"object",value:null},featureIds:{type:"array",value:null,optional:!0}},Wo=function(t){OS(r,t);var e=RS(r);function r(){return wS(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var o=jt(ct(r.prototype),"getShaders",this).call(this),s=o.modules;return s.push(Yc),zt(zt({},o),{},{vs:Em,fs:Sm})},n.initializeState=function(){var o=this.props.featureIds;jt(ct(r.prototype),"initializeState",this).call(this);var s=this.getAttributeManager();o&&s.add({featureIdsPickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateFeatureIdsPickingColors}})},n.updateState=function(o){jt(ct(r.prototype),"updateState",this).call(this,o);var s=o.props,a=o.oldProps;s.pbrMaterial!==a.pbrMaterial&&this.updatePbrMaterialUniforms(s.pbrMaterial)},n.draw=function(o){var s=this.props.featureIds;this.state.model&&(this.state.model.setUniforms({u_Camera:this.state.model.uniforms.project_uCameraPosition,pickFeatureIds:Boolean(s)}),jt(ct(r.prototype),"draw",this).call(this,o))},n.getModel=function(o){var s=this.props,a=s.id,c=s.pbrMaterial,u=this.parseMaterial(c,o);this.setState({parsedPBRMaterial:u});var l=this.getShaders();DS(o.attributes);var f=new Vt(this.context.device,zt(zt({},this.getShaders()),{},{id:a,geometry:o,bufferLayout:this.getAttributeManager().getBufferLayouts(),defines:zt(zt(zt({},l.defines),u?.defines),{},{HAS_UV_REGIONS:o.attributes.uvRegions?1:0}),parameters:u?.parameters,isInstanced:!0}));return f},n.updatePbrMaterialUniforms=function(o){var s=this.state.model;if(s){var a=this.props.mesh,c=this.parseMaterial(o,a);this.setState({parsedPBRMaterial:c}),s.setBindings(c.bindings),s.setUniforms(c.uniforms)}},n.parseMaterial=function(o,s){var a=Boolean(o.pbrMetallicRoughness&&o.pbrMetallicRoughness.baseColorTexture);return Qc(this.context.device,zt({unlit:a},o),{NORMAL:s.attributes.normals,TEXCOORD_0:s.attributes.texCoords},{pbrDebug:!1,lights:!0,useTangents:!1})},n.calculateFeatureIdsPickingColors=function(o){for(var s=this.props.featureIds,a=new Uint8ClampedArray(s.length*o.size),c=[],u=0;u<s.length;u++)this.encodePickingColor(s[u],c),a[u*3]=c[0],a[u*3+1]=c[1],a[u*3+2]=c[2];o.value=a},n.finalizeState=function(o){var s;jt(ct(r.prototype),"finalizeState",this).call(this,o),(s=this.state.parsedPBRMaterial)===null||s===void 0||s.generatedTextures.forEach(function(a){return a.destroy()}),this.setState({parsedPBRMaterial:null})},r}(Cm.SimpleMeshLayer);Wo.layerName="MeshLayer";Wo.defaultProps=NS;var q0=P(jr());var xt=6356752314245179e-9,US={radii:[6378137,6378137,xt],radiiSquared:[6378137*6378137,6378137*6378137,xt*xt],oneOverRadii:[1/6378137,1/6378137,1/xt],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(xt*xt)],maximumRadius:Math.max(6378137,6378137,xt),centerToleranceSquared:.1};function Xo(t){return t}var v4=new T;function GS(t,e=[],r=Xo){return"longitude"in t?(e[0]=r(t.longitude),e[1]=r(t.latitude),e[2]=t.height):"x"in t?(e[0]=r(t.x),e[1]=r(t.y),e[2]=t.z):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function wm(t,e=[]){return GS(t,e,Y._cartographicRadians?Xo:Fa)}function HS(t,e,r=Xo){return"longitude"in e?(e.longitude=r(t[0]),e.latitude=r(t[1]),e.height=t[2]):"x"in e?(e.x=r(t[0]),e.y=r(t[1]),e.z=t[2]):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function Im(t,e){return HS(t,e,Y._cartographicRadians?Xo:Da)}var Om=1e-14,VS=new T,Rm={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"}},cu={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Yn={east:new T,north:new T,up:new T,west:new T,south:new T,down:new T},zS=new T,jS=new T,kS=new T;function uu(t,e,r,n,i,o){let s=Rm[e]&&Rm[e][r];le(s&&(!n||n===s));let a,c,u,l=VS.copy(i);if(_e(l.x,0,Om)&&_e(l.y,0,Om)){let h=Math.sign(l.z);a=zS.fromArray(cu[e]),e!=="east"&&e!=="west"&&a.scale(h),c=jS.fromArray(cu[r]),r!=="east"&&r!=="west"&&c.scale(h),u=kS.fromArray(cu[n]),n!=="east"&&n!=="west"&&u.scale(h)}else{let{up:h,east:d,north:p}=Yn;d.set(-l.y,l.x,0).normalize(),t.geodeticSurfaceNormal(l,h),p.copy(h).cross(d);let{down:g,west:m,south:A}=Yn;g.copy(h).scale(-1),m.copy(d).scale(-1),A.copy(p).scale(-1),a=Yn[e],c=Yn[r],u=Yn[n]}return o[0]=a.x,o[1]=a.y,o[2]=a.z,o[3]=0,o[4]=c.x,o[5]=c.y,o[6]=c.z,o[7]=0,o[8]=u.x,o[9]=u.y,o[10]=u.z,o[11]=0,o[12]=l.x,o[13]=l.y,o[14]=l.z,o[15]=1,o}var kr=new T,JS=new T,qS=new T;function Lm(t,e,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:o}=e;kr.from(t);let s=kr.x,a=kr.y,c=kr.z,u=n.x,l=n.y,f=n.z,h=s*s*u*u,d=a*a*l*l,p=c*c*f*f,g=h+d+p,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let A=JS;if(A.copy(t).scale(m),g<o)return A.to(r);let _=i.x,v=i.y,x=i.z,B=qS;B.set(A.x*_*2,A.y*v*2,A.z*x*2);let S=(1-m)*kr.len()/(.5*B.len()),C=0,E,b,y,M;do{S-=C,E=1/(1+S*_),b=1/(1+S*v),y=1/(1+S*x);let I=E*E,O=b*b,R=y*y,F=I*E,X=O*b,z=R*y;M=h*I+d*O+p*R-1;let W=-2*(h*F*_+d*X*v+p*z*x);C=M/W}while(Math.abs(M)>je.EPSILON12);return kr.scale([E,b,y]).to(r)}var Ko=new T,Pm=new T,KS=new T,Ke=new T,YS=new T,Yo=new T,U=class{constructor(e=0,r=0,n=0){L(this,"radii",void 0),L(this,"radiiSquared",void 0),L(this,"radiiToTheFourth",void 0),L(this,"oneOverRadii",void 0),L(this,"oneOverRadiiSquared",void 0),L(this,"minimumRadius",void 0),L(this,"maximumRadius",void 0),L(this,"centerToleranceSquared",je.EPSILON1),L(this,"squaredXOverSquaredZ",void 0),le(e>=0),le(r>=0),le(n>=0),this.radii=new T(e,r,n),this.radiiSquared=new T(e*e,r*r,n*n),this.radiiToTheFourth=new T(e*e*e*e,r*r*r*r,n*n*n*n),this.oneOverRadii=new T(e===0?0:1/e,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new T(e===0?0:1/(e*e),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(e,r,n),this.maximumRadius=Math.max(e,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}toString(){return this.radii.toString()}cartographicToCartesian(e,r=[0,0,0]){let n=Pm,i=KS,[,,o]=e;this.geodeticSurfaceNormalCartographic(e,n),i.copy(this.radiiSquared).scale(n);let s=Math.sqrt(n.dot(i));return i.scale(1/s),n.scale(o),i.add(n),i.to(r)}cartesianToCartographic(e,r=[0,0,0]){Yo.from(e);let n=this.scaleToGeodeticSurface(Yo,Ke);if(!n)return;let i=this.geodeticSurfaceNormal(n,Pm),o=YS;o.copy(Yo).subtract(n);let s=Math.atan2(i.y,i.x),a=Math.asin(i.z),c=Math.sign(Lr.dot(o,Yo))*Lr.length(o);return Im([s,a,c],r)}eastNorthUpToFixedFrame(e,r=new D){return uu(this,"east","north","up",e,r)}localFrameToFixedFrame(e,r,n,i,o=new D){return uu(this,e,r,n,i,o)}geocentricSurfaceNormal(e,r=[0,0,0]){return Ko.from(e).normalize().to(r)}geodeticSurfaceNormalCartographic(e,r=[0,0,0]){let n=wm(e),i=n[0],o=n[1],s=Math.cos(o);return Ko.set(s*Math.cos(i),s*Math.sin(i),Math.sin(o)).normalize(),Ko.to(r)}geodeticSurfaceNormal(e,r=[0,0,0]){return Ko.from(e).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(e,r){return Lm(e,this,r)}scaleToGeocentricSurface(e,r=[0,0,0]){Ke.from(e);let n=Ke.x,i=Ke.y,o=Ke.z,s=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*s.x+i*i*s.y+o*o*s.z);return Ke.multiplyScalar(a).to(r)}transformPositionToScaledSpace(e,r=[0,0,0]){return Ke.from(e).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(e,r=[0,0,0]){return Ke.from(e).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(e,r=0,n=[0,0,0]){le(_e(this.radii.x,this.radii.y,je.EPSILON15)),le(this.radii.z>0),Ke.from(e);let i=Ke.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Ke.set(0,0,i).to(n)}};L(U,"WGS84",new U(6378137,6378137,xt));var Zo=class{constructor(e,r,n){this.item=void 0,this.previous=void 0,this.next=void 0,this.item=e,this.previous=r,this.next=n}};var Qo=class{constructor(){this.head=null,this.tail=null,this._length=0}get length(){return this._length}add(e){let r=new Zo(e,this.tail,null);return this.tail?(this.tail.next=r,this.tail=r):(this.head=r,this.tail=r),++this._length,r}remove(e){e&&(e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,--this._length)}splice(e,r){e!==r&&(this.remove(r),this._insert(e,r))}_insert(e,r){let n=e.next;e.next=r,this.tail===e?this.tail=r:n.previous=r,r.next=n,r.previous=e,++this._length}};var $o=class{constructor(){this._list=void 0,this._sentinel=void 0,this._trimTiles=void 0,this._list=new Qo,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}reset(){this._list.splice(this._list.tail,this._sentinel)}touch(e){let r=e._cacheNode;r&&this._list.splice(this._sentinel,r)}add(e,r,n){r._cacheNode||(r._cacheNode=this._list.add(r),n&&n(e,r))}unloadTile(e,r,n){let i=r._cacheNode;i&&(this._list.remove(i),r._cacheNode=null,n&&n(e,r))}unloadTiles(e,r){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=e.maximumMemoryUsage*1024*1024,s=this._sentinel,a=i.head;for(;a!==s&&(e.gpuMemoryUsageInBytes>o||n);){let c=a.item;a=a.next,this.unloadTile(e,c,r)}}trim(){this._trimTiles=!0}};function Fm(t,e){H(t),H(e);let{rtcCenter:r,gltfUpAxis:n}=e,{computedTransform:i,boundingVolume:{center:o}}=t,s=new D(i);switch(r&&s.translate(r),n){case"Z":break;case"Y":let f=new D().rotateX(Math.PI/2);s=s.multiplyRight(f);break;case"X":let h=new D().rotateY(-Math.PI/2);s=s.multiplyRight(h);break;default:break}e.isQuantized&&s.translate(e.quantizedVolumeOffset).scale(e.quantizedVolumeScale);let a=new T(o);e.cartesianModelMatrix=s,e.cartesianOrigin=a;let c=U.WGS84.cartesianToCartographic(a,new T),l=U.WGS84.eastNorthUpToFixedFrame(a).invert();e.cartographicModelMatrix=l.multiplyRight(s),e.cartographicOrigin=c,e.coordinateSystem||(e.modelMatrix=e.cartographicModelMatrix)}var Dm=new T,lu=new T,fu=new ae([new fe,new fe,new fe,new fe,new fe,new fe]);function Um(t,e){let{cameraDirection:r,cameraUp:n,height:i}=t,{metersPerUnit:o}=t.distanceScales,s=es(t,t.center),a=U.WGS84.eastNorthUpToFixedFrame(s),c=t.unprojectPosition(t.cameraPosition),u=U.WGS84.cartographicToCartesian(c,new T),l=new T(a.transformAsVector(new T(r).scale(o))).normalize(),f=new T(a.transformAsVector(new T(n).scale(o))).normalize();ZS(t);let h=t.constructor,{longitude:d,latitude:p,width:g,bearing:m,zoom:A}=t,_=new h({longitude:d,latitude:p,height:i,width:g,bearing:m,zoom:A,pitch:0});return{camera:{position:u,direction:l,up:f},viewport:t,topDownViewport:_,height:i,cullingVolume:fu,frameNumber:e,sseDenominator:1.15}}function Gm(t,e,r){if(r===0||t.length<=r)return[t,[]];let n=[],{longitude:i,latitude:o}=e.viewport;for(let[u,l]of t.entries()){let[f,h]=l.header.mbs,d=Math.abs(i-f),p=Math.abs(o-h),g=Math.sqrt(p*p+d*d);n.push([u,g])}let s=n.sort((u,l)=>u[1]-l[1]),a=[];for(let u=0;u<r;u++)a.push(t[s[u][0]]);let c=[];for(let u=r;u<s.length;u++)c.push(t[s[u][0]]);return[a,c]}function ZS(t){let e=t.getFrustumPlanes(),r=Nm(e.near,t.cameraPosition),n=es(t,r),i=es(t,t.cameraPosition,lu),o=0;fu.planes[o++].fromPointNormal(n,Dm.copy(n).subtract(i));for(let s in e){if(s==="near")continue;let a=e[s],c=Nm(a,r,lu),u=es(t,c,lu);fu.planes[o++].fromPointNormal(u,Dm.copy(n).subtract(u))}}function Nm(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new T,n=t.normal.dot(e);return r.copy(t.normal).scale(t.distance-n).add(e),r}function es(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new T,n=t.unprojectPosition(e);return U.WGS84.cartographicToCartesian(n,r)}var QS=6378137,$S=6378137,hu=6356752314245179e-9,Jr=new T;function Hm(t,e){if(t instanceof Je){let{halfAxes:r}=t,n=eB(r);return Math.log2(hu/(n+e[2]))}else if(t instanceof Pe){let{radius:r}=t;return Math.log2(hu/(r+e[2]))}else if(t.width&&t.height){let{width:r,height:n}=t,i=Math.log2(QS/r),o=Math.log2($S/n);return(i+o)/2}return 1}function du(t,e,r){U.WGS84.cartographicToCartesian([t.xmax,t.ymax,t.zmax],Jr);let n=Math.sqrt(Math.pow(Jr[0]-r[0],2)+Math.pow(Jr[1]-r[1],2)+Math.pow(Jr[2]-r[2],2));return Math.log2(hu/(n+e[2]))}function Vm(t,e,r){let[n,i,o,s]=t;return du({xmin:n,xmax:o,ymin:i,ymax:s,zmin:0,zmax:0},e,r)}function eB(t){t.getColumn(0,Jr);let e=t.getColumn(1),r=t.getColumn(2);return Jr.add(e).add(r).len()}var ig=P(jr(),1);var ve={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},be=function(t){return t[t.ADD=1]="ADD",t[t.REPLACE=2]="REPLACE",t}({}),ut=function(t){return t.EMPTY="empty",t.SCENEGRAPH="scenegraph",t.POINTCLOUD="pointcloud",t.MESH="mesh",t}({}),pe=function(t){return t.I3S="I3S",t.TILES3D="TILES3D",t}({}),fr=function(t){return t.GEOMETRIC_ERROR="geometricError",t.MAX_SCREEN_THRESHOLD="maxScreenThreshold",t}({}),zm={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0};function qm(t){return t!=null}var me=new T,ts=new T,tB=new T,rB=new T,hr=new T,jm=new T,km=new T,Jm=new T;function rs(t,e,r){if(H(t,"3D Tile: boundingVolume must be defined"),t.box)return Xm(t.box,e,r);if(t.region)return iB(t.region);if(t.sphere)return nB(t.sphere,e,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Wm(t,e){if(t.box)return oB(e);if(t.region){let[r,n,i,o,s,a]=t.region;return[[Ie(r),Ie(n),s],[Ie(i),Ie(o),a]]}if(t.sphere)return sB(e);throw new Error("Unkown boundingVolume type")}function Xm(t,e,r){let n=new T(t[0],t[1],t[2]);e.transform(n,n);let i=[];if(t.length===10){let u=t.slice(3,6),l=new nt;l.fromArray(t,6);let f=new T([1,0,0]),h=new T([0,1,0]),d=new T([0,0,1]);f.transformByQuaternion(l),f.scale(u[0]),h.transformByQuaternion(l),h.scale(u[1]),d.transformByQuaternion(l),d.scale(u[2]),i=[...f.toArray(),...h.toArray(),...d.toArray()]}else i=[...t.slice(3,6),...t.slice(6,9),...t.slice(9,12)];let o=e.transformAsVector(i.slice(0,3)),s=e.transformAsVector(i.slice(3,6)),a=e.transformAsVector(i.slice(6,9)),c=new j([o[0],o[1],o[2],s[0],s[1],s[2],a[0],a[1],a[2]]);return qm(r)?(r.center=n,r.halfAxes=c,r):new Je(n,c)}function nB(t,e,r){let n=new T(t[0],t[1],t[2]);e.transform(n,n);let i=e.getScale(ts),o=Math.max(Math.max(i[0],i[1]),i[2]),s=t[3]*o;return qm(r)?(r.center=n,r.radius=s,r):new Pe(n,s)}function iB(t){let[e,r,n,i,o,s]=t,a=U.WGS84.cartographicToCartesian([Ie(e),Ie(i),o],tB),c=U.WGS84.cartographicToCartesian([Ie(n),Ie(r),s],rB),u=new T().addVectors(a,c).multiplyByScalar(.5);return U.WGS84.cartesianToCartographic(u,hr),U.WGS84.cartographicToCartesian([Ie(n),hr[1],hr[2]],jm),U.WGS84.cartographicToCartesian([hr[0],Ie(i),hr[2]],km),U.WGS84.cartographicToCartesian([hr[0],hr[1],s],Jm),Xm([...u,...jm.subtract(u),...km.subtract(u),...Jm.subtract(u)],new D)}function oB(t){let e=Km(),{halfAxes:r}=t,n=new T(r.getColumn(0)),i=new T(r.getColumn(1)),o=new T(r.getColumn(2));for(let s=0;s<2;s++){for(let a=0;a<2;a++){for(let c=0;c<2;c++)me.copy(t.center),me.add(n),me.add(i),me.add(o),Ym(e,me),o.negate();i.negate()}n.negate()}return e}function sB(t){let e=Km(),{center:r,radius:n}=t,i=U.WGS84.scaleToGeodeticSurface(r,me),o;i?o=U.WGS84.geodeticSurfaceNormal(i):o=new T(0,0,1);let s=new T(o[2],-o[1],0);s.len()>0?s.normalize():s=new T(0,1,0);let a=s.clone().cross(o);for(let c of[s,a,o]){ts.copy(c).scale(n);for(let u=0;u<2;u++)me.copy(r),me.add(ts),Ym(e,me),ts.negate()}return e}function Km(){return[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]]}function Ym(t,e){U.WGS84.cartesianToCartographic(e,me),t[0][0]=Math.min(t[0][0],me[0]),t[0][1]=Math.min(t[0][1],me[1]),t[0][2]=Math.min(t[0][2],me[2]),t[1][0]=Math.max(t[1][0],me[0]),t[1][1]=Math.max(t[1][1],me[1]),t[1][2]=Math.max(t[1][2],me[2])}var a8=new T,c8=new T,u8=new D,l8=new T,f8=new T,h8=new T;function aB(t,e){let r=t*e;return 1-Math.exp(-(r*r))}function cB(t,e){if(t.dynamicScreenSpaceError&&t.dynamicScreenSpaceErrorComputedDensity){let r=t.dynamicScreenSpaceErrorComputedDensity,n=t.dynamicScreenSpaceErrorFactor;return aB(e,r)*n}return 0}function Zm(t,e,r){let n=t.tileset,i=t.parent&&t.parent.lodMetricValue||t.lodMetricValue,o=r?i:t.lodMetricValue;if(o===0)return 0;let s=Math.max(t._distanceToCamera,1e-7),{height:a,sseDenominator:c}=e,{viewDistanceScale:u}=n.options,l=o*a*(u||1)/(s*c);return l-=cB(n,s),l}var pu=new T,Qm=new T,kt=new T,$m=new T,uB=new T,mu=new D,eg=new D;function tg(t,e){if(t.lodMetricValue===0||isNaN(t.lodMetricValue))return"DIG";let r=2*gu(t,e);return r<2?"OUT":!t.header.children||r<=t.lodMetricValue?"DRAW":t.header.children?"DIG":"OUT"}function gu(t,e){let{topDownViewport:r}=e,n=t.header.mbs[1],i=t.header.mbs[0],o=t.header.mbs[2],s=t.header.mbs[3],a=[...t.boundingVolume.center],c=r.unprojectPosition(r.cameraPosition);U.WGS84.cartographicToCartesian(c,pu),Qm.copy(pu).subtract(a).normalize(),U.WGS84.eastNorthUpToFixedFrame(a,mu),eg.copy(mu).invert(),kt.copy(pu).transform(eg);let u=Math.sqrt(kt[0]*kt[0]+kt[1]*kt[1]),l=u*u/kt[2];$m.copy([kt[0],kt[1],l]);let h=$m.transform(mu).subtract(a).normalize(),p=Qm.cross(h).normalize().scale(s).add(a),g=U.WGS84.cartesianToCartographic(p),m=r.project([i,n,o]),A=r.project(g);return uB.copy(m).subtract(A).magnitude()}function rg(t){return{assetGltfUpAxis:t.asset&&t.asset.gltfUpAxis||"Y"}}var Zn=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this._map=new Map,this._array=void 0,this._length=void 0,this._array=new Array(e),this._length=e}get length(){return this._length}set length(e){this._length=e,e>this._array.length&&(this._array.length=e)}get values(){return this._array}get(e){return H(e<this._array.length),this._array[e]}set(e,r){H(e>=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=r,this._map.set(r,e)}delete(e){let r=this._map.get(e);r>=0&&(this._array.splice(r,1),this._map.delete(e),this.length--)}peek(){return this._array[this._length-1]}push(e){if(!this._map.has(e)){let r=this.length++;this._array[r]=e,this._map.set(e,r)}}pop(){let e=this._array[--this.length];return this._map.delete(e),e}reserve(e){H(e>=0),e>this._array.length&&(this._array.length=e)}resize(e){H(e>=0),this.length=e}trim(e){e==null&&(e=this.length),this._array.length=e}reset(){this._array=[],this._map=new Map,this._length=0}find(e){return this._map.has(e)}};var lB={loadSiblings:!1,skipLevelOfDetail:!1,maximumScreenSpaceError:2,updateTransforms:!0,onTraversalEnd:()=>{},viewportTraversersMap:{},basePath:""},lt=class{traversalFinished(e){return!0}constructor(e){this.options=void 0,this.root=null,this.selectedTiles={},this.requestedTiles={},this.emptyTiles={},this.lastUpdate=new Date().getTime(),this.updateDebounceTime=1e3,this._traversalStack=new Zn,this._emptyTraversalStack=new Zn,this._frameNumber=null,this.options={...lB,...e}}traverse(e,r,n){this.root=e,this.options={...this.options,...n},this.reset(),this.updateTile(e,r),this._frameNumber=r.frameNumber,this.executeTraversal(e,r)}reset(){this.requestedTiles={},this.selectedTiles={},this.emptyTiles={},this._traversalStack.reset(),this._emptyTraversalStack.reset()}executeTraversal(e,r){let n=this._traversalStack;for(e._selectionDepth=1,n.push(e);n.length>0;){let o=n.pop(),s=!1;this.canTraverse(o,r)&&(this.updateChildTiles(o,r),s=this.updateAndPushChildren(o,r,n,o.hasRenderContent?o._selectionDepth+1:o._selectionDepth));let a=o.parent,c=Boolean(!a||a._shouldRefine),u=!s;o.hasRenderContent?o.refine===be.ADD?(this.loadTile(o,r),this.selectTile(o,r)):o.refine===be.REPLACE&&(this.loadTile(o,r),u&&this.selectTile(o,r)):(this.emptyTiles[o.id]=o,this.loadTile(o,r),u&&this.selectTile(o,r)),this.touchTile(o,r),o._shouldRefine=s&&c}let i=new Date().getTime();(this.traversalFinished(r)||i-this.lastUpdate>this.updateDebounceTime)&&(this.lastUpdate=i,this.options.onTraversalEnd(r))}updateChildTiles(e,r){let n=e.children;for(let i of n)this.updateTile(i,r)}updateAndPushChildren(e,r,n,i){let{loadSiblings:o,skipLevelOfDetail:s}=this.options,a=e.children;a.sort(this.compareDistanceToCamera.bind(this));let c=e.refine===be.REPLACE&&e.hasRenderContent&&!s,u=!1,l=!0;for(let f of a)if(f._selectionDepth=i,f.isVisibleAndInRequestVolume?(n.find(f)&&n.delete(f),n.push(f),u=!0):(c||o)&&(this.loadTile(f,r),this.touchTile(f,r)),c){let h;if(f._inRequestVolume?f.hasRenderContent?h=f.contentAvailable:h=this.executeEmptyTraversal(f,r):h=!1,l=l&&h,!l)return!1}return u||(l=!1),l}updateTile(e,r){this.updateTileVisibility(e,r)}selectTile(e,r){this.shouldSelectTile(e)&&(e._selectedFrame=r.frameNumber,this.selectedTiles[e.id]=e)}loadTile(e,r){this.shouldLoadTile(e)&&(e._requestedFrame=r.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}touchTile(e,r){e.tileset._cache.touch(e),e._touchedFrame=r.frameNumber}canTraverse(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return e.hasChildren?e.hasTilesetContent?!e.contentExpired:!i&&!e.isVisibleAndInRequestVolume?!1:this.shouldRefine(e,r,n):!1}shouldLoadTile(e){return e.hasUnloadedContent||e.contentExpired}shouldSelectTile(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}shouldRefine(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=e._screenSpaceError;return n&&(i=e.getScreenSpaceError(r,!0)),i>this.options.maximumScreenSpaceError}updateTileVisibility(e,r){let n=[];if(this.options.viewportTraversersMap)for(let i in this.options.viewportTraversersMap)this.options.viewportTraversersMap[i]===r.viewport.id&&n.push(i);else n.push(r.viewport.id);e.updateVisibility(r,n)}compareDistanceToCamera(e,r){return e._distanceToCamera-r._distanceToCamera}anyChildrenVisible(e,r){let n=!1;for(let i of e.children)i.updateVisibility(r),n=n||i.isVisibleAndInRequestVolume;return n}executeEmptyTraversal(e,r){let n=!0,i=this._emptyTraversalStack;for(i.push(e);i.length>0;){let o=i.pop(),s=!o.hasRenderContent&&this.canTraverse(o,r,!1,!1),a=!o.hasRenderContent&&o.children.length===0;if(!s&&!o.contentAvailable&&!a&&(n=!1),this.updateTile(o,r),o.isVisibleAndInRequestVolume||(this.loadTile(o,r),this.touchTile(o,r)),s){let c=o.children;for(let u of c)i.push(u)}}return n}};var ng=new T;function fB(t){return t!=null}var dr=class{constructor(e,r,n){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";this.tileset=void 0,this.header=void 0,this.id=void 0,this.url=void 0,this.parent=void 0,this.refine=void 0,this.type=void 0,this.contentUrl=void 0,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=ve.UNLOADED,this.gpuMemoryUsageInBytes=0,this.children=[],this.depth=0,this.viewportIds=[],this.transform=new D,this.extensions=null,this.implicitTiling=null,this.userData={},this.computedTransform=void 0,this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.traverser=new lt({}),this._cacheNode=null,this._frameNumber=null,this._expireDate=null,this._expiredContent=null,this._boundingBox=void 0,this._distanceToCamera=0,this._screenSpaceError=0,this._visibilityPlaneMask=void 0,this._visible=void 0,this._contentBoundingVolume=void 0,this._viewerRequestVolume=void 0,this._initialTransform=new D,this._priority=0,this._selectedFrame=0,this._requestedFrame=0,this._selectionDepth=0,this._touchedFrame=0,this._centerZDepth=0,this._shouldRefine=!1,this._stackLength=0,this._visitedFrame=0,this._inRequestVolume=!1,this._lodJudge=null,this.header=r,this.tileset=e,this.id=i||r.id,this.url=r.url,this.parent=n,this.refine=this._getRefine(r.refine),this.type=r.type,this.contentUrl=r.contentUrl,this._initializeLodMetric(r),this._initializeTransforms(r),this._initializeBoundingVolumes(r),this._initializeContent(r),this._initializeRenderingState(r),Object.seal(this)}destroy(){this.header=null}isDestroyed(){return this.header===null}get selected(){return this._selectedFrame===this.tileset._frameNumber}get isVisible(){return this._visible}get isVisibleAndInRequestVolume(){return this._visible&&this._inRequestVolume}get hasRenderContent(){return!this.hasEmptyContent&&!this.hasTilesetContent}get hasChildren(){return this.children.length>0||this.header.children&&this.header.children.length>0}get contentReady(){return this.contentState===ve.READY||this.hasEmptyContent}get contentAvailable(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}get hasUnloadedContent(){return this.hasRenderContent&&this.contentUnloaded}get contentUnloaded(){return this.contentState===ve.UNLOADED}get contentExpired(){return this.contentState===ve.EXPIRED}get contentFailed(){return this.contentState===ve.FAILED}get distanceToCamera(){return this._distanceToCamera}get screenSpaceError(){return this._screenSpaceError}get boundingBox(){return this._boundingBox||(this._boundingBox=Wm(this.header.boundingVolume,this.boundingVolume)),this._boundingBox}getScreenSpaceError(e,r){switch(this.tileset.type){case pe.I3S:return gu(this,e);case pe.TILES3D:return Zm(this,e,r);default:throw new Error("Unsupported tileset type")}}unselect(){this._selectedFrame=0}_getGpuMemoryUsageInBytes(){return this.content.gpuMemoryUsageInBytes||this.content.byteLength||0}_getPriority(){let e=this.tileset._traverser,{skipLevelOfDetail:r}=e.options,n=this.refine===be.ADD||r;if(n&&!this.isVisible&&this._visible!==void 0||this.tileset._frameNumber-this._touchedFrame>=1||this.contentState===ve.UNLOADED)return-1;let i=this.parent,s=i&&(!n||this._screenSpaceError===0||i.hasTilesetContent)?i._screenSpaceError:this._screenSpaceError,a=e.root?e.root._screenSpaceError:0;return Math.max(a-s,0)}async loadContent(){if(this.hasEmptyContent)return!1;if(this.content)return!0;this.contentExpired&&(this._expireDate=null),this.contentState=ve.LOADING;let r=await this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));if(!r)return this.contentState=ve.UNLOADED,!1;try{let n=this.tileset.getTileUrl(this.contentUrl),i=this.tileset.loader,o={...this.tileset.loadOptions,[i.id]:{...this.tileset.loadOptions[i.id],isTileset:this.type==="json",...this._getLoaderSpecificOptions(i.id)}};return this.content=await(0,ig.load)(n,i,o),this.tileset.options.contentLoader&&await this.tileset.options.contentLoader(this),this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=ve.READY,this._onContentLoaded(),!0}catch(n){throw this.contentState=ve.FAILED,n}finally{r.done()}}unloadContent(){return this.content&&this.content.destroy&&this.content.destroy(),this.content=null,this.header.content&&this.header.content.destroy&&this.header.content.destroy(),this.header.content=null,this.contentState=ve.UNLOADED,!0}updateVisibility(e,r){if(this._frameNumber===e.frameNumber)return;let n=this.parent,i=n?n._visibilityPlaneMask:ae.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){let o=n?n.computedTransform:this.tileset.modelMatrix;this._updateTransform(o)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,i),this._visible=this._visibilityPlaneMask!==ae.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=r}visibility(e,r){let{cullingVolume:n}=e,{boundingVolume:i}=this;return n.computeVisibilityWithPlaneMask(i,r)}contentVisibility(){return!0}distanceToTile(e){let r=this.boundingVolume;return Math.sqrt(Math.max(r.distanceSquaredTo(e.camera.position),0))}cameraSpaceZDepth(e){let{camera:r}=e,n=this.boundingVolume;return ng.subVectors(n.center,r.position),r.direction.dot(ng)}insideViewerRequestVolume(e){let r=this._viewerRequestVolume;return!r||r.distanceSquaredTo(e.camera.position)<=0}updateExpiration(){if(fB(this._expireDate)&&this.contentReady&&!this.hasEmptyContent){let e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=ve.EXPIRED,this._expiredContent=this.content)}}get extras(){return this.header.extras}_initializeLodMetric(e){"lodMetricType"in e?this.lodMetricType=e.lodMetricType:(this.lodMetricType=this.parent&&this.parent.lodMetricType||this.tileset.lodMetricType,console.warn("3D Tile: Required prop lodMetricType is undefined. Using parent lodMetricType")),"lodMetricValue"in e?this.lodMetricValue=e.lodMetricValue:(this.lodMetricValue=this.parent&&this.parent.lodMetricValue||this.tileset.lodMetricValue,console.warn("3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue"))}_initializeTransforms(e){this.transform=e.transform?new D(e.transform):new D;let r=this.parent,n=this.tileset,i=r&&r.computedTransform?r.computedTransform.clone():n.modelMatrix.clone();this.computedTransform=new D(i).multiplyRight(this.transform);let o=r&&r._initialTransform?r._initialTransform.clone():new D;this._initialTransform=new D(o).multiplyRight(this.transform)}_initializeBoundingVolumes(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}_initializeContent(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=ve.UNLOADED,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}_initializeRenderingState(e){this.depth=e.level||(this.parent?this.parent.depth+1:0),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._visibilityPlaneMask=ae.MASK_INDETERMINATE,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._frameNumber=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._priority=0}_getRefine(e){return e||this.parent&&this.parent.refine||be.REPLACE}_isTileset(){return this.contentUrl.indexOf(".json")!==-1}_onContentLoaded(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0;break;default:}this._isTileset()?this.hasTilesetContent=!0:this.gpuMemoryUsageInBytes=this._getGpuMemoryUsageInBytes()}_updateBoundingVolume(e){this.boundingVolume=rs(e.boundingVolume,this.computedTransform,this.boundingVolume);let r=e.content;r&&(r.boundingVolume&&(this._contentBoundingVolume=rs(r.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=rs(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}_updateTransform(){let r=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:new D).clone().multiplyRight(this.transform);r.equals(this.computedTransform)||(this.computedTransform=r,this._updateBoundingVolume(this.header))}_getLoaderSpecificOptions(e){switch(e){case"i3s":return{...this.tileset.options.i3s,_tileOptions:{attributeUrls:this.header.attributeUrls,textureUrl:this.header.textureUrl,textureFormat:this.header.textureFormat,textureLoaderOptions:this.header.textureLoaderOptions,materialDefinition:this.header.materialDefinition,isDracoGeometry:this.header.isDracoGeometry,mbs:this.header.mbs},_tilesetOptions:{store:this.tileset.tileset.store,attributeStorageInfo:this.tileset.tileset.attributeStorageInfo,fields:this.tileset.tileset.fields},isTileHeader:!1};case"3d-tiles":case"cesium-ion":default:return rg(this.tileset.tileset)}}};var ns=class extends lt{compareDistanceToCamera(e,r){return r._distanceToCamera===0&&e._distanceToCamera===0?r._centerZDepth-e._centerZDepth:r._distanceToCamera-e._distanceToCamera}updateTileVisibility(e,r){if(super.updateTileVisibility(e,r),!e.isVisibleAndInRequestVolume)return;let n=e.children.length>0;if(e.hasTilesetContent&&n){let s=e.children[0];this.updateTileVisibility(s,r),e._visible=s._visible;return}if(this.meetsScreenSpaceErrorEarly(e,r)){e._visible=!1;return}let i=e.refine===be.REPLACE,o=e._optimChildrenWithinParent===zm.USE_OPTIMIZATION;if(i&&o&&n&&!this.anyChildrenVisible(e,r)){e._visible=!1;return}}meetsScreenSpaceErrorEarly(e,r){let{parent:n}=e;return!n||n.hasTilesetContent||n.refine!==be.ADD?!1:!this.shouldRefine(e,r,!0)}};var og=P(jr(),1);var is=class{constructor(){this.frameNumberMap=new Map}register(e,r){let n=this.frameNumberMap.get(e)||new Map,i=n.get(r)||0;n.set(r,i+1),this.frameNumberMap.set(e,n)}deregister(e,r){let n=this.frameNumberMap.get(e);if(!n)return;let i=n.get(r)||1;n.set(r,i-1)}isZero(e,r){var n;return(((n=this.frameNumberMap.get(e))===null||n===void 0?void 0:n.get(r))||0)===0}};var yu={REQUESTED:"REQUESTED",COMPLETED:"COMPLETED",ERROR:"ERROR"},os=class{constructor(){this._statusMap=void 0,this.pendingTilesRegister=new is,this._statusMap={}}add(e,r,n,i){if(!this._statusMap[r]){let{frameNumber:o,viewport:{id:s}}=i;this._statusMap[r]={request:e,callback:n,key:r,frameState:i,status:yu.REQUESTED},this.pendingTilesRegister.register(s,o),e().then(a=>{this._statusMap[r].status=yu.COMPLETED;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),this._statusMap[r].callback(a,i)}).catch(a=>{this._statusMap[r].status=yu.ERROR;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),n(a)})}}update(e,r){if(this._statusMap[e]){let{frameNumber:n,viewport:{id:i}}=this._statusMap[e].frameState;this.pendingTilesRegister.deregister(i,n);let{frameNumber:o,viewport:{id:s}}=r;this.pendingTilesRegister.register(s,o),this._statusMap[e].frameState=r}}find(e){return this._statusMap[e]}hasPendingTiles(e,r){return!this.pendingTilesRegister.isZero(e,r)}};var ss=class extends lt{constructor(e){super(e),this._tileManager=void 0,this._tileManager=new os}traversalFinished(e){return!this._tileManager.hasPendingTiles(e.viewport.id,this._frameNumber||0)}shouldRefine(e,r){return e._lodJudge=tg(e,r),e._lodJudge==="DIG"}updateChildTiles(e,r){let n=e.header.children||[],i=e.children,o=e.tileset;for(let s of n){let a=`${s.id}-${r.viewport.id}`,c=i&&i.find(u=>u.id===a);if(c)c&&this.updateTile(c,r);else{let u=()=>this._loadTile(s.id,o);this._tileManager.find(a)?this._tileManager.update(a,r):(o.tileset.nodePages&&(u=()=>o.tileset.nodePagesTile.formTileFromNodePages(s.id)),this._tileManager.add(u,a,f=>this._onTileLoad(f,e,a),r))}}return!1}async _loadTile(e,r){let{loader:n}=r,i=r.getTileUrl(`${r.url}/nodes/${e}`),o={...r.loadOptions,i3s:{...r.loadOptions.i3s,isTileHeader:!0}};return await(0,og.load)(i,n,o)}_onTileLoad(e,r,n){let i=new dr(r.tileset,e,r,n);r.children.push(i);let o=this._tileManager.find(i.id).frameState;this.updateTile(i,o),this._frameNumber===o.frameNumber&&(this.traversalFinished(o)||new Date().getTime()-this.lastUpdate>this.updateDebounceTime)&&this.executeTraversal(i,o)}};var hB={description:"",ellipsoid:U.WGS84,modelMatrix:new D,throttleRequests:!0,maxRequests:64,maximumMemoryUsage:32,maximumTilesSelected:0,debounceTime:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{},onTraversalComplete:t=>t,contentLoader:void 0,viewDistanceScale:1,maximumScreenSpaceError:8,loadTiles:!0,updateTransforms:!0,viewportTraversersMap:null,loadOptions:{fetch:{}},attributions:[],basePath:"",i3s:{}},as="Tiles In Tileset(s)",Au="Tiles In Memory",sg="Tiles In View",ag="Tiles To Render",cg="Tiles Loaded",_u="Tiles Loading",ug="Tiles Unloaded",lg="Failed Tile Loads",fg="Points/Vertices",vu="Tile Memory Use",Qn=class{constructor(e,r){this.options=void 0,this.loadOptions=void 0,this.type=void 0,this.tileset=void 0,this.loader=void 0,this.url=void 0,this.basePath=void 0,this.modelMatrix=void 0,this.ellipsoid=void 0,this.lodMetricType=void 0,this.lodMetricValue=void 0,this.refine=void 0,this.root=null,this.roots={},this.asset={},this.description="",this.properties=void 0,this.extras=null,this.attributions={},this.credits={},this.stats=void 0,this.contentFormats={draco:!1,meshopt:!1,dds:!1,ktx2:!1},this.cartographicCenter=null,this.cartesianCenter=null,this.zoom=1,this.boundingVolume=null,this.dynamicScreenSpaceErrorComputedDensity=0,this.maximumMemoryUsage=32,this.gpuMemoryUsageInBytes=0,this._frameNumber=0,this._queryParams={},this._extensionsUsed=[],this._tiles={},this._pendingCount=0,this.selectedTiles=[],this.traverseCounter=0,this.geometricError=0,this.lastUpdatedVieports=null,this._requestedTiles=[],this._emptyTiles=[],this.frameStateData={},this._traverser=void 0,this._cache=new $o,this._requestScheduler=void 0,this.updatePromise=null,this.tilesetInitializationPromise=void 0,this.options={...hB,...r},this.tileset=e,this.loader=e.loader,this.type=e.type,this.url=e.url,this.basePath=e.basePath||It.dirname(this.url),this.modelMatrix=this.options.modelMatrix,this.ellipsoid=this.options.ellipsoid,this.lodMetricType=e.lodMetricType,this.lodMetricValue=e.lodMetricValue,this.refine=e.root.refine,this.loadOptions=this.options.loadOptions||{},this._traverser=this._initializeTraverser(),this._requestScheduler=new wt({throttleRequests:this.options.throttleRequests,maxRequests:this.options.maxRequests}),this.stats=new Mt({id:this.url}),this._initializeStats(),this.tilesetInitializationPromise=this._initializeTileSet(e)}destroy(){this._destroy()}isLoaded(){return this._pendingCount===0&&this._frameNumber!==0&&this._requestedTiles.length===0}get tiles(){return Object.values(this._tiles)}get frameNumber(){return this._frameNumber}get queryParams(){return new URLSearchParams(this._queryParams).toString()}setProps(e){this.options={...this.options,...e}}getTileUrl(e){if(e.startsWith("data:"))return e;let n=e;return this.queryParams.length&&(n=`${e}${e.includes("?")?"&":"?"}${this.queryParams}`),n}hasExtension(e){return Boolean(this._extensionsUsed.indexOf(e)>-1)}update(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.tilesetInitializationPromise.then(()=>{!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e&&this.doUpdate(e)})}async selectTiles(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return await this.tilesetInitializationPromise,e&&(this.lastUpdatedVieports=e),this.updatePromise||(this.updatePromise=new Promise(r=>{setTimeout(()=>{this.lastUpdatedVieports&&this.doUpdate(this.lastUpdatedVieports),r(this._frameNumber),this.updatePromise=null},this.options.debounceTime)})),this.updatePromise}doUpdate(e){if("loadTiles"in this.options&&!this.options.loadTiles||this.traverseCounter>0)return;let r=e instanceof Array?e:[e];this._cache.reset(),this._frameNumber++,this.traverseCounter=r.length;let n=[];for(let i of r){let o=i.id;this._needTraverse(o)?n.push(o):this.traverseCounter--}for(let i of r){let o=i.id;if(this.roots[o]||(this.roots[o]=this._initializeTileHeaders(this.tileset,null)),!n.includes(o))continue;let s=Um(i,this._frameNumber);this._traverser.traverse(this.roots[o],s,this.options)}}_needTraverse(e){let r=e;return this.options.viewportTraversersMap&&(r=this.options.viewportTraversersMap[e]),r===e}_onTraversalEnd(e){let r=e.viewport.id;this.frameStateData[r]||(this.frameStateData[r]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});let n=this.frameStateData[r],i=Object.values(this._traverser.selectedTiles),[o,s]=Gm(i,e,this.options.maximumTilesSelected);n.selectedTiles=o;for(let a of s)a.unselect();n._requestedTiles=Object.values(this._traverser.requestedTiles),n._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,!(this.traverseCounter>0)&&this._updateTiles()}_updateTiles(){this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[];for(let e in this.frameStateData){let r=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(r.selectedTiles),this._requestedTiles=this._requestedTiles.concat(r._requestedTiles),this._emptyTiles=this._emptyTiles.concat(r._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);for(let e of this.selectedTiles)this._tiles[e.id]=e;this._loadTiles(),this._unloadTiles(),this._updateStats()}_tilesChanged(e,r){if(e.length!==r.length)return!0;let n=new Set(e.map(s=>s.id)),i=new Set(r.map(s=>s.id)),o=e.filter(s=>!i.has(s.id)).length>0;return o=o||r.filter(s=>!n.has(s.id)).length>0,o}_loadTiles(){for(let e of this._requestedTiles)e.contentUnloaded&&this._loadTile(e)}_unloadTiles(){this._cache.unloadTiles(this,(e,r)=>e._unloadTile(r))}_updateStats(){let e=0,r=0;for(let n of this.selectedTiles)n.contentAvailable&&n.content&&(e++,n.content.pointCount?r+=n.content.pointCount:r+=n.content.vertexCount);this.stats.get(sg).count=this.selectedTiles.length,this.stats.get(ag).count=e,this.stats.get(fg).count=r}async _initializeTileSet(e){this.type===pe.I3S&&(this.calculateViewPropsI3S(),e.root=await e.root),this.root=this._initializeTileHeaders(e,null),this.type===pe.TILES3D&&(this._initializeTiles3DTileset(e),this.calculateViewPropsTiles3D()),this.type===pe.I3S&&this._initializeI3STileset()}calculateViewPropsI3S(){var e;let r=this.tileset.fullExtent;if(r){let{xmin:i,xmax:o,ymin:s,ymax:a,zmin:c,zmax:u}=r;this.cartographicCenter=new T(i+(o-i)/2,s+(a-s)/2,c+(u-c)/2),this.cartesianCenter=new T,U.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=du(r,this.cartographicCenter,this.cartesianCenter);return}let n=(e=this.tileset.store)===null||e===void 0?void 0:e.extent;if(n){let[i,o,s,a]=n;this.cartographicCenter=new T(i+(s-i)/2,o+(a-o)/2,0),this.cartesianCenter=new T,U.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=Vm(n,this.cartographicCenter,this.cartesianCenter);return}console.warn("Extent is not defined in the tileset header"),this.cartographicCenter=new T,this.zoom=1}calculateViewPropsTiles3D(){let e=this.root,{center:r}=e.boundingVolume;if(!r){console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new T,this.zoom=1;return}r[0]!==0||r[1]!==0||r[2]!==0?(this.cartographicCenter=new T,U.WGS84.cartesianToCartographic(r,this.cartographicCenter)):this.cartographicCenter=new T(0,0,-U.WGS84.radii[0]),this.cartesianCenter=r,this.zoom=Hm(e.boundingVolume,this.cartographicCenter)}_initializeStats(){this.stats.get(as),this.stats.get(_u),this.stats.get(Au),this.stats.get(sg),this.stats.get(ag),this.stats.get(cg),this.stats.get(ug),this.stats.get(lg),this.stats.get(fg),this.stats.get(vu,"memory")}_initializeTileHeaders(e,r){let n=new dr(this,e.root,r);if(r&&(r.children.push(n),n.depth=r.depth+1),this.type===pe.TILES3D){let o=[];for(o.push(n);o.length>0;){let s=o.pop();this.stats.get(as).incrementCount();let a=s.header.children||[];for(let c of a){var i;let u=new dr(this,c,s);if((i=u.contentUrl)!==null&&i!==void 0&&i.includes("?session=")){let f=new URL(u.contentUrl).searchParams.get("session");f&&(this._queryParams.session=f)}s.children.push(u),u.depth=s.depth+1,o.push(u)}}}return n}_initializeTraverser(){let e;switch(this.type){case pe.TILES3D:e=ns;break;case pe.I3S:e=ss;break;default:e=lt}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}_destroyTileHeaders(e){this._destroySubtree(e)}async _loadTile(e){let r;try{this._onStartTileLoading(),r=await e.loadContent()}catch(n){this._onTileLoadError(e,n instanceof Error?n:new Error("load failed"))}finally{this._onEndTileLoading(),this._onTileLoad(e,r)}}_onTileLoadError(e,r){this.stats.get(lg).incrementCount();let n=r.message||r.toString(),i=e.url;console.error(`A 3D tile failed to load: ${e.url} ${n}`),this.options.onTileError(e,n,i)}_onTileLoad(e,r){if(r){if(this.type===pe.I3S){var n,i;let o=((n=this.tileset)===null||n===void 0||(i=n.nodePagesTile)===null||i===void 0?void 0:i.nodesInNodePages)||0;this.stats.get(as).reset(),this.stats.get(as).addCount(o)}e&&e.content&&Fm(e,e.content),this.updateContentTypes(e),this._addTileToCache(e),this.options.onTileLoad(e)}}updateContentTypes(e){if(this.type===pe.I3S)switch(e.header.isDracoGeometry&&(this.contentFormats.draco=!0),e.header.textureFormat){case"dds":this.contentFormats.dds=!0;break;case"ktx2":this.contentFormats.ktx2=!0;break;default:}else if(this.type===pe.TILES3D){var r;let{extensionsRemoved:n=[]}=((r=e.content)===null||r===void 0?void 0:r.gltf)||{};n.includes("KHR_draco_mesh_compression")&&(this.contentFormats.draco=!0),n.includes("EXT_meshopt_compression")&&(this.contentFormats.meshopt=!0),n.includes("KHR_texture_basisu")&&(this.contentFormats.ktx2=!0)}}_onStartTileLoading(){this._pendingCount++,this.stats.get(_u).incrementCount()}_onEndTileLoading(){this._pendingCount--,this.stats.get(_u).decrementCount()}_addTileToCache(e){this._cache.add(this,e,r=>r._updateCacheStats(e))}_updateCacheStats(e){this.stats.get(cg).incrementCount(),this.stats.get(Au).incrementCount(),this.gpuMemoryUsageInBytes+=e.gpuMemoryUsageInBytes||0,this.stats.get(vu).count=this.gpuMemoryUsageInBytes}_unloadTile(e){this.gpuMemoryUsageInBytes-=e.gpuMemoryUsageInBytes||0,this.stats.get(Au).decrementCount(),this.stats.get(ug).incrementCount(),this.stats.get(vu).count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}_destroy(){let e=[];for(this.root&&e.push(this.root);e.length>0;){let r=e.pop();for(let n of r.children)e.push(n);this._destroyTile(r)}this.root=null}_destroySubtree(e){let r=e,n=[];for(n.push(r);n.length>0;){e=n.pop();for(let i of e.children)n.push(i);e!==r&&this._destroyTile(e)}r.children=[]}_destroyTile(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}_initializeTiles3DTileset(e){if(e.queryString){let r=new URLSearchParams(e.queryString),n=Object.fromEntries(r.entries());this._queryParams={...this._queryParams,...n}}if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if(this.asset.version!=="0.0"&&this.asset.version!=="1.0"&&this.asset.version!=="1.1")throw new Error("The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.");"tilesetVersion"in this.asset&&(this._queryParams.v=this.asset.tilesetVersion),this.credits={attributions:this.options.attributions||[]},this.description=this.options.description||"",this.properties=e.properties,this.geometricError=e.geometricError,this._extensionsUsed=e.extensionsUsed||[],this.extras=e.extras}_initializeI3STileset(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}};var cs="4.1.0-alpha.9";var pr={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},a9=Object.keys(pr);function xu(t,e,r){H(t instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(t,e,r);return n.decode(i)}function hg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=new DataView(t);return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}var dg="4.1.0-alpha.9";var pg={name:"Draco",id:"draco",module:"draco",version:dg,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 mg(t){switch(t.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 mr(t){let e=1/0,r=1/0,n=1/0,i=-1/0,o=-1/0,s=-1/0,a=t.POSITION?t.POSITION.value:[],c=a&&a.length;for(let u=0;u<c;u+=3){let l=a[u],f=a[u+1],h=a[u+2];e=l<e?l:e,r=f<r?f:r,n=h<n?h:n,i=l>i?l:i,o=f>o?f:o,s=h>s?h:s}return[[e,r,n],[i,o,s]]}function Tu(t,e,r){let n=mg(e.value),i=r||gg(e);return{name:t,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function gg(t){let e={};return"byteOffset"in t&&(e.byteOffset=t.byteOffset.toString(10)),"byteStride"in t&&(e.byteStride=t.byteStride.toString(10)),"normalized"in t&&(e.normalized=t.normalized.toString()),e}function Ag(t,e,r){let n=_g(e.metadata),i=[],o=dB(e.attributes);for(let s in t){let a=t[s],c=yg(s,a,o[s]);i.push(c)}if(r){let s=yg("indices",r);i.push(s)}return{fields:i,metadata:n}}function dB(t){let e={};for(let r in t){let n=t[r];e[n.name||"undefined"]=n}return e}function yg(t,e,r){let n=r?_g(r.metadata):void 0;return Tu(t,e,n)}function _g(t){Object.entries(t);let e={};for(let r in t)e[`${r}.string`]=JSON.stringify(t[r]);return e}var vg={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},pB={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},mB=4,$n=class{constructor(e){this.draco=void 0,this.decoder=void 0,this.metadataQuerier=void 0,this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(r);let i=this.decoder.GetEncodedGeometryType(n),o=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let s;switch(i){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,o);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,o);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!o.ptr){let h=`DRACO decompression failed: ${s.error_msg()}`;throw new Error(h)}let a=this._getDracoLoaderData(o,i,r),c=this._getMeshData(o,a,r),u=mr(c.attributes),l=Ag(c.attributes,a,c.indices);return{loader:"draco",loaderData:a,header:{vertexCount:o.num_points(),boundingBox:u},...c,schema:l}}finally{this.draco.destroy(n),o&&this.draco.destroy(o)}}_getDracoLoaderData(e,r,n){let i=this._getTopLevelMetadata(e),o=this._getDracoAttributes(e,n);return{geometry_type:r,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:o}}_getDracoAttributes(e,r){let n={};for(let i=0;i<e.num_attributes();i++){let o=this.decoder.GetAttribute(e,i),s=this._getAttributeMetadata(e,i);n[o.unique_id()]={unique_id:o.unique_id(),attribute_type:o.attribute_type(),data_type:o.data_type(),num_components:o.num_components(),byte_offset:o.byte_offset(),byte_stride:o.byte_stride(),normalized:o.normalized(),attribute_index:i,metadata:s};let a=this._getQuantizationTransform(o,r);a&&(n[o.unique_id()].quantization_transform=a);let c=this._getOctahedronTransform(o,r);c&&(n[o.unique_id()].octahedron_transform=c)}return n}_getMeshData(e,r,n){let i=this._getMeshAttributes(r,e,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(e,r,n){let i={};for(let o of Object.values(e.attributes)){let s=this._deduceAttributeName(o,n);o.name=s;let{value:a,size:c}=this._getAttributeValues(r,o);i[s]={value:a,size:c,byteOffset:o.byte_offset,byteStride:o.byte_stride,normalized:o.normalized}}return i}_getTriangleListIndices(e){let n=e.num_faces()*3,i=n*mB,o=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(e,i,o),new Uint32Array(this.draco.HEAPF32.buffer,o,n).slice()}finally{this.draco._free(o)}}_getTriangleStripIndices(e){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,r),AB(r)}finally{this.draco.destroy(r)}}_getAttributeValues(e,r){let n=pB[r.data_type],i=r.num_components,s=e.num_points()*i,a=s*n.BYTES_PER_ELEMENT,c=gB(this.draco,n),u,l=this.draco._malloc(a);try{let f=this.decoder.GetAttribute(e,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,f,c,a,l),u=new n(this.draco.HEAPF32.buffer,l,s).slice()}finally{this.draco._free(l)}return{value:u,size:i}}_deduceAttributeName(e,r){let n=e.unique_id;for(let[s,a]of Object.entries(r.extraAttributes||{}))if(a===n)return s;let i=e.attribute_type;for(let s in vg)if(this.draco[s]===i)return vg[s];let o=r.attributeNameEntry||"name";return e.metadata[o]?e.metadata[o].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){let r=this.decoder.GetMetadata(e);return this._getDracoMetadata(r)}_getAttributeMetadata(e,r){let n=this.decoder.GetAttributeMetadata(e,r);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(e);for(let i=0;i<n;i++){let o=this.metadataQuerier.GetEntryName(e,i);r[o]=this._getDracoMetadataField(e,o)}return r}_getDracoMetadataField(e,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,r,n);let i=yB(n);return{int:this.metadataQuerier.GetIntEntry(e,r),string:this.metadataQuerier.GetStringEntry(e,r),double:this.metadataQuerier.GetDoubleEntry(e,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=e,i=[...r,...n];for(let o of i)this.decoder.SkipAttributeTransform(this.draco[o])}_getQuantizationTransform(e,r){let{quantizedAttributes:n=[]}=r,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){let s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits(),range:s.range(),min_values:new Float32Array([1,2,3]).map(a=>s.min_value(a))}}finally{this.draco.destroy(s)}}return null}_getOctahedronTransform(e,r){let{octahedronAttributes:n=[]}=r,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){let s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits()}}finally{this.draco.destroy(s)}}return null}};function gB(t,e){switch(e){case Float32Array:return t.DT_FLOAT32;case Int8Array:return t.DT_INT8;case Int16Array:return t.DT_INT16;case Int32Array:return t.DT_INT32;case Uint8Array:return t.DT_UINT8;case Uint16Array:return t.DT_UINT16;case Uint32Array:return t.DT_UINT32;default:return t.DT_INVALID}}function yB(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}function AB(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}var _B="1.5.6",vB="1.4.1",bu=`https://www.gstatic.com/draco/versioned/decoders/${_B}`,Ee={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Eu={[Ee.DECODER]:`${bu}/${Ee.DECODER}`,[Ee.DECODER_WASM]:`${bu}/${Ee.DECODER_WASM}`,[Ee.FALLBACK_DECODER]:`${bu}/${Ee.FALLBACK_DECODER}`,[Ee.ENCODER]:`https://raw.githubusercontent.com/google/draco/${vB}/javascript/${Ee.ENCODER}`},ei;async function xg(t){let e=t.modules||{};return e.draco3d?ei=ei||e.draco3d.createDecoderModule({}).then(r=>({draco:r})):ei=ei||xB(t),await ei}async function xB(t){let e,r;switch(t.draco&&t.draco.decoderType){case"js":e=await tt(Eu[Ee.FALLBACK_DECODER],"draco",t,Ee.FALLBACK_DECODER);break;case"wasm":default:[e,r]=await Promise.all([await tt(Eu[Ee.DECODER],"draco",t,Ee.DECODER),await tt(Eu[Ee.DECODER_WASM],"draco",t,Ee.DECODER_WASM)])}return e=e||globalThis.DracoDecoderModule,await TB(e,r)}function TB(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t({...r,onModuleLoaded:i=>n({draco:i})})})}var us={...pg,parse:bB};async function bB(t,e){let{draco:r}=await xg(e),n=new $n(r);try{return n.parseSync(t,e?.draco)}finally{n.destroy()}}var EB={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},oe={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},N={...EB,...oe};var Su={[oe.DOUBLE]:Float64Array,[oe.FLOAT]:Float32Array,[oe.UNSIGNED_SHORT]:Uint16Array,[oe.UNSIGNED_INT]:Uint32Array,[oe.UNSIGNED_BYTE]:Uint8Array,[oe.BYTE]:Int8Array,[oe.SHORT]:Int16Array,[oe.INT]:Int32Array},SB={DOUBLE:oe.DOUBLE,FLOAT:oe.FLOAT,UNSIGNED_SHORT:oe.UNSIGNED_SHORT,UNSIGNED_INT:oe.UNSIGNED_INT,UNSIGNED_BYTE:oe.UNSIGNED_BYTE,BYTE:oe.BYTE,SHORT:oe.SHORT,INT:oe.INT},Bu="Failed to convert GL type",ge=class{static fromTypedArray(e){e=ArrayBuffer.isView(e)?e.constructor:e;for(let r in Su)if(Su[r]===e)return r;throw new Error(Bu)}static fromName(e){let r=SB[e];if(!r)throw new Error(Bu);return r}static getArrayType(e){switch(e){case oe.UNSIGNED_SHORT_5_6_5:case oe.UNSIGNED_SHORT_4_4_4_4:case oe.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Su[e];if(!r)throw new Error(Bu);return r}}static getByteSize(e){return ge.getArrayType(e).BYTES_PER_ELEMENT}static validate(e){return Boolean(ge.getArrayType(e))}static createTypedArray(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;i===void 0&&(i=(r.byteLength-n)/ge.getByteSize(e));let o=ge.getArrayType(e);return new o(r,n,i)}};function Tg(t,e){if(!t)throw new Error(`math.gl assertion failed. ${e}`)}function Cu(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0],r=t>>11&31,n=t>>5&63,i=t&31;return e[0]=r<<3,e[1]=n<<2,e[2]=i<<3,e}var V9=1/256;var z9=new ir,j9=new T,k9=new ir,J9=new ir,q9=new Uint8Array(1);function bg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:255;return Fi(t,0,e)/e*2-1}function Eg(t){return t<0?-1:1}function Sg(t,e,r,n){if(Tg(n),t<0||t>r||e<0||e>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=bg(t,r),n.y=bg(e,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))*Eg(i),n.y=(1-Math.abs(i))*Eg(n.y)}return n.normalize()}function Mu(t,e,r){return Sg(t,e,255,r)}var Tt=class{constructor(e,r){this.json=void 0,this.buffer=void 0,this.featuresLength=0,this._cachedTypedArrays={},this.json=e,this.buffer=r}getExtension(e){return this.json.extensions&&this.json.extensions[e]}hasProperty(e){return Boolean(this.json[e])}getGlobalProperty(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:N.UNSIGNED_INT,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,i=this.json[e];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(e,r,n,1,i.byteOffset):i}getPropertyArray(e,r,n){let i=this.json[e];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=ge.fromName(i.componentType)),this._getTypedArrayFromBinary(e,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(e,r,i)}getProperty(e,r,n,i,o){let s=this.json[e];if(!s)return s;let a=this.getPropertyArray(e,r,n);if(n===1)return a[i];for(let c=0;c<n;++c)o[c]=a[n*i+c];return o}_getTypedArrayFromBinary(e,r,n,i,o){let s=this._cachedTypedArrays,a=s[e];return a||(a=ge.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+o,i*n),s[e]=a),a}_getTypedArrayFromArray(e,r,n){let i=this._cachedTypedArrays,o=i[e];return o||(o=ge.createTypedArray(r,n),i[e]=o),o}};var BB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},CB={SCALAR:(t,e)=>t[e],VEC2:(t,e)=>[t[2*e+0],t[2*e+1]],VEC3:(t,e)=>[t[3*e+0],t[3*e+1],t[3*e+2]],VEC4:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT2:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT3:(t,e)=>[t[9*e+0],t[9*e+1],t[9*e+2],t[9*e+3],t[9*e+4],t[9*e+5],t[9*e+6],t[9*e+7],t[9*e+8]],MAT4:(t,e)=>[t[16*e+0],t[16*e+1],t[16*e+2],t[16*e+3],t[16*e+4],t[16*e+5],t[16*e+6],t[16*e+7],t[16*e+8],t[16*e+9],t[16*e+10],t[16*e+11],t[16*e+12],t[16*e+13],t[16*e+14],t[16*e+15]]},MB={SCALAR:(t,e,r)=>{e[r]=t},VEC2:(t,e,r)=>{e[2*r+0]=t[0],e[2*r+1]=t[1]},VEC3:(t,e,r)=>{e[3*r+0]=t[0],e[3*r+1]=t[1],e[3*r+2]=t[2]},VEC4:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT2:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT3:(t,e,r)=>{e[9*r+0]=t[0],e[9*r+1]=t[1],e[9*r+2]=t[2],e[9*r+3]=t[3],e[9*r+4]=t[4],e[9*r+5]=t[5],e[9*r+6]=t[6],e[9*r+7]=t[7],e[9*r+8]=t[8],e[9*r+9]=t[9]},MAT4:(t,e,r)=>{e[16*r+0]=t[0],e[16*r+1]=t[1],e[16*r+2]=t[2],e[16*r+3]=t[3],e[16*r+4]=t[4],e[16*r+5]=t[5],e[16*r+6]=t[6],e[16*r+7]=t[7],e[16*r+8]=t[8],e[16*r+9]=t[9],e[16*r+10]=t[10],e[16*r+11]=t[11],e[16*r+12]=t[12],e[16*r+13]=t[13],e[16*r+14]=t[14],e[16*r+15]=t[15]}};function Bg(t,e,r,n){let{componentType:i}=t;H(t.componentType);let o=typeof i=="string"?ge.fromName(i):i,s=BB[t.type],a=CB[t.type],c=MB[t.type];return r+=t.byteOffset,{values:ge.createTypedArray(o,e,r,s*n),type:o,size:s,unpacker:a,packer:c}}var ft=t=>t!==void 0;function Cg(t,e,r){if(!e)return null;let n=t.getExtension("3DTILES_batch_table_hierarchy"),i=e.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),e.extensions=e.extensions||{},e.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?wB(n,r):null}function wB(t,e){let r,n,i,o=t.instancesLength,s=t.classes,a=t.classIds,c=t.parentCounts,u=t.parentIds,l=o;ft(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,i=getBinaryAccessor(a),a=i.createArrayBufferView(e.buffer,e.byteOffset+a.byteOffset,o));let f;if(ft(c))for(ft(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(e.buffer,e.byteOffset+c.byteOffset,o)),f=new Uint16Array(o),l=0,r=0;r<o;++r)f[r]=l,l+=c[r];ft(u)&&ft(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(e.buffer,e.byteOffset+u.byteOffset,l));let h=s.length;for(r=0;r<h;++r){let m=s[r].length,A=s[r].instances,_=getBinaryProperties(m,A,e);s[r].instances=combine(_,A)}let d=new Array(h).fill(0),p=new Uint16Array(o);for(r=0;r<o;++r)n=a[r],p[r]=d[n],++d[n];let g={classes:s,classIds:a,classIndexes:p,parentCounts:c,parentIndexes:f,parentIds:u};return RB(g),g}function qr(t,e,r){if(!t)return;let n=t.parentCounts;return t.parentIds?r(t,e):n>0?IB(t,e,r):OB(t,e,r)}function IB(t,e,r){let n=t.classIds,i=t.parentCounts,o=t.parentIds,s=t.parentIndexes,a=n.length,c=scratchVisited;c.length=Math.max(c.length,a);let u=++marker,l=scratchStack;for(l.length=0,l.push(e);l.length>0;){if(e=l.pop(),c[e]===u)continue;c[e]=u;let f=r(t,e);if(ft(f))return f;let h=i[e],d=s[e];for(let p=0;p<h;++p){let g=o[d+p];g!==e&&l.push(g)}}return null}function OB(t,e,r){let n=!0;for(;n;){let i=r(t,e);if(ft(i))return i;let o=t.parentIds[e];n=o!==e,e=o}throw new Error("traverseHierarchySingleParent")}function RB(t){let e=[],n=t.classIds.length;for(let i=0;i<n;++i)Mg(t,i,stack)}function Mg(t,e,r){let n=t.parentCounts,i=t.parentIds,o=t.parentIndexes,a=t.classIds.length;if(!ft(i))return;assert(e<a,`Parent index ${e} exceeds the total number of instances: ${a}`),assert(r.indexOf(e)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(e);let c=ft(n)?n[e]:1,u=ft(n)?o[e]:e;for(let l=0;l<c;++l){let f=i[u+l];f!==e&&Mg(t,f,r)}r.pop(e)}function Se(t){return t!=null}var ls=(t,e)=>t,LB={HIERARCHY:!0,extensions:!0,extras:!0},gr=class{constructor(e,r,n){var i;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};this.json=void 0,this.binary=void 0,this.featureCount=void 0,this._extensions=void 0,this._properties=void 0,this._binaryProperties=void 0,this._hierarchy=void 0,H(n>=0),this.json=e||{},this.binary=r,this.featureCount=n,this._extensions=((i=this.json)===null||i===void 0?void 0:i.extensions)||{},this._properties={};for(let s in this.json)LB[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Cg(this,this.json,this.binary))}getExtension(e){return this.json&&this.json.extensions&&this.json.extensions[e]}memorySizeInBytes(){return 0}isClass(e,r){if(this._checkBatchId(e),H(typeof r=="string",r),this._hierarchy){let n=qr(this._hierarchy,e,(i,o)=>{let s=i.classIds[o];return i.classes[s].name===r});return Se(n)}return!1}isExactClass(e,r){return H(typeof r=="string",r),this.getExactClassName(e)===r}getExactClassName(e){if(this._checkBatchId(e),this._hierarchy){let r=this._hierarchy.classIds[e];return this._hierarchy.classes[r].name}}hasProperty(e,r){return this._checkBatchId(e),H(typeof r=="string",r),Se(this._properties[r])||this._hasPropertyInHierarchy(e,r)}getPropertyNames(e,r){this._checkBatchId(e),r=Se(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(e,r),r}getProperty(e,r){if(this._checkBatchId(e),H(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Se(i))return this._getBinaryProperty(i,e)}let n=this._properties[r];if(Se(n))return ls(n[e],!0);if(this._hierarchy){let i=this._getHierarchyProperty(e,r);if(Se(i))return i}}setProperty(e,r,n){let i=this.featureCount;if(this._checkBatchId(e),H(typeof r=="string",r),this._binaryProperties){let s=this._binaryProperties[r];if(s){this._setBinaryProperty(s,e,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,e,r,n))return;let o=this._properties[r];Se(o)||(this._properties[r]=new Array(i),o=this._properties[r]),o[e]=ls(n,!0)}_checkBatchId(e){if(!(e>=0&&e<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(e,r){return e.unpack(e.typedArray,r)}_setBinaryProperty(e,r,n){e.pack(n,e.typedArray,r)}_initializeBinaryProperties(){let e=null;for(let r in this._properties){let n=this._properties[r],i=this._initializeBinaryProperty(r,n);i&&(e=e||{},e[r]=i)}return e}_initializeBinaryProperty(e,r){if("byteOffset"in r){let n=r;H(this.binary,`Property ${e} requires a batch table binary.`),H(n.type,`Property ${e} requires a type.`);let i=Bg(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(e,r){if(!this._hierarchy)return!1;let n=qr(this._hierarchy,e,(i,o)=>{let s=i.classIds[o],a=i.classes[s].instances;return Se(a[r])});return Se(n)}_getPropertyNamesInHierarchy(e,r){qr(this._hierarchy,e,(n,i)=>{let o=n.classIds[i],s=n.classes[o].instances;for(let a in s)s.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(e,r){return qr(this._hierarchy,e,(n,i)=>{let o=n.classIds[i],s=n.classes[o],a=n.classIndexes[i],c=s.instances[r];return Se(c)?Se(c.typedArray)?this._getBinaryProperty(c,a):ls(c[a],!0):null})}_setHierarchyProperty(e,r,n,i){let o=qr(this._hierarchy,r,(s,a)=>{let c=s.classIds[a],u=s.classes[c],l=s.classIndexes[a],f=u.instances[n];return Se(f)?(H(a===r,`Inherited property "${n}" is read-only.`),Se(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=ls(i,!0),!0):!1});return Se(o)}};function Jt(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=new DataView(e);if(t.magic=n.getUint32(r,!0),r+=4,t.version=n.getUint32(r,!0),r+=4,t.byteLength=n.getUint32(r,!0),r+=4,t.version!==1)throw new Error(`3D Tile Version ${t.version} not supported`);return r}var Wr=4,wg="b3dm tile in legacy format.";function Xr(t,e,r){let n=new DataView(e),i;t.header=t.header||{};let o=n.getUint32(r,!0);r+=Wr;let s=n.getUint32(r,!0);r+=Wr;let a=n.getUint32(r,!0);r+=Wr;let c=n.getUint32(r,!0);return r+=Wr,a>=570425344?(r-=Wr*2,i=o,a=s,c=0,o=0,s=0,console.warn(wg)):c>=570425344&&(r-=Wr,i=a,a=o,c=s,o=0,s=0,console.warn(wg)),t.header.featureTableJsonByteLength=o,t.header.featureTableBinaryByteLength=s,t.header.batchTableJsonByteLength=a,t.header.batchTableBinaryByteLength=c,t.header.batchLength=i,r}function Kr(t,e,r,n){return r=PB(t,e,r,n),r=FB(t,e,r,n),r}function PB(t,e,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:o,batchLength:s}=t.header||{};if(t.featureTableJson={BATCH_LENGTH:s||0},i&&i>0){let a=xu(e,r,i);t.featureTableJson=JSON.parse(a)}return r+=i||0,t.featureTableBinary=new Uint8Array(e,r,o),r+=o||0,r}function FB(t,e,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:o}=t.header||{};if(i&&i>0){let s=xu(e,r,i);t.batchTableJson=JSON.parse(s),r+=i,o&&o>0&&(t.batchTableBinary=new Uint8Array(e,r,o),t.batchTableBinary=new Uint8Array(t.batchTableBinary),r+=o)}return r}function wu(t,e,r){if(!e&&(!t||!t.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:o=0}=t;if(n&&r){let s=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let c=n[a],l=r.getProperty(c,"dimensions").map(f=>f*255);s[a*3]=l[0],s[a*3+1]=l[1],s[a*3+2]=l[2]}return{type:N.UNSIGNED_BYTE,value:s,size:3,normalized:!0}}if(e&&i){let s=new Uint8ClampedArray(o*3);for(let a=0;a<o;a++){let c=Cu(e[a]);s[a*3]=c[0],s[a*3+1]=c[1],s[a*3+2]=c[2]}return{type:N.UNSIGNED_BYTE,value:s,size:3,normalized:!0}}return e&&e.length===o*3?{type:N.UNSIGNED_BYTE,value:e,size:3,normalized:!0}:{type:N.UNSIGNED_BYTE,value:e||new Uint8ClampedArray,size:4,normalized:!0}}var Ig=new T;function Og(t,e){if(!e)return null;if(t.isOctEncoded16P){let r=new Float32Array((t.pointsLength||0)*3);for(let n=0;n<(t.pointsLength||0);n++)Mu(e[n*2],e[n*2+1],Ig),Ig.toArray(r,n*3);return{type:N.FLOAT,size:2,value:r}}return{type:N.FLOAT,size:2,value:e}}function Rg(t,e,r){return t.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(t.isQuantized=!1,DB(t,e)):{type:N.UNSIGNED_SHORT,value:e,size:3,normalized:!0}:e}function DB(t,e){let r=new T,n=new Float32Array(t.pointCount*3);for(let i=0;i<t.pointCount;i++)r.set(e[i*3],e[i*3+1],e[i*3+2]).scale(1/t.quantizedRange).multiply(t.quantizedVolumeScale).add(t.quantizedVolumeOffset).toArray(n,i*3);return n}async function Lg(t,e,r,n,i){r=Jt(t,e,r),r=Xr(t,e,r),r=Kr(t,e,r,n),NB(t);let{featureTable:o,batchTable:s}=UB(t);return await jB(t,o,s,n,i),GB(t,o,n),HB(t,o,s),VB(t,o),r}function NB(t){t.attributes={positions:null,colors:null,normals:null,batchIds:null},t.isQuantized=!1,t.isTranslucent=!1,t.isRGB565=!1,t.isOctEncoded16P=!1}function UB(t){let e=new Tt(t.featureTableJson,t.featureTableBinary),r=e.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");e.featuresLength=r,t.featuresLength=r,t.pointsLength=r,t.pointCount=r,t.rtcCenter=e.getGlobalProperty("RTC_CENTER",N.FLOAT,3);let n=zB(t,e);return{featureTable:e,batchTable:n}}function GB(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.positions){if(e.hasProperty("POSITION"))t.attributes.positions=e.getPropertyArray("POSITION",N.FLOAT,3);else if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",N.UNSIGNED_SHORT,3);if(t.isQuantized=!0,t.quantizedRange=(1<<16)-1,t.quantizedVolumeScale=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",N.FLOAT,3),!t.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(t.quantizedVolumeOffset=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",N.FLOAT,3),!t.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");t.attributes.positions=Rg(t,n,r)}}if(!t.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function HB(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.colors){let n=null;e.hasProperty("RGBA")?(n=e.getPropertyArray("RGBA",N.UNSIGNED_BYTE,4),t.isTranslucent=!0):e.hasProperty("RGB")?n=e.getPropertyArray("RGB",N.UNSIGNED_BYTE,3):e.hasProperty("RGB565")&&(n=e.getPropertyArray("RGB565",N.UNSIGNED_SHORT,1),t.isRGB565=!0),t.attributes.colors=wu(t,n,r)}e.hasProperty("CONSTANT_RGBA")&&(t.constantRGBA=e.getGlobalProperty("CONSTANT_RGBA",N.UNSIGNED_BYTE,4))}function VB(t,e){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.normals){let r=null;e.hasProperty("NORMAL")?r=e.getPropertyArray("NORMAL",N.FLOAT,3):e.hasProperty("NORMAL_OCT16P")&&(r=e.getPropertyArray("NORMAL_OCT16P",N.UNSIGNED_BYTE,2),t.isOctEncoded16P=!0),t.attributes.normals=Og(t,r)}}function zB(t,e){let r=null;if(!t.batchIds&&e.hasProperty("BATCH_ID")&&(t.batchIds=e.getPropertyArray("BATCH_ID",N.UNSIGNED_SHORT,1),t.batchIds)){let n=e.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:o}=t;r=new gr(i,o,n)}return r}async function jB(t,e,r,n,i){let o,s,a,c=t.batchTableJson&&t.batchTableJson.extensions&&t.batchTableJson.extensions["3DTILES_draco_point_compression"];c&&(a=c.properties);let u=e.getExtension("3DTILES_draco_point_compression");if(u){s=u.properties;let f=u.byteOffset,h=u.byteLength;if(!s||!Number.isFinite(f)||!h)throw new Error("Draco properties, byteOffset, and byteLength must be defined");o=(t.featureTableBinary||[]).slice(f,f+h),t.hasPositions=Number.isFinite(s.POSITION),t.hasColors=Number.isFinite(s.RGB)||Number.isFinite(s.RGBA),t.hasNormals=Number.isFinite(s.NORMAL),t.hasBatchIds=Number.isFinite(s.BATCH_ID),t.isTranslucent=Number.isFinite(s.RGBA)}if(!o)return!0;let l={buffer:o,properties:{...s,...a},featureTableProperties:s,batchTableProperties:a,dequantizeInShader:!1};return await kB(t,l,n,i)}async function kB(t,e,r,n){if(!n)return;let i={...r,draco:{...r?.draco,extraAttributes:e.batchTableProperties||{}}};delete i["3d-tiles"];let o=await Ce(e.buffer,us,i,n),s=o.attributes.POSITION&&o.attributes.POSITION.value,a=o.attributes.COLOR_0&&o.attributes.COLOR_0.value,c=o.attributes.NORMAL&&o.attributes.NORMAL.value,u=o.attributes.BATCH_ID&&o.attributes.BATCH_ID.value,l=s&&o.attributes.POSITION.value.quantization,f=c&&o.attributes.NORMAL.value.quantization;if(l){let d=o.POSITION.data.quantization,p=d.range;t.quantizedVolumeScale=new T(p,p,p),t.quantizedVolumeOffset=new T(d.minValues),t.quantizedRange=(1<<d.quantizationBits)-1,t.isQuantizedDraco=!0}f&&(t.octEncodedRange=(1<<o.NORMAL.data.quantization.quantizationBits)-1,t.isOctEncodedDraco=!0);let h={};if(e.batchTableProperties)for(let d of Object.keys(e.batchTableProperties))o.attributes[d]&&o.attributes[d].value&&(h[d.toLowerCase()]=o.attributes[d].value);t.attributes={positions:s,colors:wu(t,a,void 0),normals:c,batchIds:u,...h}}var Iu={};de(Iu,{decode:()=>rC,name:()=>tC});function ue(t,e){if(!t)throw new Error(e||"assert failed: gltf")}var fs={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hs={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var JB=1.33,Pg=["SCALAR","VEC2","VEC3","VEC4"],qB=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],WB=new Map(qB),XB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},KB={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},YB={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function ds(t){return Pg[t-1]||Pg[0]}function Yr(t){let e=WB.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function Zr(t,e){let r=YB[t.componentType],n=XB[t.type],i=KB[t.componentType],o=t.count*n,s=t.count*n*i;ue(s>=0&&s<=e.byteLength);let a=hs[t.componentType],c=fs[t.type];return{ArrayType:r,length:o,byteLength:s,componentByteSize:a,numberOfComponentsInElement:c}}function ti(t){let{images:e,bufferViews:r}=t;e=e||[],r=r||[];let n=e.map(s=>s.bufferView);r=r.filter(s=>!n.includes(s));let i=r.reduce((s,a)=>s+a.byteLength,0),o=e.reduce((s,a)=>{let{width:c,height:u}=a.image;return s+c*u},0);return i+Math.ceil(4*o*JB)}function Fg(t,e,r){let n=t.bufferViews[r];ue(n);let i=n.buffer,o=e[i];ue(o);let s=(n.byteOffset||0)+o.byteOffset;return new Uint8Array(o.arrayBuffer,s,n.byteLength)}function Dg(t,e,r){var n,i;let o=typeof r=="number"?(n=t.accessors)===null||n===void 0?void 0:n[r]:r;if(!o)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let s=(i=t.bufferViews)===null||i===void 0?void 0:i[o.bufferView||0];if(!s)throw new Error(`No gltf buffer view for accessor ${s}`);let{arrayBuffer:a,byteOffset:c}=e[s.buffer],u=(c||0)+(o.byteOffset||0)+(s.byteOffset||0),{ArrayType:l,length:f,componentByteSize:h,numberOfComponentsInElement:d}=Zr(o,s),p=h*d,g=s.byteStride||p;if(typeof s.byteStride>"u"||s.byteStride===p)return new l(a,u,f);let m=new l(f);for(let A=0;A<o.count;A++){let _=new l(a,u+A*g,d);m.set(_,A*d)}return m}function ZB(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var q=class{constructor(e){this.gltf=void 0,this.sourceBuffers=void 0,this.byteLength=void 0,this.gltf={json:e?.json||ZB(),buffers:e?.buffers||[],images:e?.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(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){let r=this.getUsedExtensions().find(i=>i===e),n=this.getRequiredExtensions().find(i=>i===e);return typeof r=="string"||typeof n=="string"}getExtension(e){let r=this.getUsedExtensions().find(i=>i===e),n=this.json.extensions||{};return r?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,r){return(e.extensions||{})[r]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,r){if(typeof r=="object")return r;let n=this.json[e]&&this.json[e][r];if(!n)throw new Error(`glTF file error: Could not find ${e}[${r}]`);return n}getTypedArrayForBufferView(e){e=this.getBufferView(e);let r=e.buffer,n=this.gltf.buffers[r];ue(n);let i=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,e.byteLength)}getTypedArrayForAccessor(e){let r=this.getAccessor(e);return Dg(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(e){e=this.getAccessor(e);let r=this.getBufferView(e.bufferView),i=this.getBuffer(r.buffer).data,o=r.byteOffset||0;return new Uint8Array(i,o,r.byteLength)}addApplicationData(e,r){return this.json[e]=r,this}addExtraData(e,r){return this.json.extras=this.json.extras||{},this.json.extras[e]=r,this}addObjectExtension(e,r,n){return e.extensions=e.extensions||{},e.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(e,r,n){let i=e.extensions||{};i[r]=n}removeObjectExtension(e,r){let n=e?.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(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ue(r),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=r,this.registerUsedExtension(e),r}addRequiredExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ue(r),this.addExtension(e,r),this.registerRequiredExtension(e),r}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===e)||this.json.extensionsRequired.push(e)}removeExtension(e){var r;if((r=this.json.extensions)!==null&&r!==void 0&&r[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(e)||n.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){let{nodeIndices:r}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(e){let{meshIndex:r,matrix:n}=e;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(e){let{attributes:r,indices:n,material:i,mode:o=4}=e,a={primitives:[{attributes:this._addAttributes(r),mode:o}]};if(n){let c=this._addIndices(n);a.primitives[0].indices=c}return Number.isFinite(i)&&(a.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){let n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,r){let n=nr(e),i=r||n?.mimeType,s={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(s),this.json.images.length-1}addBufferView(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.byteLength,i=e.byteLength;ue(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);let o={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ct(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(o),this.json.bufferViews.length-1}addAccessor(e,r){let n={bufferView:e,type:ds(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(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{size:3},n=this.addBufferView(e),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,r.size));let o={size:r.size,componentType:Yr(e),count:Math.round(e.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(o,r))}addTexture(e){let{imageIndex:r}=e,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,r;this.gltf.buffers=[];let n=this.byteLength,i=new ArrayBuffer(n),o=new Uint8Array(i),s=0;for(let a of this.sourceBuffers||[])s=Aa(a,o,s);(e=this.json)!==null&&e!==void 0&&(r=e.buffers)!==null&&r!==void 0&&r[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(e,r){let n=!0;for(;n;){let i=e.indexOf(r);i>-1?e.splice(i,1):n=!1}}_addAttributes(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={};for(let n in e){let i=e[n],o=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);r[o]=s}return r}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.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 e}}_getAccessorMinMax(e,r){let n={min:null,max:null};if(e.length<r)return n;n.min=[],n.max=[];let i=e.subarray(0,r);for(let o of i)n.min.push(o),n.max.push(o);for(let o=r;o<e.length;o+=r)for(let s=0;s<r;s++)n.min[0+s]=Math.min(n.min[0+s],e[o+s]),n.max[0+s]=Math.max(n.max[0+s],e[o+s]);return n}};function Ng(t){return(t%1+1)%1}var Ug={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},QB={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Gg={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function ri(t,e){return Gg[e]*Ug[t]}function Qr(t,e,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=t.getTypedArrayForBufferView(e),o=$r(i,"SCALAR",r,n+1);return o instanceof BigInt64Array||o instanceof BigUint64Array?null:o}function $r(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=Ug[e],o=QB[r],s=Gg[r],a=n*i,c=a*s,u=t.buffer,l=t.byteOffset;return l%s!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new o(u,l,a)}function en(t,e,r){var n,i;let o=`TEXCOORD_${e.texCoord||0}`,s=r.attributes[o],a=t.getTypedArrayForAccessor(s),c=t.gltf.json,u=e.index,l=(n=c.textures)===null||n===void 0||(i=n[u])===null||i===void 0?void 0:i.source;if(typeof l<"u"){var f,h,d;let p=(f=c.images)===null||f===void 0||(h=f[l])===null||h===void 0?void 0:h.mimeType,g=(d=t.gltf.images)===null||d===void 0?void 0:d[l];if(g&&typeof g.width<"u"){let m=[];for(let A=0;A<a.length;A+=2){let _=$B(g,p,a,A,e.channels);m.push(_)}return m}}return[]}function ps(t,e,r,n,i){if(!(r!=null&&r.length))return;let o=[];for(let l of r){let f=n.findIndex(h=>h===l);f===-1&&(f=n.push(l)-1),o.push(f)}let s=new Uint32Array(o),a=t.gltf.buffers.push({arrayBuffer:s.buffer,byteOffset:s.byteOffset,byteLength:s.byteLength})-1,c=t.addBufferView(s,a,0),u=t.addAccessor(c,{size:1,componentType:Yr(s),count:s.length});i.attributes[e]=u}function $B(t,e,r,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[0],o={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},s=r[n],a=r[n+1],c=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(c=4);let u=eC(s,a,t,c),l=0;for(let f of i){let h=typeof f=="number"?Object.values(o)[f]:o[f],d=u+h.offset,p=En(t);if(p.data.length<=d)throw new Error(`${p.data.length} <= ${d}`);let g=p.data[d];l|=g<<h.shift}return l}function eC(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=r.width,o=Ng(t)*(i-1),s=Math.round(o),a=r.height,c=Ng(e)*(a-1),u=Math.round(c),l=r.components?r.components:n;return(u*i+s)*l}function ms(t,e,r,n,i){let o=[];for(let s=0;s<e;s++){let a=r[s],c=r[s+1]-r[s];if(c+a>n)break;let u=a/i,l=c/i;o.push(t.slice(u,u+l))}return o}function gs(t,e,r){let n=[];for(let i=0;i<e;i++){let o=i*r;n.push(t.slice(o,o+r))}return n}function ys(t,e,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],o=new TextDecoder("utf8"),s=0;for(let a=0;a<t;a++){let c=n[a+1]-n[a];if(c+s<=e.length){let u=e.subarray(s,c+s),l=o.decode(u);i.push(l),s+=c}}return i}return[]}var Hg="EXT_mesh_features",tC=Hg;async function rC(t,e){let r=new q(t);nC(r,e)}function nC(t,e){let r=t.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)iC(t,i,e)}function iC(t,e,r){var n,i;if(!(r!=null&&(n=r.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let o=(i=e.extensions)===null||i===void 0?void 0:i[Hg],s=o?.featureIds;if(s)for(let c of s){var a;let u;if(typeof c.attribute<"u"){let l=`_FEATURE_ID_${c.attribute}`,f=e.attributes[l];u=t.getTypedArrayForAccessor(f)}else typeof c.texture<"u"&&r!==null&&r!==void 0&&(a=r.gltf)!==null&&a!==void 0&&a.loadImages?u=en(t,c.texture,e):u=[];c.data=u}}var Lu={};de(Lu,{decode:()=>sC,name:()=>oC});var Ou="EXT_structural_metadata",oC=Ou;async function sC(t,e){let r=new q(t);aC(r,e)}function aC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.getExtension(Ou);i&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&cC(t,i),uC(t,i))}function cC(t,e){let r=e.propertyTextures,n=t.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let o of i.primitives)fC(t,r,o,e)}function uC(t,e){let r=e.schema;if(!r)return;let n=r.classes,i=e.propertyTables;if(n&&i)for(let o in n){let s=lC(i,o);s&&dC(t,r,s)}}function lC(t,e){for(let r of t)if(r.class===e)return r;return null}function fC(t,e,r,n){var i;if(!e)return;let o=(i=r.extensions)===null||i===void 0?void 0:i[Ou],s=o?.propertyTextures;if(s)for(let a of s){let c=e[a];hC(t,c,r,n)}}function hC(t,e,r,n){if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=e.class;for(let s in e.properties){var o;let a=`${i}_${s}`,c=(o=e.properties)===null||o===void 0?void 0:o[s];if(!c)continue;c.data||(c.data=[]);let u=c.data,l=en(t,c,r);l!==null&&(ps(t,a,l,u,r),c.data=u,n.dataAttributeNames.push(a))}}function dC(t,e,r){var n;let i=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let a in i.properties){var s;let c=i.properties[a],u=(s=r.properties)===null||s===void 0?void 0:s[a];if(u){let l=pC(t,e,c,o,u);u.data=l}}}function pC(t,e,r,n,i){let o=[],s=i.values,a=t.getTypedArrayForBufferView(s),c=mC(t,r,i,n),u=gC(t,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{o=yC(r,n,a,c);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{o=ys(n,a,c,u);break}case"ENUM":{o=AC(e,r,n,a,c);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return o}function mC(t,e,r,n){return e.array&&typeof e.count>"u"&&typeof r.arrayOffsets<"u"?Qr(t,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function gC(t,e,r){return typeof e.stringOffsets<"u"?Qr(t,e.stringOffsets,e.stringOffsetType||"UINT32",r):null}function yC(t,e,r,n){let i=t.array,o=t.count,s=ri(t.type,t.componentType),a=r.byteLength/s,c;return t.componentType?c=$r(r,t.type,t.componentType,a):c=r,i?n?ms(c,e,n,r.length,s):o?gs(c,e,o):[]:c}function AC(t,e,r,n,i){var o;let s=e.enumType;if(!s)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let a=(o=t.enums)===null||o===void 0?void 0:o[s];if(!a)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${s}`);let c=a.valueType||"UINT16",u=ri(e.type,c),l=n.byteLength/u,f=$r(n,e.type,c,l);if(f||(f=n),e.array){if(i)return _C({valuesData:f,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:a});let h=e.count;return h?vC(f,r,h,a):[]}return Ru(f,0,r,a)}function _C(t){let{valuesData:e,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:o,enumEntry:s}=t,a=[];for(let c=0;c<r;c++){let u=n[c],l=n[c+1]-n[c];if(l+u>i)break;let f=u/o,h=l/o,d=Ru(e,f,h,s);a.push(d)}return a}function vC(t,e,r,n){let i=[];for(let o=0;o<e;o++){let s=r*o,a=Ru(t,s,r,n);i.push(a)}return i}function Ru(t,e,r,n){let i=[];for(let o=0;o<r;o++)if(t instanceof BigInt64Array||t instanceof BigUint64Array)i.push("");else{let s=t[e+o],a=xC(n,s);a?i.push(a.name):i.push("")}return i}function xC(t,e){for(let r of t.values)if(r.value===e)return r;return null}var Pu={};de(Pu,{decode:()=>bC,name:()=>TC});var Vg="EXT_feature_metadata",TC=Vg;async function bC(t,e){let r=new q(t);EC(r,e)}function EC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.getExtension(Vg);i&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&SC(t,i),BC(t,i))}function SC(t,e){let r=e.schema;if(!r)return;let n=r.classes,{featureTextures:i}=e;if(n&&i)for(let o in n){let s=n[o],a=MC(i,o);a&&IC(t,a,s)}}function BC(t,e){let r=e.schema;if(!r)return;let n=r.classes,i=e.featureTables;if(n&&i)for(let o in n){let s=CC(i,o);s&&wC(t,r,s)}}function CC(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function MC(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function wC(t,e,r){var n;if(!r.class)return;let i=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let a in i.properties){var s;let c=i.properties[a],u=(s=r.properties)===null||s===void 0?void 0:s[a];if(u){let l=OC(t,e,c,o,u);u.data=l}}}function IC(t,e,r){let n=e.class;for(let o in r.properties){var i;let s=e==null||(i=e.properties)===null||i===void 0?void 0:i[o];if(s){let a=DC(t,s,n);s.data=a}}}function OC(t,e,r,n,i){let o=[],s=i.bufferView,a=t.getTypedArrayForBufferView(s),c=RC(t,r,i,n),u=LC(t,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?o=ys(n,a,c,u):PC(r)&&(o=FC(r,n,a,c)),o}function RC(t,e,r,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Qr(t,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function LC(t,e,r,n){return typeof r.stringOffsetBufferView<"u"?Qr(t,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function PC(t){let e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(t.type)||typeof t.componentType<"u"&&e.includes(t.componentType)}function FC(t,e,r,n){let i=t.type==="ARRAY",o=t.componentCount,s="SCALAR",a=t.componentType||t.type,c=ri(s,a),u=r.byteLength/c,l=$r(r,s,a,u);return i?n?ms(l,e,n,r.length,c):o?gs(l,e,o):[]:l}function DC(t,e,r){let n=t.gltf.json;if(!n.meshes)return[];let i=[];for(let o of n.meshes)for(let s of o.primitives)NC(t,r,e,i,s);return i}function NC(t,e,r,n,i){let o={channels:r.channels,...r.texture},s=en(t,o,i);s&&ps(t,e,s,n,i)}var zg="4.1.0-alpha.9";var tn=!0,jg=1735152710,Nu=12,As=8,UC=1313821514,GC=5130562,HC=0,VC=0,zC=1;function jC(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}function kg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=new DataView(t),{magic:i=jg}=r,o=n.getUint32(e,!1);return o===i||o===jg}function Jg(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=new DataView(e),o=jC(i,r+0),s=i.getUint32(r+4,tn),a=i.getUint32(r+8,tn);switch(Object.assign(t,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:o,version:s,json:{},binChunks:[]}),r+=Nu,t.version){case 1:return kC(t,i,r);case 2:return JC(t,i,r,n={});default:throw new Error(`Invalid GLB version ${t.version}. Only supports version 1 and 2.`)}}function kC(t,e,r){H(t.header.byteLength>Nu+As);let n=e.getUint32(r+0,tn),i=e.getUint32(r+4,tn);return r+=As,H(i===HC),Fu(t,e,r,n),r+=n,r+=Du(t,e,r,t.header.byteLength),r}function JC(t,e,r,n){return H(t.header.byteLength>Nu+As),qC(t,e,r,n),r+t.header.byteLength}function qC(t,e,r,n){for(;r+8<=t.header.byteLength;){let i=e.getUint32(r+0,tn),o=e.getUint32(r+4,tn);switch(r+=As,o){case UC:Fu(t,e,r,i);break;case GC:Du(t,e,r,i);break;case VC:n.strict||Fu(t,e,r,i);break;case zC:n.strict||Du(t,e,r,i);break;default:break}r+=Ct(i,4)}return r}function Fu(t,e,r,n){let i=new Uint8Array(e.buffer,r,n),s=new TextDecoder("utf8").decode(i);return t.json=JSON.parse(s),Ct(n,4)}function Du(t,e,r,n){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:e.buffer}),Ct(n,4)}function Uu(t,e){if(t.startsWith("data:")||t.startsWith("http:")||t.startsWith("https:"))return t;let n=e.baseUri||e.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${t}`);return n.substr(0,n.lastIndexOf("/")+1)+t}var Hu={};de(Hu,{decode:()=>iM,name:()=>nM});var WC="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",XC="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",KC=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]),YC=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]),ZC={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},QC={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function qg(t,e,r,n,i){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"NONE",s=await $C();rM(s,s.exports[QC[i]],t,e,r,n,s.exports[ZC[o||"NONE"]])}var Gu;async function $C(){return Gu||(Gu=eM()),Gu}async function eM(){let t=WC;WebAssembly.validate(KC)&&(t=XC,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let e=await WebAssembly.instantiate(tM(t),{});return await e.instance.exports.__wasm_call_ctors(),e.instance}function tM(t){let e=new Uint8Array(t.length);for(let n=0;n<t.length;++n){let i=t.charCodeAt(n);e[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<t.length;++n)e[r++]=e[n]<60?YC[e[n]]:(e[n]-60)*64+e[++n];return e.buffer.slice(0,r)}function rM(t,e,r,n,i,o,s){let a=t.exports.sbrk,c=n+3&-4,u=a(c*i),l=a(o.length),f=new Uint8Array(t.exports.memory.buffer);f.set(o,l);let h=e(u,n,i,l,o.length);if(h===0&&s&&s(u,c,i),r.set(f.subarray(u,u+n*i)),a(u-a(0)),h!==0)throw new Error(`Malformed buffer data: ${h}`)}var _s="EXT_meshopt_compression",nM=_s;async function iM(t,e){var r,n;let i=new q(t);if(!(e!=null&&(r=e.gltf)!==null&&r!==void 0&&r.decompressMeshes)||!((n=e.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let o=[];for(let s of t.json.bufferViews||[])o.push(oM(i,s));await Promise.all(o),i.removeExtension(_s)}async function oM(t,e){let r=t.getObjectExtension(e,_s);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:o,count:s,mode:a,filter:c="NONE",buffer:u}=r,l=t.gltf.buffers[u],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),h=new Uint8Array(t.gltf.buffers[e.buffer].arrayBuffer,e.byteOffset,e.byteLength);await qg(h,s,o,f,a,c),t.removeObjectExtension(e,_s)}}var Vu={};de(Vu,{name:()=>sM,preprocess:()=>aM});var rn="EXT_texture_webp",sM=rn;function aM(t,e){let r=new q(t);if(!Ia("image/webp")){if(r.getRequiredExtensions().includes(rn))throw new Error(`gltf: Required extension ${rn} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let o=r.getObjectExtension(i,rn);o&&(i.source=o.source),r.removeObjectExtension(i,rn)}r.removeExtension(rn)}var zu={};de(zu,{name:()=>cM,preprocess:()=>uM});var vs="KHR_texture_basisu",cM=vs;function uM(t,e){let r=new q(t),{json:n}=r;for(let i of n.textures||[]){let o=r.getObjectExtension(i,vs);o&&(i.source=o.source,r.removeObjectExtension(i,vs))}r.removeExtension(vs)}var ku={};de(ku,{decode:()=>pM,encode:()=>mM,name:()=>hM,preprocess:()=>dM});function Wg(t){let e={};for(let r in t){let n=t[r];if(r!=="indices"){let i=ju(n);e[r]=i}}return e}function ju(t){let{buffer:e,size:r,count:n}=lM(t);return{value:e,size:r,byteOffset:0,count:n,type:ds(r),componentType:Yr(e)}}function lM(t){let e=t,r=1,n=0;return t&&t.value&&(e=t.value,r=t.size||1),e&&(ArrayBuffer.isView(e)||(e=fM(e,Float32Array)),n=e.length/r),{buffer:e,size:r,count:n}}function fM(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t?Array.isArray(t)?new e(t):r&&!(t instanceof e)?new e(t):t:null}var qt="KHR_draco_mesh_compression",hM=qt;function dM(t,e,r){let n=new q(t);for(let i of Xg(n))n.getObjectExtension(i,qt)}async function pM(t,e,r){var n;if(!(e!=null&&(n=e.gltf)!==null&&n!==void 0&&n.decompressMeshes))return;let i=new q(t),o=[];for(let s of Xg(i))i.getObjectExtension(s,qt)&&o.push(gM(i,s,e,r));await Promise.all(o),i.removeExtension(qt)}function mM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=new q(t);for(let n of r.json.meshes||[])yM(n,e),r.addRequiredExtension(qt)}async function gM(t,e,r,n){let i=t.getObjectExtension(e,qt);if(!i)return;let o=t.getTypedArrayForBufferView(i.bufferView),s=Qt(o.buffer,o.byteOffset),a={...r};delete a["3d-tiles"];let c=await Ce(s,us,a,n),u=Wg(c.attributes);for(let[l,f]of Object.entries(u))if(l in e.attributes){let h=e.attributes[l],d=t.getAccessor(h);d!=null&&d.min&&d!==null&&d!==void 0&&d.max&&(f.min=d.min,f.max=d.max)}e.attributes=u,c.indices&&(e.indices=ju(c.indices)),t.removeObjectExtension(e,qt),AM(e)}function yM(t,e){var r;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let s=i.DracoWriter.encodeSync({attributes:t}),a=o==null||(r=o.parseSync)===null||r===void 0?void 0:r.call(o,{attributes:t}),c=i._addFauxAttributes(a.attributes),u=i.addBufferView(s);return{primitives:[{attributes:c,mode:n,extensions:{[qt]:{bufferView:u,attributes:c}}}]}}function AM(t){if(!t.attributes&&Object.keys(t.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Xg(t){for(let e of t.json.meshes||[])for(let r of e.primitives)yield r}var qu={};de(qu,{decode:()=>TM,name:()=>_M});var Ju="KHR_texture_transform",_M=Ju,xs=new T,vM=new j,xM=new j;async function TM(t,e){var r;if(!new q(t).hasExtension(Ju)||!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let o=t.json.materials||[];for(let s=0;s<o.length;s++)bM(s,t)}function bM(t,e){var r,n,i;let o=[],s=(r=e.json.materials)===null||r===void 0?void 0:r[t],a=s==null||(n=s.pbrMetallicRoughness)===null||n===void 0?void 0:n.baseColorTexture;a&&ni(e,t,a,o);let c=s?.emissiveTexture;c&&ni(e,t,c,o);let u=s?.normalTexture;u&&ni(e,t,u,o);let l=s?.occlusionTexture;l&&ni(e,t,l,o);let f=s==null||(i=s.pbrMetallicRoughness)===null||i===void 0?void 0:i.metallicRoughnessTexture;f&&ni(e,t,f,o)}function ni(t,e,r,n){let i=EM(r,n);if(!i)return;let o=t.json.meshes||[];for(let s of o)for(let a of s.primitives){let c=a.material;Number.isFinite(c)&&e===c&&SM(t,a,i)}}function EM(t,e){var r;let n=(r=t.extensions)===null||r===void 0?void 0:r[Ju],{texCoord:i=0}=t,{texCoord:o=i}=n;if(!(e.findIndex(a=>{let[c,u]=a;return c===i&&u===o})!==-1)){let a=MM(n);return i!==o&&(t.texCoord=o),e.push([i,o]),{originalTexCoord:i,texCoord:o,matrix:a}}return null}function SM(t,e,r){let{originalTexCoord:n,texCoord:i,matrix:o}=r,s=e.attributes[`TEXCOORD_${n}`];if(Number.isFinite(s)){var a;let u=(a=t.json.accessors)===null||a===void 0?void 0:a[s];if(u&&u.bufferView){var c;let l=(c=t.json.bufferViews)===null||c===void 0?void 0:c[u.bufferView];if(l){let{arrayBuffer:f,byteOffset:h}=t.buffers[l.buffer],d=(h||0)+(u.byteOffset||0)+(l.byteOffset||0),{ArrayType:p,length:g}=Zr(u,l),m=hs[u.componentType],A=fs[u.type],_=l.byteStride||m*A,v=new Float32Array(g);for(let x=0;x<u.count;x++){let B=new p(f,d+x*_,2);xs.set(B[0],B[1],1),xs.transformByMatrix3(o),v.set([xs[0],xs[1]],x*A)}n===i?BM(u,l,t.buffers,v):CM(i,u,e,t,v)}}}}function BM(t,e,r,n){t.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),e.buffer=r.length-1,e.byteLength=n.buffer.byteLength,e.byteOffset=0,delete e.byteStride}function CM(t,e,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let o=n.json.bufferViews;if(!o)return;o.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let s=n.json.accessors;s&&(s.push({bufferView:o?.length-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),r.attributes[`TEXCOORD_${t}`]=s.length-1)}function MM(t){let{offset:e=[0,0],rotation:r=0,scale:n=[1,1]}=t,i=new j().set(1,0,0,0,1,0,e[0],e[1],1),o=vM.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),s=xM.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(o).multiplyRight(s)}var Wu={};de(Wu,{decode:()=>IM,encode:()=>OM,name:()=>wM});var yr="KHR_lights_punctual",wM=yr;async function IM(t){let e=new q(t),{json:r}=e,n=e.getExtension(yr);n&&(e.json.lights=n.lights,e.removeExtension(yr));for(let i of r.nodes||[]){let o=e.getObjectExtension(i,yr);o&&(i.light=o.light),e.removeObjectExtension(i,yr)}}async function OM(t){let e=new q(t),{json:r}=e;if(r.lights){let n=e.addExtension(yr);ue(!n.lights),n.lights=r.lights,delete r.lights}if(e.json.lights){for(let n of e.json.lights){let i=n.node;e.addObjectExtension(i,yr,n)}delete e.json.lights}}var Xu={};de(Xu,{decode:()=>LM,encode:()=>PM,name:()=>RM});var ii="KHR_materials_unlit",RM=ii;async function LM(t){let e=new q(t),{json:r}=e;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),e.removeObjectExtension(n,ii);e.removeExtension(ii)}function PM(t){let e=new q(t),{json:r}=e;if(e.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,e.addObjectExtension(n,ii,{}),e.addExtension(ii))}var Ku={};de(Ku,{decode:()=>DM,encode:()=>NM,name:()=>FM});var oi="KHR_techniques_webgl",FM=oi;async function DM(t){let e=new q(t),{json:r}=e,n=e.getExtension(oi);if(n){let i=UM(n,e);for(let o of r.materials||[]){let s=e.getObjectExtension(o,oi);s&&(o.technique=Object.assign({},s,i[s.technique]),o.technique.values=GM(o.technique,e)),e.removeObjectExtension(o,oi)}e.removeExtension(oi)}}async function NM(t,e){}function UM(t,e){let{programs:r=[],shaders:n=[],techniques:i=[]}=t,o=new TextDecoder;return n.forEach(s=>{if(Number.isFinite(s.bufferView))s.code=o.decode(e.getTypedArrayForBufferView(s.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(s=>{s.fragmentShader=n[s.fragmentShader],s.vertexShader=n[s.vertexShader]}),i.forEach(s=>{s.program=r[s.program]}),i}function GM(t,e){let r=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(n=>{t.uniforms[n].value&&!(n in r)&&(r[n]=t.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=e.getTexture(r[n].index))}),r}var Kg=[Lu,Iu,Hu,Vu,zu,ku,Wu,Xu,Ku,qu,Pu];function Yg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Kg.filter(o=>Qg(o.name,e));for(let o of n){var i;(i=o.preprocess)===null||i===void 0||i.call(o,t,e,r)}}async function Zg(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=Kg.filter(o=>Qg(o.name,e));for(let o of n){var i;await((i=o.decode)===null||i===void 0?void 0:i.call(o,t,e,r))}}function Qg(t,e){var r;let n=(e==null||(r=e.gltf)===null||r===void 0?void 0:r.excludeExtensions)||{};return!(t in n&&!n[t])}var Yu="KHR_binary_glTF";function $g(t){let e=new q(t),{json:r}=e;for(let n of r.images||[]){let i=e.getObjectExtension(n,Yu);i&&Object.assign(n,i),e.removeObjectExtension(n,Yu)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,e.removeExtension(Yu)}var e0={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},VM={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Zu=class{constructor(){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}},this.json=void 0}normalize(e,r){this.json=e.json;let n=e.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),$g(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(let r in e0)this._convertTopLevelObjectToArray(e,r)}_convertTopLevelObjectToArray(e,r){let n=e[r];if(!(!n||Array.isArray(n))){e[r]=[];for(let i in n){let o=n[i];o.id=o.id||i;let s=e[r].length;e[r].push(o),this.idToIndexMap[r][i]=s}}}_convertObjectIdsToArrayIndices(e){for(let r in e0)this._convertIdsToIndices(e,r);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(let r of e.textures)this._convertTextureIds(r);for(let r of e.meshes)this._convertMeshIds(r);for(let r of e.nodes)this._convertNodeIds(r);for(let r of e.scenes)this._convertSceneIds(r)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(let r of e.primitives){let{attributes:n,indices:i,material:o}=r;for(let s in n)n[s]=this._convertIdToIndex(n[s],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),o&&(r.material=this._convertIdToIndex(o,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(r=>this._convertIdToIndex(r,"node"))),e.meshes&&(e.meshes=e.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(e,r){e[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),e[r]=[]);for(let n of e[r])for(let i in n){let o=n[i],s=this._convertIdToIndex(o,i);n[i]=s}}_convertIdToIndex(e,r){let n=VM[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${e}`);return i}return e}_updateObjects(e){for(let r of this.json.buffers)delete r.type}_updateMaterial(e){for(let o of e.materials){var r,n,i;o.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let s=((r=o.values)===null||r===void 0?void 0:r.tex)||((n=o.values)===null||n===void 0?void 0:n.texture2d_0)||((i=o.values)===null||i===void 0?void 0:i.diffuseTex),a=e.textures.findIndex(c=>c.id===s);a!==-1&&(o.pbrMetallicRoughness.baseColorTexture={index:a})}}};function t0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new Zu().normalize(t,e)}async function r0(t,e){var r,n,i;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return zM(t,e,o,s),t0(t,{normalize:s==null||(r=s.gltf)===null||r===void 0?void 0:r.normalize}),Yg(t,s,a),s!=null&&(n=s.gltf)!==null&&n!==void 0&&n.loadBuffers&&t.json.buffers&&await jM(t,s,a),s!=null&&(i=s.gltf)!==null&&i!==void 0&&i.loadImages&&await kM(t,s,a),await Zg(t,s,a),t}function zM(t,e,r,n){if(n.uri&&(t.baseUri=n.uri),e instanceof ArrayBuffer&&!kg(e,r,n)&&(e=new TextDecoder().decode(e)),typeof e=="string")t.json=ya(e);else if(e instanceof ArrayBuffer){let s={};r=Jg(s,e,r,n.glb),ue(s.type==="glTF",`Invalid GLB magic string ${s.type}`),t._glb=s,t.json=s.json}else ue(!1,"GLTF: must be ArrayBuffer or string");let i=t.json.buffers||[];if(t.buffers=new Array(i.length).fill(null),t._glb&&t._glb.header.hasBinChunk){let{binChunks:s}=t._glb;t.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}let o=t.json.images||[];t.images=new Array(o.length).fill({})}async function jM(t,e,r){let n=t.json.buffers||[];for(let s=0;s<n.length;++s){let a=n[s];if(a.uri){var i,o;let{fetch:c}=r;ue(c);let u=Uu(a.uri,e),l=await(r==null||(i=r.fetch)===null||i===void 0?void 0:i.call(r,u)),f=await(l==null||(o=l.arrayBuffer)===null||o===void 0?void 0:o.call(l));t.buffers[s]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete a.uri}else t.buffers[s]===null&&(t.buffers[s]={arrayBuffer:new ArrayBuffer(a.byteLength),byteOffset:0,byteLength:a.byteLength})}}async function kM(t,e,r){let n=JM(t),i=t.json.images||[],o=[];for(let s of n)o.push(qM(t,i[s],s,e,r));return await Promise.all(o)}function JM(t){let e=new Set,r=t.json.textures||[];for(let n of r)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function qM(t,e,r,n,i){let o;if(e.uri&&!e.hasOwnProperty("bufferView")){let a=Uu(e.uri,n),{fetch:c}=i;o=await(await c(a)).arrayBuffer(),e.bufferView={data:o}}if(Number.isFinite(e.bufferView)){let a=Fg(t.json,t.buffers,e.bufferView);o=Qt(a.buffer,a.byteOffset,a.byteLength)}ue(o,"glTF image has no data");let s=await Ce(o,[Ot,ou],{...n,mimeType:e.mimeType,basis:n.basis||{format:ko()}},i);s&&s[0]&&(s={compressed:!0,mipmaps:!1,width:s[0].width,height:s[0].height,data:s[0]}),t.images=t.images||[],t.images[r]=s}var Ar={name:"glTF",id:"gltf",module:"gltf",version:zg,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:WM,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function WM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;e={...Ar.options,...e},e.gltf={...Ar.options.gltf,...e.gltf};let{byteOffset:n=0}=e;return await r0({},t,n,e,r)}var XM={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},KM={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},De={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},YM={magFilter:De.TEXTURE_MAG_FILTER,minFilter:De.TEXTURE_MIN_FILTER,wrapS:De.TEXTURE_WRAP_S,wrapT:De.TEXTURE_WRAP_T},ZM={[De.TEXTURE_MAG_FILTER]:De.LINEAR,[De.TEXTURE_MIN_FILTER]:De.NEAREST_MIPMAP_LINEAR,[De.TEXTURE_WRAP_S]:De.REPEAT,[De.TEXTURE_WRAP_T]:De.REPEAT};function QM(){return{id:"default-sampler",parameters:ZM}}function $M(t){return KM[t]}function ew(t){return XM[t]}var Qu=class{constructor(){this.baseUri="",this.jsonUnprocessed=void 0,this.json=void 0,this.buffers=[],this.images=[]}postProcess(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{json:n,buffers:i=[],images:o=[]}=e,{baseUri:s=""}=e;return ue(n),this.baseUri=s,this.buffers=i,this.images=o,this.jsonUnprocessed=n,this.json=this._resolveTree(e.json,r),this.json}_resolveTree(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={...e};return this.json=n,e.bufferViews&&(n.bufferViews=e.bufferViews.map((i,o)=>this._resolveBufferView(i,o))),e.images&&(n.images=e.images.map((i,o)=>this._resolveImage(i,o))),e.samplers&&(n.samplers=e.samplers.map((i,o)=>this._resolveSampler(i,o))),e.textures&&(n.textures=e.textures.map((i,o)=>this._resolveTexture(i,o))),e.accessors&&(n.accessors=e.accessors.map((i,o)=>this._resolveAccessor(i,o))),e.materials&&(n.materials=e.materials.map((i,o)=>this._resolveMaterial(i,o))),e.meshes&&(n.meshes=e.meshes.map((i,o)=>this._resolveMesh(i,o))),e.nodes&&(n.nodes=e.nodes.map((i,o)=>this._resolveNode(i,o)),n.nodes=n.nodes.map((i,o)=>this._resolveNodeChildren(i))),e.skins&&(n.skins=e.skins.map((i,o)=>this._resolveSkin(i,o))),e.scenes&&(n.scenes=e.scenes.map((i,o)=>this._resolveScene(i,o))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(e){return this._get(this.json.scenes,e)}getNode(e){return this._get(this.json.nodes,e)}getSkin(e){return this._get(this.json.skins,e)}getMesh(e){return this._get(this.json.meshes,e)}getMaterial(e){return this._get(this.json.materials,e)}getAccessor(e){return this._get(this.json.accessors,e)}getCamera(e){return this._get(this.json.cameras,e)}getTexture(e){return this._get(this.json.textures,e)}getSampler(e){return this._get(this.json.samplers,e)}getImage(e){return this._get(this.json.images,e)}getBufferView(e){return this._get(this.json.bufferViews,e)}getBuffer(e){return this._get(this.json.buffers,e)}_get(e,r){if(typeof r=="object")return r;let n=e&&e[r];return n||console.warn(`glTF file error: Could not find ${e}[${r}]`),n}_resolveScene(e,r){return{...e,id:e.id||`scene-${r}`,nodes:(e.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(e,r){let n={...e,id:e?.id||`node-${r}`};return e.mesh!==void 0&&(n.mesh=this.getMesh(e.mesh)),e.camera!==void 0&&(n.camera=this.getCamera(e.camera)),e.skin!==void 0&&(n.skin=this.getSkin(e.skin)),e.meshes!==void 0&&e.meshes.length&&(n.mesh=e.meshes.reduce((i,o)=>{let s=this.getMesh(o);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),n}_resolveNodeChildren(e){return e.children&&(e.children=e.children.map(r=>this.getNode(r))),e}_resolveSkin(e,r){let n=typeof e.inverseBindMatrices=="number"?this.getAccessor(e.inverseBindMatrices):void 0;return{...e,id:e.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(e,r){let n={...e,id:e.id||`mesh-${r}`,primitives:[]};return e.primitives&&(n.primitives=e.primitives.map(i=>{let o={...i,attributes:{},indices:void 0,material:void 0},s=i.attributes;for(let a in s)o.attributes[a]=this.getAccessor(s[a]);return i.indices!==void 0&&(o.indices=this.getAccessor(i.indices)),i.material!==void 0&&(o.material=this.getMaterial(i.material)),o})),n}_resolveMaterial(e,r){let n={...e,id:e.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(e,r){let n=$M(e.componentType),i=ew(e.type),o=n*i,s={...e,id:e.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:o,value:void 0,bufferView:void 0,sparse:void 0};if(e.bufferView!==void 0&&(s.bufferView=this.getBufferView(e.bufferView)),s.bufferView){let a=s.bufferView.buffer,{ArrayType:c,byteLength:u}=Zr(s,s.bufferView),l=(s.bufferView.byteOffset||0)+(s.byteOffset||0)+a.byteOffset,f=a.arrayBuffer.slice(l,l+u);s.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(a,l,s.bufferView.byteStride,s.bytesPerElement,s.count)),s.value=new c(f)}return s}_getValueFromInterleavedBuffer(e,r,n,i,o){let s=new Uint8Array(o*i);for(let a=0;a<o;a++){let c=r+a*n;s.set(new Uint8Array(e.arrayBuffer.slice(c,c+i)),a*i)}return s.buffer}_resolveTexture(e,r){return{...e,id:e.id||`texture-${r}`,sampler:typeof e.sampler=="number"?this.getSampler(e.sampler):QM(),source:typeof e.source=="number"?this.getImage(e.source):void 0}}_resolveSampler(e,r){let n={id:e.id||`sampler-${r}`,...e,parameters:{}};for(let i in n){let o=this._enumSamplerParameter(i);o!==void 0&&(n.parameters[o]=n[i])}return n}_enumSamplerParameter(e){return YM[e]}_resolveImage(e,r){let n={...e,id:e.id||`image-${r}`,image:null,bufferView:e.bufferView!==void 0?this.getBufferView(e.bufferView):void 0},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(e,r){let n=e.buffer,i=this.buffers[n].arrayBuffer,o=this.buffers[n].byteOffset||0;return e.byteOffset&&(o+=e.byteOffset),{id:`bufferView-${r}`,...e,buffer:this.buffers[n],data:new Uint8Array(i,o,e.byteLength)}}_resolveCamera(e,r){let n={...e,id:e.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function si(t,e){return new Qu().postProcess(t,e)}var Ts={URI:0,EMBEDDED:1};function bs(t,e,r,n){t.rotateYtoZ=!0;let i=(t.byteOffset||0)+(t.byteLength||0)-r;if(i===0)throw new Error("glTF byte length must be greater than 0.");return t.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",t.gltfArrayBuffer=Qt(e,r,i),t.gltfByteOffset=0,t.gltfByteLength=i,r%4===0||console.warn(`${t.type}: embedded glb is not aligned to a 4-byte boundary.`),(t.byteOffset||0)+(t.byteLength||0)}async function Es(t,e,r,n){let i=r?.["3d-tiles"]||{};if(tw(t,e,r),i.loadGLTF){if(!n)return;if(t.gltfUrl){let{fetch:o}=n,s=await o(t.gltfUrl,r);t.gltfArrayBuffer=await s.arrayBuffer(),t.gltfByteOffset=0}if(t.gltfArrayBuffer){let o=await Ce(t.gltfArrayBuffer,Ar,r,n);t.gltf=si(o),t.gpuMemoryUsageInBytes=ti(t.gltf),delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength}}}function tw(t,e,r){switch(e){case Ts.URI:if(t.gltfArrayBuffer){let n=new Uint8Array(t.gltfArrayBuffer,t.gltfByteOffset),o=new TextDecoder().decode(n);t.gltfUrl=o.replace(/[\s\0]+$/,"")}delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength;break;case Ts.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function n0(t,e,r,n,i){var o;r=rw(t,e,r,n,i),await Es(t,Ts.EMBEDDED,n,i);let s=t==null||(o=t.gltf)===null||o===void 0?void 0:o.extensions;return s&&s.CESIUM_RTC&&(t.rtcCenter=s.CESIUM_RTC.center),r}function rw(t,e,r,n,i){r=Jt(t,e,r),r=Xr(t,e,r),r=Kr(t,e,r,n),r=bs(t,e,r,n);let o=new Tt(t.featureTableJson,t.featureTableBinary);return t.rtcCenter=o.getGlobalProperty("RTC_CENTER",N.FLOAT,3),r}async function i0(t,e,r,n,i){return r=nw(t,e,r,n,i),await Es(t,t.gltfFormat||0,n,i),r}function nw(t,e,r,n,i){var o;if(r=Jt(t,e,r),t.version!==1)throw new Error(`Instanced 3D Model version ${t.version} is not supported`);r=Xr(t,e,r);let s=new DataView(e);if(t.gltfFormat=s.getUint32(r,!0),r+=4,r=Kr(t,e,r,n),r=bs(t,e,r,n),!(t!=null&&(o=t.header)!==null&&o!==void 0&&o.featureTableJsonByteLength)||t.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let a=new Tt(t.featureTableJson,t.featureTableBinary),c=a.getGlobalProperty("INSTANCES_LENGTH");if(a.featuresLength=c,!Number.isFinite(c))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");t.eastNorthUp=a.getGlobalProperty("EAST_NORTH_UP"),t.rtcCenter=a.getGlobalProperty("RTC_CENTER",N.FLOAT,3);let u=new gr(t.batchTableJson,t.batchTableBinary,c);return iw(t,a,u,c),r}function iw(t,e,r,n){let i=new Array(n),o=new T,s=new T,a=new T,c=new T,u=new j,l=new nt,f=new T,h={},d=new D,p=[],g=[],m=[],A=[];for(let _=0;_<n;_++){let v;if(e.hasProperty("POSITION"))v=e.getProperty("POSITION",N.FLOAT,3,_,o);else if(e.hasProperty("POSITION_QUANTIZED")){v=e.getProperty("POSITION_QUANTIZED",N.UNSIGNED_SHORT,3,_,o);let y=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",N.FLOAT,3);if(!y)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let M=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",N.FLOAT,3);if(!M)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let I=65535;for(let O=0;O<3;O++)v[O]=v[O]/I*M[O]+y[O]}if(!v)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");o.copy(v),h.translation=o,t.normalUp=e.getProperty("NORMAL_UP",N.FLOAT,3,_,p),t.normalRight=e.getProperty("NORMAL_RIGHT",N.FLOAT,3,_,g);let x=!1;if(t.normalUp){if(!t.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");t.hasCustomOrientation=!0}else{if(t.octNormalUp=e.getProperty("NORMAL_UP_OCT32P",N.UNSIGNED_SHORT,2,_,p),t.octNormalRight=e.getProperty("NORMAL_RIGHT_OCT32P",N.UNSIGNED_SHORT,2,_,g),t.octNormalUp)throw t.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");t.eastNorthUp?(U.WGS84.eastNorthUpToFixedFrame(o,d),d.getRotationMatrix3(u)):u.identity()}x&&(c.copy(s).cross(a).normalize(),u.setColumn(0,s),u.setColumn(1,a),u.setColumn(2,c)),l.fromMatrix3(u),h.rotation=l,f.set(1,1,1);let B=e.getProperty("SCALE",N.FLOAT,1,_,m);Number.isFinite(B)&&f.multiplyByScalar(B);let S=e.getProperty("SCALE_NON_UNIFORM",N.FLOAT,3,_,p);S&&f.scale(S),h.scale=f;let C=e.getProperty("BATCH_ID",N.UNSIGNED_SHORT,1,_,A);C===void 0&&(C=_);let E=new D().fromQuaternion(h.rotation);d.identity(),d.translate(h.translation),d.multiplyRight(E),d.scale(h.scale);let b=d.clone();i[_]={modelMatrix:b,batchId:C}}t.instances=i}async function o0(t,e,r,n,i,o){r=Jt(t,e,r);let s=new DataView(e);for(t.tilesLength=s.getUint32(r,!0),r+=4,t.tiles=[];t.tiles.length<t.tilesLength&&(t.byteLength||0)-r>12;){let a={shape:"tile3d"};t.tiles.push(a),r=await o(e,r,n,i,a)}return r}async function s0(t,e,r,n){var i,o;if(t.rotateYtoZ=!0,t.gltfUpAxis=r!=null&&(i=r["3d-tiles"])!==null&&i!==void 0&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r!=null&&(o=r["3d-tiles"])!==null&&o!==void 0&&o.loadGLTF){if(!n)return e.byteLength;let s=await Ce(e,Ar,r,n);t.gltf=si(s),t.gpuMemoryUsageInBytes=ti(t.gltf)}else t.gltfArrayBuffer=e;return e.byteLength}async function $u(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{shape:"tile3d"};switch(i.byteOffset=e,i.type=hg(t,e),i.type){case pr.COMPOSITE:return await o0(i,t,e,r,n,$u);case pr.BATCHED_3D_MODEL:return await n0(i,t,e,r,n);case pr.GLTF:return await s0(i,t,r,n);case pr.INSTANCED_3D_MODEL:return await i0(i,t,e,r,n);case pr.POINT_CLOUD:return await Lg(i,t,e,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function el(t,e,r){if(new Uint32Array(t.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(t.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let o=a0(t.slice(8,16)),s=new Uint8Array(t,24,o),c=new TextDecoder("utf8").decode(s),u=JSON.parse(c),l=a0(t.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=t.slice(24+o)),await Ss(u,u.tileAvailability,f,r),Array.isArray(u.contentAvailability))for(let h of u.contentAvailability)await Ss(u,h,f,r);else await Ss(u,u.contentAvailability,f,r);return await Ss(u,u.childSubtreeAvailability,f,r),u}async function Ss(t,e,r,n){let i=Number.isFinite(e.bitstream)?e.bitstream:e.bufferView;if(typeof i!="number")return;let o=t.bufferViews[i],s=t.buffers[o.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(s.uri){let c=`${n?.baseUrl||""}/${s.uri}`,l=await(await n.fetch(c)).arrayBuffer();e.explicitBitstream=new Uint8Array(l,o.byteOffset,o.byteLength);return}let a=t.buffers.slice(0,o.buffer).reduce((c,u)=>c+u.byteLength,0);e.explicitBitstream=new Uint8Array(r.slice(a,a+s.byteLength),o.byteOffset,o.byteLength)}function a0(t){let e=new DataView(t),r=e.getUint32(0,!0),n=e.getUint32(4,!0);return r+2**32*n}var Bs={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:cs,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:el,options:{}};var U0=P(jr(),1);var P0=P(jr(),1);function ow(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var Cs=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=ow(n),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function c0(t){let e;return t<10?e="".concat(t.toFixed(2),"ms"):t<100?e="".concat(t.toFixed(1),"ms"):t<1e3?e="".concat(t.toFixed(0),"ms"):e="".concat((t/1e3).toFixed(2),"s"),e}function u0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(e-t.length,0);return"".concat(" ".repeat(r)).concat(t)}function Ms(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>n&&(r=Math.min(r,n/t.width));let o=t.width*r,s=t.height*r,a=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}var ws;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(ws||(ws={}));var sw=10;function l0(t){return typeof t!="string"?t:(t=t.toUpperCase(),ws[t]||ws.WHITE)}function f0(t,e,r){if(!Xe&&typeof t=="string"){if(e){let n=l0(e);t="\x1B[".concat(n,"m").concat(t,"\x1B[39m")}if(r){let n=l0(r);t="\x1B[".concat(n+sw,"m").concat(t,"\x1B[49m")}}return t}function h0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(r),i=t;for(let o of n){let s=i[o];typeof s=="function"&&(e.find(a=>o===a)||(i[o]=s.bind(t)))}}function nn(t,e){if(!t)throw new Error(e||"Assertion failed")}function _r(){let t;if(Xe()&&zr.performance){var e,r;t=zr===null||zr===void 0||(e=zr.performance)===null||e===void 0||(r=e.now)===null||r===void 0?void 0:r.call(e)}else if("hrtime"in lr){var n;let i=lr===null||lr===void 0||(n=lr.hrtime)===null||n===void 0?void 0:n.call(lr);t=i[0]*1e3+i[1]/1e6}else t=Date.now();return t}var on={debug:Xe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},aw={enabled:!0,level:0};function Ne(){}var d0={},p0={once:!0},ai=class{constructor(){let{id:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Jo,this._startTs=_r(),this._deltaTs=_r(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Cs("__probe-".concat(this.id,"__"),aw),this.timeStamp("".concat(this.id," started")),h0(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((_r()-this._startTs).toPrecision(10))}getDelta(){return Number((_r()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,r){this._storage.setConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){nn(e,r)}warn(e){return this._getLogFunction(0,e,on.warn,arguments,p0)}error(e){return this._getLogFunction(0,e,on.error,arguments)}deprecated(e,r){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(e,r){return this.error("`".concat(e,"` has been removed. Use `").concat(r,"` instead"))}probe(e,r){return this._getLogFunction(e,r,on.log,arguments,{time:!0,once:!0})}log(e,r){return this._getLogFunction(e,r,on.debug,arguments)}info(e,r){return this._getLogFunction(e,r,console.info,arguments)}once(e,r){return this._getLogFunction(e,r,on.debug||on.info,arguments,p0)}table(e,r,n){return r?this._getLogFunction(e,r,console.table||Ne,n&&[n],{tag:fw(r)}):Ne}image(e){let{logLevel:r,priority:n,image:i,message:o="",scale:s=1}=e;return this._shouldLog(r||n)?Xe()?lw({image:i,message:o,scale:s}):uw({image:i,message:o,scale:s}):Ne}time(e,r){return this._getLogFunction(e,r,console.time?console.time:console.info)}timeEnd(e,r){return this._getLogFunction(e,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,r){return this._getLogFunction(e,r,console.timeStamp||Ne)}group(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=m0({logLevel:e,message:r,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(e,r,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||Ne)}withGroup(e,r,n){this.group(e,r)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=g0(e)}_getLogFunction(e,r,n,i,o){if(this._shouldLog(e)){o=m0({logLevel:e,message:r,args:i,opts:o}),n=n||o.method,nn(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=_r();let s=o.tag||o.message;if(o.once&&s)if(!d0[s])d0[s]=_r();else return Ne;return r=cw(this.id,o.message,o),n.bind(console,r,...o.args)}return Ne}};ai.VERSION=Jo;function g0(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return nn(Number.isFinite(e)&&e>=0),e}function m0(t){let{logLevel:e,message:r}=t;t.logLevel=g0(e);let n=t.args?Array.from(t.args):[];for(;n.length&&n.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&n.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let i=typeof t.message;return nn(i==="string"||i==="object"),Object.assign(t,{args:n},t.opts)}function cw(t,e,r){if(typeof e=="string"){let n=r.time?u0(c0(r.total)):"";e=r.time?"".concat(t,": ").concat(n," ").concat(e):"".concat(t,": ").concat(e),e=f0(e,r.color,r.background)}return e}function uw(t){let{image:e,message:r="",scale:n=1}=t;return console.warn("removed"),Ne}function lw(t){let{image:e,message:r="",scale:n=1}=t;if(typeof e=="string"){let o=new Image;return o.onload=()=>{let s=Ms(o,r,n);console.log(...s)},o.src=e,Ne}let i=e.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Ms(e,r,n)),Ne;if(i.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Ms(o,r,n)),o.src=e.toDataURL(),Ne}return Ne}function fw(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}var tl=new ai({id:"@probe.gl/log"});var Ue=null;try{Ue=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 Z(t,e,r){this.low=t|0,this.high=e|0,this.unsigned=!!r}Z.prototype.__isLong__;Object.defineProperty(Z.prototype,"__isLong__",{value:!0});function ye(t){return(t&&t.__isLong__)===!0}function y0(t){var e=Math.clz32(t&-t);return t?31-e:e}Z.isLong=ye;var A0={},_0={};function vr(t,e){var r,n,i;return e?(t>>>=0,(i=0<=t&&t<256)&&(n=_0[t],n)?n:(r=V(t,0,!0),i&&(_0[t]=r),r)):(t|=0,(i=-128<=t&&t<128)&&(n=A0[t],n)?n:(r=V(t,t<0?-1:0,!1),i&&(A0[t]=r),r))}Z.fromInt=vr;function Ge(t,e){if(isNaN(t))return e?bt:Ye;if(e){if(t<0)return bt;if(t>=b0)return B0}else{if(t<=-x0)return Be;if(t+1>=x0)return S0}return t<0?Ge(-t,e).neg():V(t%an|0,t/an|0,e)}Z.fromNumber=Ge;function V(t,e,r){return new Z(t,e,r)}Z.fromBits=V;var Is=Math.pow;function nl(t,e,r){if(t.length===0)throw Error("empty string");if(typeof e=="number"?(r=e,e=!1):e=!!e,t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return e?bt:Ye;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=t.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return nl(t.substring(1),e,r).neg();for(var i=Ge(Is(r,8)),o=Ye,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),r);if(a<8){var u=Ge(Is(r,a));o=o.mul(u).add(Ge(c))}else o=o.mul(i),o=o.add(Ge(c))}return o.unsigned=e,o}Z.fromString=nl;function Ze(t,e){return typeof t=="number"?Ge(t,e):typeof t=="string"?nl(t,e):V(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}Z.fromValue=Ze;var v0=1<<16,hw=1<<24,an=v0*v0,b0=an*an,x0=b0/2,T0=vr(hw),Ye=vr(0);Z.ZERO=Ye;var bt=vr(0,!0);Z.UZERO=bt;var sn=vr(1);Z.ONE=sn;var E0=vr(1,!0);Z.UONE=E0;var rl=vr(-1);Z.NEG_ONE=rl;var S0=V(-1,2147483647,!1);Z.MAX_VALUE=S0;var B0=V(-1,-1,!0);Z.MAX_UNSIGNED_VALUE=B0;var Be=V(0,-2147483648,!1);Z.MIN_VALUE=Be;var w=Z.prototype;w.toInt=function(){return this.unsigned?this.low>>>0:this.low};w.toNumber=function(){return this.unsigned?(this.high>>>0)*an+(this.low>>>0):this.high*an+(this.low>>>0)};w.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Be)){var r=Ge(e),n=this.div(r),i=n.mul(r).sub(this);return n.toString(e)+i.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var o=Ge(Is(e,6),this.unsigned),s=this,a="";;){var c=s.div(o),u=s.sub(c.mul(o)).toInt()>>>0,l=u.toString(e);if(s=c,s.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};w.getHighBits=function(){return this.high};w.getHighBitsUnsigned=function(){return this.high>>>0};w.getLowBits=function(){return this.low};w.getLowBitsUnsigned=function(){return this.low>>>0};w.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Be)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,r=31;r>0&&!(e&1<<r);r--);return this.high!=0?r+33:r+1};w.isZero=function(){return this.high===0&&this.low===0};w.eqz=w.isZero;w.isNegative=function(){return!this.unsigned&&this.high<0};w.isPositive=function(){return this.unsigned||this.high>=0};w.isOdd=function(){return(this.low&1)===1};w.isEven=function(){return(this.low&1)===0};w.equals=function(e){return ye(e)||(e=Ze(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};w.eq=w.equals;w.notEquals=function(e){return!this.eq(e)};w.neq=w.notEquals;w.ne=w.notEquals;w.lessThan=function(e){return this.comp(e)<0};w.lt=w.lessThan;w.lessThanOrEqual=function(e){return this.comp(e)<=0};w.lte=w.lessThanOrEqual;w.le=w.lessThanOrEqual;w.greaterThan=function(e){return this.comp(e)>0};w.gt=w.greaterThan;w.greaterThanOrEqual=function(e){return this.comp(e)>=0};w.gte=w.greaterThanOrEqual;w.ge=w.greaterThanOrEqual;w.compare=function(e){if(ye(e)||(e=Ze(e)),this.eq(e))return 0;var r=this.isNegative(),n=e.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};w.comp=w.compare;w.negate=function(){return!this.unsigned&&this.eq(Be)?Be:this.not().add(sn)};w.neg=w.negate;w.add=function(e){ye(e)||(e=Ze(e));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,o=this.low&65535,s=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,l=0,f=0,h=0,d=0;return d+=o+u,h+=d>>>16,d&=65535,h+=i+c,f+=h>>>16,h&=65535,f+=n+a,l+=f>>>16,f&=65535,l+=r+s,l&=65535,V(h<<16|d,l<<16|f,this.unsigned)};w.subtract=function(e){return ye(e)||(e=Ze(e)),this.add(e.neg())};w.sub=w.subtract;w.multiply=function(e){if(this.isZero())return this;if(ye(e)||(e=Ze(e)),Ue){var r=Ue.mul(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}if(e.isZero())return this.unsigned?bt:Ye;if(this.eq(Be))return e.isOdd()?Be:Ye;if(e.eq(Be))return this.isOdd()?Be:Ye;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(T0)&&e.lt(T0))return Ge(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,o=this.low>>>16,s=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,l=e.low&65535,f=0,h=0,d=0,p=0;return p+=s*l,d+=p>>>16,p&=65535,d+=o*l,h+=d>>>16,d&=65535,d+=s*u,h+=d>>>16,d&=65535,h+=i*l,f+=h>>>16,h&=65535,h+=o*u,f+=h>>>16,h&=65535,h+=s*c,f+=h>>>16,h&=65535,f+=n*l+i*u+o*c+s*a,f&=65535,V(d<<16|p,f<<16|h,this.unsigned)};w.mul=w.multiply;w.divide=function(e){if(ye(e)||(e=Ze(e)),e.isZero())throw Error("division by zero");if(Ue){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var r=(this.unsigned?Ue.div_u:Ue.div_s)(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?bt:Ye;var n,i,o;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return bt;if(e.gt(this.shru(1)))return E0;o=bt}else{if(this.eq(Be)){if(e.eq(sn)||e.eq(rl))return Be;if(e.eq(Be))return sn;var s=this.shr(1);return n=s.div(e).shl(1),n.eq(Ye)?e.isNegative()?sn:rl:(i=this.sub(e.mul(n)),o=n.add(i.div(e)),o)}else if(e.eq(Be))return this.unsigned?bt:Ye;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();o=Ye}for(i=this;i.gte(e);){n=Math.max(1,Math.floor(i.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),c=a<=48?1:Is(2,a-48),u=Ge(n),l=u.mul(e);l.isNegative()||l.gt(i);)n-=c,u=Ge(n,this.unsigned),l=u.mul(e);u.isZero()&&(u=sn),o=o.add(u),i=i.sub(l)}return o};w.div=w.divide;w.modulo=function(e){if(ye(e)||(e=Ze(e)),Ue){var r=(this.unsigned?Ue.rem_u:Ue.rem_s)(this.low,this.high,e.low,e.high);return V(r,Ue.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};w.mod=w.modulo;w.rem=w.modulo;w.not=function(){return V(~this.low,~this.high,this.unsigned)};w.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};w.clz=w.countLeadingZeros;w.countTrailingZeros=function(){return this.low?y0(this.low):y0(this.high)+32};w.ctz=w.countTrailingZeros;w.and=function(e){return ye(e)||(e=Ze(e)),V(this.low&e.low,this.high&e.high,this.unsigned)};w.or=function(e){return ye(e)||(e=Ze(e)),V(this.low|e.low,this.high|e.high,this.unsigned)};w.xor=function(e){return ye(e)||(e=Ze(e)),V(this.low^e.low,this.high^e.high,this.unsigned)};w.shiftLeft=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):V(0,this.low<<e-32,this.unsigned)};w.shl=w.shiftLeft;w.shiftRight=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):V(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};w.shr=w.shiftRight;w.shiftRightUnsigned=function(e){return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?V(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):e===32?V(this.high,0,this.unsigned):V(this.high>>>e-32,0,this.unsigned)};w.shru=w.shiftRightUnsigned;w.shr_u=w.shiftRightUnsigned;w.rotateLeft=function(e){var r;return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?V(this.high,this.low,this.unsigned):e<32?(r=32-e,V(this.low<<e|this.high>>>r,this.high<<e|this.low>>>r,this.unsigned)):(e-=32,r=32-e,V(this.high<<e|this.low>>>r,this.low<<e|this.high>>>r,this.unsigned))};w.rotl=w.rotateLeft;w.rotateRight=function(e){var r;return ye(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?V(this.high,this.low,this.unsigned):e<32?(r=32-e,V(this.high<<r|this.low>>>e,this.low<<r|this.high>>>e,this.unsigned)):(e-=32,r=32-e,V(this.low<<r|this.high>>>e,this.high<<r|this.low>>>e,this.unsigned))};w.rotr=w.rotateRight;w.toSigned=function(){return this.unsigned?V(this.low,this.high,!1):this};w.toUnsigned=function(){return this.unsigned?this:V(this.low,this.high,!0)};w.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};w.toBytesLE=function(){var e=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};w.toBytesBE=function(){var e=this.high,r=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Z.fromBytes=function(e,r,n){return n?Z.fromBytesLE(e,r):Z.fromBytesBE(e,r)};Z.fromBytesLE=function(e,r){return new Z(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,r)};Z.fromBytesBE=function(e,r){return new Z(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],r)};var cn=Z;var dw=16;function ci(t){t==="X"&&(t="");let e=t.padEnd(dw,"0");return cn.fromString(e,!0,16)}function il(t){if(t.isZero())return"X";let e=t.countTrailingZeros(),r=e%4;e=(e-r)/4;let n=e;e*=4;let o=t.shiftRightUnsigned(e).toString(16).replace(/0+$/,"");return Array(17-n-o.length).join("0")+o}function ol(t,e){let r=pw(t).shiftRightUnsigned(2);return t.add(cn.fromNumber(2*e+1-4).multiply(r))}function pw(t){return t.and(t.not().add(1))}var mw=3,gw=30,yw=2*gw+1,C0=180/Math.PI;function w0(t){if(t.length===0)throw new Error(`Invalid Hilbert quad key ${t}`);let e=t.split("/"),r=parseInt(e[0],10),n=e[1],i=n.length,o=0,s=[0,0];for(let a=i-1;a>=0;a--){o=i-a;let c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);let f=Math.pow(2,o-1);Aw(f,s,u,l),s[0]+=f*u,s[1]+=f*l}if(r%2===1){let a=s[0];s[0]=s[1],s[1]=a}return{face:r,ij:s,level:o}}function I0(t){if(t.isZero())return"";let e=t.toString(2);for(;e.length<mw+yw;)e="0"+e;let r=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,r),o=i.length/2,s=cn.fromString(n,!0,2).toString(10),a="";if(o!==0)for(a=cn.fromString(i,!0,2).toString(4);a.length<o;)a="0"+a;return`${s}/${a}`}function sl(t,e,r){let n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function M0(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function al(t){return[M0(t[0]),M0(t[1])]}function cl(t,e){let[r,n]=e;switch(t){case 0:return[1,r,n];case 1:return[-r,1,n];case 2:return[-r,-n,1];case 3:return[-1,-n,-r];case 4:return[n,-1,-r];case 5:return[n,r,-1];default:throw new Error("Invalid face")}}function ul(t){let[e,r,n]=t,i=Math.atan2(n,Math.sqrt(e*e+r*r));return[Math.atan2(r,e)*C0,i*C0]}function Aw(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let i=e[0];e[0]=e[1],e[1]=i}}function O0(t){let e=sl(t.ij,t.level,[.5,.5]),r=al(e),n=cl(t.face,r);return ul(n)}var _w=100;function ll(t){let{face:e,ij:r,level:n}=t,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(_w*Math.pow(2,-n))),s=new Float64Array(4*o*2+2),a=0,c=0;for(let u=0;u<4;u++){let l=i[u].slice(0),f=i[u+1],h=(f[0]-l[0])/o,d=(f[1]-l[1])/o;for(let p=0;p<o;p++){l[0]+=h,l[1]+=d;let g=sl(r,n,l),m=al(g),A=cl(e,m),_=ul(A);Math.abs(_[1])>89.999&&(_[0]=c);let v=_[0]-c;_[0]+=v>180?-360:v<-180?360:0,s[a++]=_[0],s[a++]=_[1],c=_[0]}}return s[a++]=s[0],s[a++]=s[1],s}function un(t){let e=vw(t);return w0(e)}function vw(t){if(t.indexOf("/")>0)return t;let e=ci(t);return I0(e)}function fl(t){let e=un(t);return O0(e)}function L0(t){let e;if(t.face===2||t.face===5){let r=null,n=0;for(let i=0;i<4;i++){let o=`${t.face}/${i}`,s=un(o),a=ll(s);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}e=R0(r)}else{let r=ll(t);e=R0(r)}return e}function R0(t){if(t.length%2!==0)throw new Error("Invalid corners");let e=[],r=[];for(let n=0;n<t.length;n+=2)e.push(t[n]),r.push(t[n+1]);return e.sort((n,i)=>n-i),r.sort((n,i)=>n-i),{west:e[0],east:e[e.length-1],north:r[r.length-1],south:r[0]}}function hl(t,e){let r=e?.minimumHeight||0,n=e?.maximumHeight||0,i=un(t),o=L0(i),s=o.west,a=o.south,c=o.east,u=o.north,l=[];return l.push(new T(s,u,r)),l.push(new T(c,u,r)),l.push(new T(c,a,r)),l.push(new T(s,a,r)),l.push(new T(s,u,n)),l.push(new T(c,u,n)),l.push(new T(c,a,n)),l.push(new T(s,a,n)),l}function Os(t){let e=t.token,r={minimumHeight:t.minimumHeight,maximumHeight:t.maximumHeight},n=hl(e,r),i=fl(e),o=i[0],s=i[1],a=U.WGS84.cartographicToCartesian([o,s,r.maximumHeight]),c=new T(a[0],a[1],a[2]);n.push(c);let u=Dn(n);return[...u.center,...u.halfAxes]}var xw=4,Tw=8,bw={QUADTREE:xw,OCTREE:Tw};function Ew(t,e,r){if(t!=null&&t.box){let n=ci(t.s2VolumeInfo.token),i=ol(n,e),o=il(i),s={...t.s2VolumeInfo};switch(s.token=o,r){case"OCTREE":let u=t.s2VolumeInfo,l=u.maximumHeight-u.minimumHeight,f=l/2,h=u.minimumHeight+l/2;u.minimumHeight=h-f,u.maximumHeight=h+f;break;default:break}return{box:Os(s),s2VolumeInfo:s}}}async function pl(t){let{implicitOptions:e,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:o}=t,{subtree:s,level:a=0,globalData:c={level:0,mortonIndex:0,x:0,y:0,z:0}}=t,{subdivisionScheme:u,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:h,subtreesUriTemplate:d,basePath:p}=e,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return tl.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),g;let m=a+c.level;if(m>f)return g;let A=bw[u],_=Math.log2(A),v=n&1,x=n>>1&1,B=n>>2&1,S=(A**a-1)/(A-1),C=xr(r.mortonIndex,n,_),E=S+C,b=xr(r.x,v,1),y=xr(r.y,x,1),M=xr(r.z,B,1),I=!1;a>=l&&(I=dl(s.childSubtreeAvailability,C));let O=xr(c.x,b,a),R=xr(c.y,y,a),F=xr(c.z,M,a);if(I){let K=`${p}/${d}`,ee=Rs(K,m,O,R,F);s=await(0,P0.load)(ee,Bs,o),c={mortonIndex:C,x:b,y,z:M,level:a},C=0,E=0,b=0,y=0,M=0,a=0}if(!dl(s.tileAvailability,E))return g;dl(s.contentAvailability,E)&&(g.contentUrl=Rs(h,m,O,R,F));let Q=a+1,W={mortonIndex:C,x:b,y,z:M};for(let K=0;K<A;K++){let ee=Ew(i,K,u),xe=await pl({subtree:s,implicitOptions:e,loaderOptions:o,parentData:W,childIndex:K,level:Q,globalData:{...c},s2VolumeBox:ee});if(xe.contentUrl||xe.children.length){let Yy=m+1,Zy=Sw(xe,Yy,{childTileX:b,childTileY:y,childTileZ:M},e,i);g.children.push(Zy)}}return g}function dl(t,e){let r;return Array.isArray(t)?(r=t[0],t.length>1&&tl.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=t,"constant"in r?Boolean(r.constant):r.explicitBitstream?Mw(e,r.explicitBitstream):!1}function Sw(t,e,r,n,i){let{basePath:o,refine:s,getRefine:a,lodMetricType:c,getTileType:u,rootLodMetricValue:l,rootBoundingVolume:f}=n,h=t.contentUrl&&t.contentUrl.replace(`${o}/`,""),d=l/2**e,p=i!=null&&i.box?{box:i.box}:f,g=Bw(e,p,r);return{children:t.children,contentUrl:t.contentUrl,content:{uri:h},id:t.contentUrl,refine:a(s),type:u(t),lodMetricType:c,lodMetricValue:d,geometricError:d,transform:t.transform,boundingVolume:g}}function Bw(t,e,r){if(e.region){let{childTileX:n,childTileY:i,childTileZ:o}=r,[s,a,c,u,l,f]=e.region,h=2**t,d=(c-s)/h,p=(u-a)/h,g=(f-l)/h,[m,A]=[s+d*n,s+d*(n+1)],[_,v]=[a+p*i,a+p*(i+1)],[x,B]=[l+g*o,l+g*(o+1)];return{region:[m,_,A,v,x,B]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${e}`)}function xr(t,e,r){return(t<<r)+e}function Rs(t,e,r,n,i){let o=Cw({level:e,x:r,y:n,z:i});return t.replace(/{level}|{x}|{y}|{z}/gi,s=>o[s])}function Cw(t){let e={};for(let r in t)e[`{${r}}`]=t[r];return e}function Mw(t,e){let r=Math.floor(t/8),n=t%8;return(e[r]>>n&1)===1}function gl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(!e)return ut.EMPTY;let n=e.split("?")[0].split(".").pop();switch(n){case"pnts":return ut.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return ut.SCENEGRAPH;default:return n||ut.EMPTY}}function yl(t){switch(t){case"REPLACE":case"replace":return be.REPLACE;case"ADD":case"add":return be.ADD;default:return t}}function ml(t,e){if(/^[a-z][0-9a-z+.-]*:/i.test(e)){let n=new URL(t,`${e}/`);return decodeURI(n.toString())}else if(t.startsWith("/"))return t;return It.resolve(e,t)}function F0(t,e){if(!t)return null;let r;if(t.content){var n;let o=t.content.uri||((n=t.content)===null||n===void 0?void 0:n.url);typeof o<"u"&&(r=ml(o,e))}return{...t,id:r,contentUrl:r,lodMetricType:fr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:gl(t,r),refine:yl(t.refine)}}async function G0(t,e,r){let n=null,i=N0(t.root);i&&t.root?n=await D0(t.root,t,e,i,r):n=F0(t.root,e);let o=[];for(o.push(n);o.length>0;){let s=o.pop()||{},a=s.children||[],c=[];for(let u of a){let l=N0(u),f;l?f=await D0(u,t,e,l,r):f=F0(u,e),f&&(c.push(f),o.push(f))}s.children=c}return n}async function D0(t,e,r,n,i){var o,s,a;let{subdivisionScheme:c,maximumLevel:u,availableLevels:l,subtreeLevels:f,subtrees:{uri:h}}=n,d=Rs(h,0,0,0,0),p=ml(d,r),g=await(0,U0.load)(p,Bs,i),m=(o=t.content)===null||o===void 0?void 0:o.uri,A=m?ml(m,r):"",_=e==null||(s=e.root)===null||s===void 0?void 0:s.refine,v=t.geometricError,x=(a=t.boundingVolume.extensions)===null||a===void 0?void 0:a["3DTILES_bounding_volume_S2"];if(x){let E={box:Os(x),s2VolumeInfo:x};t.boundingVolume=E}let B=t.boundingVolume,S={contentUrlTemplate:A,subtreesUriTemplate:h,subdivisionScheme:c,subtreeLevels:f,maximumLevel:Number.isFinite(l)?l-1:u,refine:_,basePath:r,lodMetricType:fr.GEOMETRIC_ERROR,rootLodMetricValue:v,rootBoundingVolume:B,getTileType:gl,getRefine:yl};return await ww(t,r,g,S,i)}async function ww(t,e,r,n,i){if(!t)return null;let{children:o,contentUrl:s}=await pl({subtree:r,implicitOptions:n,loaderOptions:i}),a,c=null;return s&&(a=s,c={uri:s.replace(`${e}/`,"")}),{...t,id:a,contentUrl:a,lodMetricType:fr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:gl(t,a),refine:yl(t.refine),content:c||t.content,children:o}}function N0(t){var e;return(t==null||(e=t.extensions)===null||e===void 0?void 0:e["3DTILES_implicit_tiling"])||t?.implicitTiling}var Ls={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:cs,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:Iw,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function Iw(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=e["3d-tiles"]||{},i;return n.isTileset==="auto"?i=r?.url&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?Ow(t,e,r):Rw(t,e,r)}async function Ow(t,e,r){var n;let i=JSON.parse(new TextDecoder().decode(t)),o=r?.url||"",s=Lw(o),a=await G0(i,s,e||{});return{...i,shape:"tileset3d",loader:Ls,url:o,queryString:r?.queryString||"",basePath:s,root:a||i.root,type:pe.TILES3D,lodMetricType:fr.GEOMETRIC_ERROR,lodMetricValue:((n=i.root)===null||n===void 0?void 0:n.geometricError)||0}}async function Rw(t,e,r){let n={content:{shape:"tile3d",featureIds:null}};return await $u(t,0,e,r,n.content),n.content}function Lw(t){return It.dirname(t)}function Ps(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ps=function(r){return typeof r}:Ps=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ps(t)}function H0(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function ln(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?H0(Object(r),!0).forEach(function(n){Pw(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):H0(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Pw(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function V0(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function Fw(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){V0(o,n,i,s,a,"next",c)}function a(c){V0(o,n,i,s,a,"throw",c)}s(void 0)})}}function Dw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function z0(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Nw(t,e,r){return e&&z0(t.prototype,e),r&&z0(t,r),t}function Fs(t,e,r){return typeof Reflect<"u"&&Reflect.get?Fs=Reflect.get:Fs=function(i,o,s){var a=Uw(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},Fs(t,e,r||t)}function Uw(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=fn(t),t!==null););return t}function Gw(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Al(t,e)}function Al(t,e){return Al=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Al(t,e)}function Hw(t){var e=jw();return function(){var n=fn(t),i;if(e){var o=fn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Vw(this,i)}}function Vw(t,e){if(e&&(Ps(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return zw(t)}function zw(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function jw(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function fn(t){return fn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},fn(t)}var j0=[0],kw={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:"",loader:Ls,onTilesetLoad:{type:"function",value:function(e){}},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e,r,n){}},_getMeshColor:{type:"function",value:function(e){return[255,255,255]}}},Ds=function(t){Gw(r,t);var e=Hw(r);function r(){var i;Dw(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){"onTileLoadFail"in this.props&&Wt.log.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}},n.shouldUpdateState=function(o){var s=o.changeFlags;return s.somethingChanged},n.updateState=function(o){var s=o.props,a=o.oldProps,c=o.changeFlags;if(s.data&&s.data!==a.data&&this._loadTileset(s.data),c.viewportChanged){var u=this.state.activeViewports,l=Object.keys(u).length;l&&(this._updateTileset(u),this.state.lastUpdatedViewports=u,this.state.activeViewports={})}if(c.propsChanged){var f=this.state.layerMap;for(var h in f)f[h].needsUpdate=!0}},n.activateViewport=function(o){var s=this.state,a=s.activeViewports,c=s.lastUpdatedViewports;this.internalState.viewport=o,a[o.id]=o;var u=c?.[o.id];(!u||!o.equals(u))&&(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())},n.getPickingInfo=function(o){var s=o.info,a=o.sourceLayer,c=a&&a.props.tile;return s.picked&&(s.object=c),s.sourceTile=c,s},n.filterSubLayer=function(o){var s=o.layer,a=o.viewport,c=s.props,u=c.tile,l=a.id;return u.selected&&u.viewportIds.includes(l)},n._updateAutoHighlight=function(o){var s=o.sourceTile,a=this.state.layerMap[s?.id];a&&a.layer&&a.layer.updateAutoHighlight(o)},n._loadTileset=function(){var i=Fw(regeneratorRuntime.mark(function s(a){var c,u,l,f,h,d,p,g,m;return regeneratorRuntime.wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(c=this.props.loadOptions,u=c===void 0?{}:c,l=this.props.loader||this.props.loaders,f=Array.isArray(l)?l[0]:l,h={loadOptions:ln({},u)},d=a,!f.preload){_.next=12;break}return _.next=8,f.preload(a,u);case 8:p=_.sent,p.url&&(d=p.url),p.headers&&(h.loadOptions.fetch=ln(ln({},h.loadOptions.fetch),{},{headers:p.headers})),Object.assign(h,p);case 12:return _.next=14,(0,q0.load)(d,f,h.loadOptions);case 14:g=_.sent,m=new Qn(g,ln({onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileError:this.props.onTileError},h)),this.setState({tileset3d:m,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(m);case 19:case"end":return _.stop()}},s,this)}));function o(s){return i.apply(this,arguments)}return o}(),n._onTileLoad=function(o){var s=this.state.lastUpdatedViewports;this.props.onTileLoad(o),this._updateTileset(s),this.setNeedsUpdate()},n._onTileUnload=function(o){delete this.state.layerMap[o.id],this.props.onTileUnload(o)},n._updateTileset=function(o){var s=this;if(o){var a=this.state.tileset3d,c=this.context.timeline,u=Object.keys(o).length;!c||!u||!a||a.selectTiles(Object.values(o)).then(function(l){var f=s.state.frameNumber!==l;f&&s.setState({frameNumber:l})})}},n._getSubLayer=function(o,s){if(!o.content)return null;switch(o.type){case ut.POINTCLOUD:return this._makePointCloudLayer(o,s);case ut.SCENEGRAPH:return this._make3DModelLayer(o);case ut.MESH:return this._makeSimpleMeshLayer(o,s);default:throw new Error("Tile3DLayer: Failed to render layer of type ".concat(o.content.type))}},n._makePointCloudLayer=function(o,s){var a=o.content,c=a.attributes,u=a.pointCount,l=a.constantRGBA,f=a.cartographicOrigin,h=a.modelMatrix,d=c.positions,p=c.normals,g=c.colors;if(!d)return null;var m=s&&s.props.data||{header:{vertexCount:u},attributes:{POSITION:d,NORMAL:p,COLOR_0:g}},A=this.props,_=A.pointSize,v=A.getPointColor,x=this.getSubLayerClass("pointcloud",k0.PointCloudLayer);return new x({pointSize:_},this.getSubLayerProps({id:"pointcloud"}),{id:"".concat(this.id,"-pointcloud-").concat(o.id),tile:o,data:m,coordinateSystem:Wt.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:f,modelMatrix:h,getColor:l||v,_offset:0})},n._make3DModelLayer=function(o){var s=o.content,a=s.gltf,c=s.instances,u=s.cartographicOrigin,l=s.modelMatrix,f=this.getSubLayerClass("scenegraph",J0.ScenegraphLayer);return new f({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:"".concat(this.id,"-scenegraph-").concat(o.id),tile:o,data:c||j0,scenegraph:a,coordinateSystem:Wt.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:u,modelMatrix:l,getTransformMatrix:function(d){return d.modelMatrix},getPosition:[0,0,0],_offset:0})},n._makeSimpleMeshLayer=function(o,s){var a=o.content,c=a.attributes,u=a.indices,l=a.modelMatrix,f=a.cartographicOrigin,h=a.coordinateSystem,d=h===void 0?Wt.COORDINATE_SYSTEM.METER_OFFSETS:h,p=a.material,g=a.featureIds,m=this.props._getMeshColor,A=s&&s.props.mesh||new Xn({topology:"triangle-list",attributes:Jw(c),indices:u}),_=this.getSubLayerClass("mesh",Wo);return new _(this.getSubLayerProps({id:"mesh"}),{id:"".concat(this.id,"-mesh-").concat(o.id),tile:o,mesh:A,data:j0,getColor:m(o),pbrMaterial:p,modelMatrix:l,coordinateOrigin:f,coordinateSystem:d,featureIds:g,_offset:0})},n.renderLayers=function(){var o=this,s=this.state,a=s.tileset3d,c=s.layerMap;return a?a.tiles.map(function(u){var l=c[u.id]=c[u.id]||{tile:u},f=l.layer;return u.selected&&(f?l.needsUpdate&&(f=o._getSubLayer(u,f),l.needsUpdate=!1):f=o._getSubLayer(u)),l.layer=f,f}).filter(Boolean):null},Nw(r,[{key:"isLoaded",get:function(){var o,s;return Boolean(((o=this.state)===null||o===void 0||(s=o.tileset3d)===null||s===void 0?void 0:s.isLoaded())&&Fs(fn(r.prototype),"isLoaded",this))}}]),r}(Wt.CompositeLayer);Ds.defaultProps=kw;Ds.layerName="Tile3DLayer";function Jw(t){var e={};return e.positions=ln(ln({},t.positions),{},{value:new Float32Array(t.positions.value)}),t.normals&&(e.normals=t.normals),t.texCoords&&(e.texCoords=t.texCoords),t.colors&&(e.colors=t.colors),t.uvRegions&&(e.uvRegions=t.uvRegions),e}var js=P(ze()),Sl=P(Vo()),ry=P(ze());var qw=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function _l(t){return t>>1^-(t&1)}function Ww(t){let e=0,r={};for(let[n,i]of qw){let o=i===8?t.getFloat64:t.getFloat32;r[n]=o.call(t,e,!0),e+=i}return{header:r,headerEndPosition:e}}function Xw(t,e){let r=e,n=3,i=t.getUint32(r,!0),o=new Uint16Array(i*n);r+=Uint32Array.BYTES_PER_ELEMENT;let s=Uint16Array.BYTES_PER_ELEMENT,a=i*s,c=r,u=c+a,l=u+a,f=0,h=0,d=0;for(let p=0;p<i;p++)f+=_l(t.getUint16(c+s*p,!0)),h+=_l(t.getUint16(u+s*p,!0)),d+=_l(t.getUint16(l+s*p,!0)),o[p]=f,o[p+i]=h,o[p+i*2]=d;return r+=a*3,{vertexData:o,vertexDataEndPosition:r}}function ui(t,e,r,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o;if(n===2?o=new Uint16Array(t,e,r):o=new Uint32Array(t,e,r),!i)return o;let s=0;for(let a=0;a<o.length;++a){let c=o[a];o[a]=s-c,c===0&&++s}return o}function Kw(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;n%s!==0&&(n+=s-n%s);let a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=a*3,u=ui(t.buffer,n,c,s);return n+=c*s,{triangleIndicesEndPosition:n,triangleIndices:u}}function Yw(t,e,r){let n=r,i=3,s=e.length/i>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=ui(t.buffer,n,a,s,!1);n+=a*s;let u=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let l=ui(t.buffer,n,u,s,!1);n+=u*s;let f=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let h=ui(t.buffer,n,f,s,!1);n+=f*s;let d=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let p=ui(t.buffer,n,d,s,!1);return n+=d*s,{edgeIndicesEndPosition:n,westIndices:c,southIndices:l,eastIndices:h,northIndices:p}}function Zw(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function Qw(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function $w(t,e){let r={};if(t.byteLength<=e)return{extensions:r,extensionsEndPosition:e};let n=e;for(;n<t.byteLength;){let i=t.getUint8(n,!0);n+=Uint8Array.BYTES_PER_ELEMENT;let o=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let s=new DataView(t.buffer,n,o);switch(i){case 1:{r.vertexNormals=Zw(s);break}case 2:{r.waterMask=Qw(s);break}default:}n+=o}return{extensions:r,extensionsEndPosition:n}}var Tr={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},eI={maxDecodingStep:Tr.extensions};function vl(t,e){let r=Object.assign({},eI,e),n=new DataView(t),{header:i,headerEndPosition:o}=Ww(n);if(r.maxDecodingStep<Tr.vertices)return{header:i};let{vertexData:s,vertexDataEndPosition:a}=Xw(n,o);if(r.maxDecodingStep<Tr.triangleIndices)return{header:i,vertexData:s};let{triangleIndices:c,triangleIndicesEndPosition:u}=Kw(n,s,a);if(r.maxDecodingStep<Tr.edgeIndices)return{header:i,vertexData:s,triangleIndices:c};let{westIndices:l,southIndices:f,eastIndices:h,northIndices:d,edgeIndicesEndPosition:p}=Yw(n,s,u);if(r.maxDecodingStep<Tr.extensions)return{header:i,vertexData:s,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f};let{extensions:g}=$w(n,p);return{header:i,vertexData:s,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f,extensions:g}}function Ns(t,e,r,n){let i=n?rI(n,t.POSITION.value):tI(e),o=new t.POSITION.value.constructor(i.length*6),s=new t.TEXCOORD_0.value.constructor(i.length*4),a=new e.constructor(i.length*6);for(let u=0;u<i.length;u++){let l=i[u];nI({edge:l,edgeIndex:u,attributes:t,skirtHeight:r,newPosition:o,newTexcoord0:s,newTriangles:a})}t.POSITION.value=_n(t.POSITION.value,o),t.TEXCOORD_0.value=_n(t.TEXCOORD_0.value,s);let c=e instanceof Array?e.concat(a):_n(e,a);return{attributes:t,triangles:c}}function tI(t){let e=[];for(let s=0;s<t.length;s+=3)e.push([t[s],t[s+1]]),e.push([t[s+1],t[s+2]]),e.push([t[s+2],t[s]]);e.sort((s,a)=>Math.min(...s)-Math.min(...a)||Math.max(...s)-Math.max(...a));let r=[],n=0;for(;n<e.length;){var i,o;e[n][0]===((i=e[n+1])===null||i===void 0?void 0:i[1])&&e[n][1]===((o=e[n+1])===null||o===void 0?void 0:o[0])?n+=2:(r.push(e[n]),n++)}return r}function rI(t,e){t.westIndices.sort((n,i)=>e[3*n+1]-e[3*i+1]),t.eastIndices.sort((n,i)=>e[3*i+1]-e[3*n+1]),t.southIndices.sort((n,i)=>e[3*i]-e[3*n]),t.northIndices.sort((n,i)=>e[3*n]-e[3*i]);let r=[];for(let n in t){let i=t[n];for(let o=0;o<i.length-1;o++)r.push([i[o],i[o+1]])}return r}function nI(t){let{edge:e,edgeIndex:r,attributes:n,skirtHeight:i,newPosition:o,newTexcoord0:s,newTriangles:a}=t,c=n.POSITION.value.length,u=r*2,l=r*2+1;o.set(n.POSITION.value.subarray(e[0]*3,e[0]*3+3),u*3),o[u*3+2]=o[u*3+2]-i,o.set(n.POSITION.value.subarray(e[1]*3,e[1]*3+3),l*3),o[l*3+2]=o[l*3+2]-i,s.set(n.TEXCOORD_0.value.subarray(e[0]*2,e[0]*2+2),u*2),s.set(n.TEXCOORD_0.value.subarray(e[1]*2,e[1]*2+2),l*2);let f=r*2*3;a[f]=e[0],a[f+1]=c/3+l,a[f+2]=e[1],a[f+3]=c/3+l,a[f+4]=e[0],a[f+5]=c/3+u}function xl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{bounds:r}=e,{header:n,vertexData:i,triangleIndices:o,westIndices:s,northIndices:a,eastIndices:c,southIndices:u}=vl(t,Tr.triangleIndices),l=o,f=iI(i,n,r),h=mr(f);if(e!=null&&e.skirtHeight){let{attributes:d,triangles:p}=Ns(f,l,e.skirtHeight,{westIndices:s,northIndices:a,eastIndices:c,southIndices:u});f=d,l=p}return{loaderData:{header:{}},header:{vertexCount:l.length,boundingBox:h},schema:void 0,topology:"triangle-list",mode:4,indices:{value:l,size:1},attributes:f}}function iI(t,e,r){let{minHeight:n,maxHeight:i}=e,[o,s,a,c]=r||[0,0,1,1],u=a-o,l=c-s,f=i-n,h=t.length/3,d=new Float32Array(h*3),p=new Float32Array(h*2);for(let g=0;g<h;g++){let m=t[g]/32767,A=t[g+h]/32767,_=t[g+h*2]/32767;d[3*g+0]=m*u+o,d[3*g+1]=A*l+s,d[3*g+2]=_*f+n,p[2*g+0]=m,p[2*g+1]=A}return{POSITION:{value:d,size:3},TEXCOORD_0:{value:p,size:2}}}var li=class{constructor(e=257){this.gridSize=e;let r=e-1;if(r&r-1)throw new Error(`Expected grid size to be 2^n+1, got ${e}.`);this.numTriangles=r*r*2-2,this.numParentTriangles=this.numTriangles-r*r,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(this.numTriangles*4);for(let n=0;n<this.numTriangles;n++){let i=n+2,o=0,s=0,a=0,c=0,u=0,l=0;for(i&1?a=c=u=r:o=s=l=r;(i>>=1)>1;){let h=o+a>>1,d=s+c>>1;i&1?(a=o,c=s,o=u,s=l):(o=a,s=c,a=u,c=l),u=h,l=d}let f=n*4;this.coords[f+0]=o,this.coords[f+1]=s,this.coords[f+2]=a,this.coords[f+3]=c}}createTile(e){return new Tl(e,this)}},Tl=class{constructor(e,r){let n=r.gridSize;if(e.length!==n*n)throw new Error(`Expected terrain data of length ${n*n} (${n} x ${n}), got ${e.length}.`);this.terrain=e,this.martini=r,this.errors=new Float32Array(e.length),this.update()}update(){let{numTriangles:e,numParentTriangles:r,coords:n,gridSize:i}=this.martini,{terrain:o,errors:s}=this;for(let a=e-1;a>=0;a--){let c=a*4,u=n[c+0],l=n[c+1],f=n[c+2],h=n[c+3],d=u+f>>1,p=l+h>>1,g=d+p-l,m=p+u-d,A=(o[l*i+u]+o[h*i+f])/2,_=p*i+d,v=Math.abs(A-o[_]);if(s[_]=Math.max(s[_],v),a<r){let x=(l+m>>1)*i+(u+g>>1),B=(h+m>>1)*i+(f+g>>1);s[_]=Math.max(s[_],s[x],s[B])}}}getMesh(e=0){let{gridSize:r,indices:n}=this.martini,{errors:i}=this,o=0,s=0,a=r-1;n.fill(0);function c(d,p,g,m,A,_){let v=d+g>>1,x=p+m>>1;Math.abs(d-A)+Math.abs(p-_)>1&&i[x*r+v]>e?(c(A,_,d,p,v,x),c(g,m,A,_,v,x)):(n[p*r+d]=n[p*r+d]||++o,n[m*r+g]=n[m*r+g]||++o,n[_*r+A]=n[_*r+A]||++o,s++)}c(0,0,a,a,a,0),c(a,a,0,0,0,a);let u=new Uint16Array(o*2),l=new Uint32Array(s*3),f=0;function h(d,p,g,m,A,_){let v=d+g>>1,x=p+m>>1;if(Math.abs(d-A)+Math.abs(p-_)>1&&i[x*r+v]>e)h(A,_,d,p,v,x),h(g,m,A,_,v,x);else{let B=n[p*r+d]-1,S=n[m*r+g]-1,C=n[_*r+A]-1;u[2*B]=d,u[2*B+1]=p,u[2*S]=g,u[2*S+1]=m,u[2*C]=A,u[2*C+1]=_,l[f++]=B,l[f++]=S,l[f++]=C}}return h(0,0,a,a,a,0),h(a,a,0,0,0,a),{vertices:u,triangles:l}}};var fi=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r;this.data=e,this.width=r,this.height=n,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;let i=r-1,o=n-1,s=this._addPoint(0,0),a=this._addPoint(i,0),c=this._addPoint(0,o),u=this._addPoint(i,o),l=this._addTriangle(u,s,c,-1,-1,-1);this._addTriangle(s,u,a,l,-1,-1),this._flush()}run(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;for(;this.getMaxError()>e;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(e,r){return this.data[this.width*r+e]}_flush(){let e=this.coords;for(let r=0;r<this._pendingLen;r++){let n=this._pending[r],i=2*this.triangles[n*3+0],o=2*this.triangles[n*3+1],s=2*this.triangles[n*3+2];this._findCandidate(e[i],e[i+1],e[o],e[o+1],e[s],e[s+1],n)}this._pendingLen=0}_findCandidate(e,r,n,i,o,s,a){let c=Math.min(e,n,o),u=Math.min(r,i,s),l=Math.max(e,n,o),f=Math.max(r,i,s),h=br(n,i,o,s,c,u),d=br(o,s,e,r,c,u),p=br(e,r,n,i,c,u),g=i-r,m=e-n,A=s-i,_=n-o,v=r-s,x=o-e,B=br(e,r,n,i,o,s),S=this.heightAt(e,r)/B,C=this.heightAt(n,i)/B,E=this.heightAt(o,s)/B,b=0,y=0,M=0,I=0;for(let O=u;O<=f;O++){let R=0;h<0&&A!==0&&(R=Math.max(R,Math.floor(-h/A))),d<0&&v!==0&&(R=Math.max(R,Math.floor(-d/v))),p<0&&g!==0&&(R=Math.max(R,Math.floor(-p/g)));let F=h+A*R,X=d+v*R,z=p+g*R,Q=!1;for(let W=c+R;W<=l;W++){if(F>=0&&X>=0&&z>=0){Q=!0;let K=S*F+C*X+E*z,ee=Math.abs(K-this.heightAt(W,O));I+=ee*ee,ee>b&&(b=ee,y=W,M=O)}else if(Q)break;F+=A,X+=v,z+=g}h+=_,d+=x,p+=m}(y===e&&M===r||y===n&&M===i||y===o&&M===s)&&(b=0),this._candidates[2*a]=y,this._candidates[2*a+1]=M,this._rms[a]=I,this._queuePush(a,b,I)}_step(){let e=this._queuePop(),r=e*3+0,n=e*3+1,i=e*3+2,o=this.triangles[r],s=this.triangles[n],a=this.triangles[i],c=this.coords[2*o],u=this.coords[2*o+1],l=this.coords[2*s],f=this.coords[2*s+1],h=this.coords[2*a],d=this.coords[2*a+1],p=this._candidates[2*e],g=this._candidates[2*e+1],m=this._addPoint(p,g);if(br(c,u,l,f,p,g)===0)this._handleCollinear(m,r);else if(br(l,f,h,d,p,g)===0)this._handleCollinear(m,n);else if(br(h,d,c,u,p,g)===0)this._handleCollinear(m,i);else{let A=this._halfedges[r],_=this._halfedges[n],v=this._halfedges[i],x=this._addTriangle(o,s,m,A,-1,-1,r),B=this._addTriangle(s,a,m,_,-1,x+1),S=this._addTriangle(a,o,m,v,x+2,B+1);this._legalize(x),this._legalize(B),this._legalize(S)}}_addPoint(e,r){let n=this.coords.length>>1;return this.coords.push(e,r),n}_addTriangle(e,r,n,i,o,s){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this.triangles.length,c=a/3;return this.triangles[a+0]=e,this.triangles[a+1]=r,this.triangles[a+2]=n,this._halfedges[a+0]=i,this._halfedges[a+1]=o,this._halfedges[a+2]=s,i>=0&&(this._halfedges[i]=a+0),o>=0&&(this._halfedges[o]=a+1),s>=0&&(this._halfedges[s]=a+2),this._candidates[2*c+0]=0,this._candidates[2*c+1]=0,this._queueIndices[c]=-1,this._rms[c]=0,this._pending[this._pendingLen++]=c,a}_legalize(e){let r=this._halfedges[e];if(r<0)return;let n=e-e%3,i=r-r%3,o=n+(e+1)%3,s=n+(e+2)%3,a=i+(r+2)%3,c=i+(r+1)%3,u=this.triangles[s],l=this.triangles[e],f=this.triangles[o],h=this.triangles[a],d=this.coords;if(!oI(d[2*u],d[2*u+1],d[2*l],d[2*l+1],d[2*f],d[2*f+1],d[2*h],d[2*h+1]))return;let p=this._halfedges[o],g=this._halfedges[s],m=this._halfedges[a],A=this._halfedges[c];this._queueRemove(n/3),this._queueRemove(i/3);let _=this._addTriangle(u,h,f,-1,m,p,n),v=this._addTriangle(h,u,l,_,g,A,i);this._legalize(_+1),this._legalize(v+2)}_handleCollinear(e,r){let n=r-r%3,i=n+(r+1)%3,o=n+(r+2)%3,s=this.triangles[o],a=this.triangles[r],c=this.triangles[i],u=this._halfedges[i],l=this._halfedges[o],f=this._halfedges[r];if(f<0){let S=this._addTriangle(e,s,a,-1,l,-1,n),C=this._addTriangle(s,e,c,S,-1,u);this._legalize(S+1),this._legalize(C+2);return}let h=f-f%3,d=h+(f+2)%3,p=h+(f+1)%3,g=this.triangles[d],m=this._halfedges[d],A=this._halfedges[p];this._queueRemove(h/3);let _=this._addTriangle(s,a,e,l,-1,-1,n),v=this._addTriangle(a,g,e,A,-1,_+1,h),x=this._addTriangle(g,c,e,m,-1,v+1),B=this._addTriangle(c,s,e,u,_+2,x+1);this._legalize(_),this._legalize(v),this._legalize(x),this._legalize(B)}_queuePush(e,r,n){let i=this._queue.length;this._queueIndices[e]=i,this._queue.push(e),this._errors.push(r),this._rmsSum+=n,this._queueUp(i)}_queuePop(){let e=this._queue.length-1;return this._queueSwap(0,e),this._queueDown(0,e),this._queuePopBack()}_queuePopBack(){let e=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[e],this._queueIndices[e]=-1,e}_queueRemove(e){let r=this._queueIndices[e];if(r<0){let i=this._pending.indexOf(e);if(i!==-1)this._pending[i]=this._pending[--this._pendingLen];else throw new Error("Broken triangulation (something went wrong).");return}let n=this._queue.length-1;n!==r&&(this._queueSwap(r,n),this._queueDown(r,n)||this._queueUp(r)),this._queuePopBack()}_queueLess(e,r){return this._errors[e]>this._errors[r]}_queueSwap(e,r){let n=this._queue[e],i=this._queue[r];this._queue[e]=i,this._queue[r]=n,this._queueIndices[n]=r,this._queueIndices[i]=e;let o=this._errors[e];this._errors[e]=this._errors[r],this._errors[r]=o}_queueUp(e){let r=e;for(;;){let n=r-1>>1;if(n===r||!this._queueLess(r,n))break;this._queueSwap(n,r),r=n}}_queueDown(e,r){let n=e;for(;;){let i=2*n+1;if(i>=r||i<0)break;let o=i+1,s=i;if(o<r&&this._queueLess(o,i)&&(s=o),!this._queueLess(s,n))break;this._queueSwap(n,s),n=s}return n>e}};function br(t,e,r,n,i,o){return(r-i)*(e-o)-(n-o)*(t-i)}function oI(t,e,r,n,i,o,s,a){let c=t-s,u=e-a,l=r-s,f=n-a,h=i-s,d=o-a,p=c*c+u*u,g=l*l+f*f,m=h*h+d*d;return c*(f*m-g*d)-u*(l*m-g*h)+p*(l*d-f*h)<0}function K0(t,e){let{meshMaxError:r,bounds:n,elevationDecoder:i}=e,{data:o,width:s,height:a}=t,c,u;switch(e.tesselator){case"martini":c=Us(o,s,a,i,e.tesselator),u=W0(r,s,c);break;case"delatin":c=Us(o,s,a,i,e.tesselator),u=X0(r,s,a,c);break;default:s===a&&!(a&s-1)?(c=Us(o,s,a,i,"martini"),u=W0(r,s,c)):(c=Us(o,s,a,i,"delatin"),u=X0(r,s,a,c));break}let{vertices:l}=u,{triangles:f}=u,h=sI(l,c,s,a,n),d=mr(h);if(e.skirtHeight){let{attributes:p,triangles:g}=Ns(h,f,e.skirtHeight);h=p,f=g}return{loaderData:{header:{}},header:{vertexCount:f.length,boundingBox:d},mode:4,indices:{value:Uint32Array.from(f),size:1},attributes:h}}function W0(t,e,r){let n=e+1,o=new li(n).createTile(r),{vertices:s,triangles:a}=o.getMesh(t);return{vertices:s,triangles:a}}function X0(t,e,r,n){let i=new fi(n,e+1,r+1);i.run(t);let{coords:o,triangles:s}=i;return{vertices:o,triangles:s}}function Us(t,e,r,n,i){let{rScaler:o,bScaler:s,gScaler:a,offset:c}=n,u=new Float32Array((e+1)*(r+1));for(let l=0,f=0;f<r;f++)for(let h=0;h<e;h++,l++){let d=l*4,p=t[d+0],g=t[d+1],m=t[d+2];u[l+f]=p*o+g*a+m*s+c}if(i==="martini"){for(let l=(e+1)*e,f=0;f<e;f++,l++)u[l]=u[l-e-1];for(let l=r,f=0;f<r+1;f++,l+=r+1)u[l]=u[l-1]}return u}function sI(t,e,r,n,i){let o=r+1,s=t.length/2,a=new Float32Array(s*3),c=new Float32Array(s*2),[u,l,f,h]=i||[0,0,r,n],d=(f-u)/r,p=(h-l)/n;for(let g=0;g<s;g++){let m=t[g*2],A=t[g*2+1],_=A*o+m;a[3*g+0]=m*d+u,a[3*g+1]=-A*p+h,a[3*g+2]=e[_],c[2*g+0]=m/r,c[2*g+1]=A/n}return{POSITION:{value:a,size:3},TEXCOORD_0:{value:c,size:2}}}var Gs="4.1.0-alpha.9";var Hs={name:"Terrain",id:"terrain",module:"terrain",version:Gs,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};var Y0={name:"Quantized Mesh",id:"quantized-mesh",module:"terrain",version:Gs,worker:!0,extensions:["terrain"],mimeTypes:["application/vnd.quantized-mesh"],options:{"quantized-mesh":{bounds:[0,0,1,1],skirtHeight:null}}};var aI={...Hs,parse:cI};async function cI(t,e,r){let n={...e,mimeType:"application/x.image",image:{...e?.image,type:"data"}},i=await Ce(t,[],n,r),o={...aI.options.terrain,...e?.terrain};return K0(i,o)}var Oj={...Y0,parseSync:(t,e)=>xl(t,e?.["quantized-mesh"]),parse:async(t,e)=>xl(t,e?.["quantized-mesh"])};function Vs(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Vs=function(r){return typeof r}:Vs=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Vs(t)}function Z0(t){return fI(t)||lI(t)||ty(t)||uI()}function uI(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
763
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lI(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function fI(t){if(Array.isArray(t))return bl(t)}function hI(t,e){return mI(t)||pI(t,e)||ty(t,e)||dI()}function dI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
764
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ty(t,e){if(t){if(typeof t=="string")return bl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bl(t,e)}}function bl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function pI(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function mI(t){if(Array.isArray(t))return t}function gI(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function yI(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&El(t,e)}function El(t,e){return El=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},El(t,e)}function AI(t){var e=xI();return function(){var n=zs(t),i;if(e){var o=zs(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return _I(this,i)}}function _I(t,e){if(e&&(Vs(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vI(t)}function vI(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function xI(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zs(t){return zs=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},zs(t)}function Q0(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Xt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Q0(Object(r),!0).forEach(function(n){TI(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Q0(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function TI(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var $0=[1],bI=Xt(Xt({},At.defaultProps),{},{elevationData:Ut,texture:Xt(Xt({},Ut),{},{optional:!0}),meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[Hs]});function ey(t){return Array.isArray(t)?t.join(";"):t||""}var ks=function(t){yI(r,t);var e=AI(r);function r(){var i;gI(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.updateState=function(o){var s=o.props,a=o.oldProps,c=s.elevationData!==a.elevationData;if(c){var u=s.elevationData,l=u&&(Array.isArray(u)||u.includes("{x}")&&u.includes("{y}"));this.setState({isTiled:l})}var f=c||s.meshMaxError!==a.meshMaxError||s.elevationDecoder!==a.elevationDecoder||s.bounds!==a.bounds;if(!this.state.isTiled&&f){var h=this.loadTerrain(s);this.setState({terrain:h})}s.workerUrl&&js.log.removed("workerUrl","loadOptions.terrain.workerUrl")()},n.loadTerrain=function(o){var s,a=o.elevationData,c=o.bounds,u=o.elevationDecoder,l=o.meshMaxError,f=o.signal;if(!a)return null;var h=this.getLoadOptions();h=Xt(Xt({},h),{},{terrain:Xt(Xt({skirtHeight:this.state.isTiled?l*2:0},(s=h)===null||s===void 0?void 0:s.terrain),{},{bounds:c,meshMaxError:l,elevationDecoder:u})});var d=this.props.fetch;return d(a,{propName:"elevationData",layer:this,loadOptions:h,signal:f})},n.getTiledTerrainData=function(o){var s=this.props,a=s.elevationData,c=s.fetch,u=s.texture,l=s.elevationDecoder,f=s.meshMaxError,h=this.context.viewport,d=ot(a,o),p=u&&ot(u,o),g=o.signal,m=[0,0],A=[0,0];if(h.isGeospatial){var _=o.bbox;m=h.projectFlat([_.west,_.south]),A=h.projectFlat([_.east,_.north])}else{var v=o.bbox;m=[v.left,v.bottom],A=[v.right,v.top]}var x=[m[0],m[1],A[0],A[1]],B=this.loadTerrain({elevationData:d,bounds:x,elevationDecoder:l,meshMaxError:f,signal:g}),S=p?c(p,{propName:"texture",layer:this,loaders:[],signal:g}).catch(function(C){return null}):Promise.resolve(null);return Promise.all([B,S])},n.renderSubLayers=function(o){var s=this.getSubLayerClass("mesh",Sl.SimpleMeshLayer),a=this.props,c=a.color,u=a.wireframe,l=a.material,f=o.data;if(!f)return null;var h=hI(f,2),d=h[0],p=h[1];return new s(o,{data:$0,mesh:d,texture:p,_instanced:!1,coordinateSystem:ry.COORDINATE_SYSTEM.CARTESIAN,getPosition:function(m){return[0,0,0]},getColor:c,wireframe:u,material:l})},n.onViewportLoad=function(o){if(o){var s=this.state.zRange,a=o.map(function(l){return l.content}).filter(Boolean).map(function(l){var f=l[0].header.boundingBox;return f.map(function(h){return h[2]})});if(a.length!==0){var c=Math.min.apply(Math,Z0(a.map(function(l){return l[0]}))),u=Math.max.apply(Math,Z0(a.map(function(l){return l[1]})));(!s||c<s[0]||u>s[1])&&this.setState({zRange:[c,u]})}}},n.renderLayers=function(){var o=this.props,s=o.color,a=o.material,c=o.elevationData,u=o.texture,l=o.wireframe,f=o.meshMaxError,h=o.elevationDecoder,d=o.tileSize,p=o.maxZoom,g=o.minZoom,m=o.extent,A=o.maxRequests,_=o.onTileLoad,v=o.onTileUnload,x=o.onTileError,B=o.maxCacheSize,S=o.maxCacheByteSize,C=o.refinementStrategy;if(this.state.isTiled)return new At(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:ey(c),texture:ey(u),meshMaxError:f,elevationDecoder:h}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:d,maxZoom:p,minZoom:g,extent:m,maxRequests:A,onTileLoad:_,onTileUnload:v,onTileError:x,maxCacheSize:B,maxCacheByteSize:S,refinementStrategy:C});var E=this.getSubLayerClass("mesh",Sl.SimpleMeshLayer);return new E(this.getSubLayerProps({id:"mesh"}),{data:$0,mesh:this.state.terrain,texture:u,_instanced:!1,getPosition:function(y){return[0,0,0]},getColor:s,material:a,wireframe:l})},r}(js.CompositeLayer);ks.defaultProps=bI;ks.layerName="TerrainLayer";var na=P(ze()),Jl=P(Ve()),Jy=P(iy());var hi={x:0,y:1,z:2};function Er(t,e={}){let{start:r=0,end:n=t.length,plane:i="xy"}=e,o=e.size||2,s=0,a=hi[i[0]],c=hi[i[1]];for(let u=r,l=n-o;u<n;u+=o)s+=(t[u+a]-t[l+a])*(t[u+c]+t[l+c]),l=u;return s/2}function Cl(t,e,r=2,n,i="xy"){let o=e&&e.length,s=o?e[0]*r:t.length,a=sy(t,0,s,r,!0,n&&n[0],i),c=[];if(!a||a.next===a.prev)return c;let u,l,f,h,d,p,g;if(o&&(a=II(t,e,a,r,n,i)),t.length>80*r){h=l=t[0],d=f=t[1];for(let m=r;m<s;m+=r)p=t[m],g=t[m+1],p<h&&(h=p),g<d&&(d=g),p>l&&(l=p),g>f&&(f=g);u=Math.max(l-h,f-d),u=u!==0?32767/u:0}return di(a,c,r,h,d,u,0),c}function sy(t,e,r,n,i,o,s){let a,c;o===void 0&&(o=Er(t,{start:e,end:r,size:n,plane:s}));let u=hi[s[0]],l=hi[s[1]];if(i===o<0)for(a=e;a<r;a+=n)c=oy(a,t[a+u],t[a+l],c);else for(a=r-n;a>=e;a-=n)c=oy(a,t[a+u],t[a+l],c);return c&&Ws(c,c.next)&&(mi(c),c=c.next),c}function Sr(t,e){if(!t)return t;e||(e=t);let r=t,n;do if(n=!1,!r.steiner&&(Ws(r,r.next)||te(r.prev,r,r.next)===0)){if(mi(r),r=e=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==e);return e}function di(t,e,r,n,i,o,s){if(!t)return;!s&&o&&FI(t,n,i,o);let a=t,c,u;for(;t.prev!==t.next;){if(c=t.prev,u=t.next,o?CI(t,n,i,o):BI(t)){e.push(c.i/r|0),e.push(t.i/r|0),e.push(u.i/r|0),mi(t),t=u.next,a=u.next;continue}if(t=u,t===a){s?s===1?(t=MI(Sr(t),e,r),di(t,e,r,n,i,o,2)):s===2&&wI(t,e,r,n,i,o):di(Sr(t),e,r,n,i,o,1);break}}}function BI(t){let e=t.prev,r=t,n=t.next;if(te(e,r,n)>=0)return!1;let i=e.x,o=r.x,s=n.x,a=e.y,c=r.y,u=n.y,l=i<o?i<s?i:s:o<s?o:s,f=a<c?a<u?a:u:c<u?c:u,h=i>o?i>s?i:s:o>s?o:s,d=a>c?a>u?a:u:c>u?c:u,p=n.next;for(;p!==e;){if(p.x>=l&&p.x<=h&&p.y>=f&&p.y<=d&&hn(i,a,o,c,s,u,p.x,p.y)&&te(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function CI(t,e,r,n){let i=t.prev,o=t,s=t.next;if(te(i,o,s)>=0)return!1;let a=i.x,c=o.x,u=s.x,l=i.y,f=o.y,h=s.y,d=a<c?a<u?a:u:c<u?c:u,p=l<f?l<h?l:h:f<h?f:h,g=a>c?a>u?a:u:c>u?c:u,m=l>f?l>h?l:h:f>h?f:h,A=Bl(d,p,e,r,n),_=Bl(g,m,e,r,n),v=t.prevZ,x=t.nextZ;for(;v&&v.z>=A&&x&&x.z<=_;){if(v.x>=d&&v.x<=g&&v.y>=p&&v.y<=m&&v!==i&&v!==s&&hn(a,l,c,f,u,h,v.x,v.y)&&te(v.prev,v,v.next)>=0||(v=v.prevZ,x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&hn(a,l,c,f,u,h,x.x,x.y)&&te(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;v&&v.z>=A;){if(v.x>=d&&v.x<=g&&v.y>=p&&v.y<=m&&v!==i&&v!==s&&hn(a,l,c,f,u,h,v.x,v.y)&&te(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;x&&x.z<=_;){if(x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==i&&x!==s&&hn(a,l,c,f,u,h,x.x,x.y)&&te(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function MI(t,e,r){let n=t;do{let i=n.prev,o=n.next.next;!Ws(i,o)&&ay(i,n,n.next,o)&&pi(i,o)&&pi(o,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(o.i/r|0),mi(n),mi(n.next),n=t=o),n=n.next}while(n!==t);return Sr(n)}function wI(t,e,r,n,i,o){let s=t;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&UI(s,a)){let c=cy(s,a);s=Sr(s,s.next),c=Sr(c,c.next),di(s,e,r,n,i,o,0),di(c,e,r,n,i,o,0);return}a=a.next}s=s.next}while(s!==t)}function II(t,e,r,n,i,o){let s=[],a,c,u,l,f;for(a=0,c=e.length;a<c;a++)u=e[a]*n,l=a<c-1?e[a+1]*n:t.length,f=sy(t,u,l,n,!1,i&&i[a+1],o),f===f.next&&(f.steiner=!0),s.push(NI(f));for(s.sort(OI),a=0;a<s.length;a++)r=RI(s[a],r);return r}function OI(t,e){return t.x-e.x}function RI(t,e){let r=LI(t,e);if(!r)return e;let n=cy(r,t);return Sr(n,n.next),Sr(r,r.next)}function LI(t,e){let r=e,n=t.x,i=t.y,o=-1/0,s;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){let h=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(h<=n&&h>o&&(o=h,s=r.x<r.next.x?r:r.next,h===n))return s}r=r.next}while(r!==e);if(!s)return null;let a=s,c=s.x,u=s.y,l=1/0,f;r=s;do n>=r.x&&r.x>=c&&n!==r.x&&hn(i<u?n:o,i,c,u,i<u?o:n,i,r.x,r.y)&&(f=Math.abs(i-r.y)/(n-r.x),pi(r,t)&&(f<l||f===l&&(r.x>s.x||r.x===s.x&&PI(s,r)))&&(s=r,l=f)),r=r.next;while(r!==a);return s}function PI(t,e){return te(t.prev,t,e.prev)<0&&te(e.next,t,t.next)<0}function FI(t,e,r,n){let i=t;do i.z===0&&(i.z=Bl(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,DI(i)}function DI(t){let e,r,n=1,i,o,s,a,c,u;do{for(o=t,t=null,u=null,i=0;o;){for(i++,a=o,s=0,r=0;r<n&&(s++,a=a.nextZ,!!a);r++);for(c=n;s>0||c>0&&a;)s!==0&&(c===0||!a||o.z<=a.z)?(e=o,o=o.nextZ,s--):(e=a,a=a.nextZ,c--),u?u.nextZ=e:t=e,e.prevZ=u,u=e;o=a}u.nextZ=null,n*=2}while(i>1);return t}function Bl(t,e,r,n,i){return t=(t-r)*i|0,e=(e-n)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function NI(t){let e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}function hn(t,e,r,n,i,o,s,a){return(i-s)*(e-a)>=(t-s)*(o-a)&&(t-s)*(n-a)>=(r-s)*(e-a)&&(r-s)*(o-a)>=(i-s)*(n-a)}function UI(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!GI(t,e)&&(pi(t,e)&&pi(e,t)&&HI(t,e)&&(te(t.prev,t,e.prev)||te(t,e.prev,e))||Ws(t,e)&&te(t.prev,t,t.next)>0&&te(e.prev,e,e.next)>0)}function te(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ws(t,e){return t.x===e.x&&t.y===e.y}function ay(t,e,r,n){let i=qs(te(t,e,r)),o=qs(te(t,e,n)),s=qs(te(r,n,t)),a=qs(te(r,n,e));return!!(i!==o&&s!==a||i===0&&Js(t,r,e)||o===0&&Js(t,n,e)||s===0&&Js(r,t,n)||a===0&&Js(r,e,n))}function Js(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function qs(t){return t>0?1:t<0?-1:0}function GI(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ay(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function pi(t,e){return te(t.prev,t,t.next)<0?te(t,e,t.next)>=0&&te(t,t.prev,e)>=0:te(t,e,t.prev)<0||te(t,t.next,e)<0}function HI(t,e){let r=t,n=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&i<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==t);return n}function cy(t,e){let r=new gi(t.i,t.x,t.y),n=new gi(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,o.next=n,n.prev=o,n}function oy(t,e,r,n){let i=new gi(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function mi(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}var gi=class{constructor(e,r,n){L(this,"i",void 0),L(this,"x",void 0),L(this,"y",void 0),L(this,"prev",null),L(this,"next",null),L(this,"z",0),L(this,"prevZ",null),L(this,"nextZ",null),L(this,"steiner",!1),this.i=e,this.x=r,this.y=n}};function Il(t,e,r){let n=JI(t),i=Object.keys(n).filter(o=>n[o]!==Array);return qI(t,{propArrayTypes:n,...e},{numericPropKeys:r&&r.numericPropKeys||i,PositionDataType:r?r.PositionDataType:Float32Array,triangulate:r?r.triangulate:!0})}function JI(t){let e={};for(let r of t)if(r.properties)for(let n in r.properties){let i=r.properties[n];e[n]=QI(i,e[n])}return e}function qI(t,e,r){let{pointPositionsCount:n,pointFeaturesCount:i,linePositionsCount:o,linePathsCount:s,lineFeaturesCount:a,polygonPositionsCount:c,polygonObjectsCount:u,polygonRingsCount:l,polygonFeaturesCount:f,propArrayTypes:h,coordLength:d}=e,{numericPropKeys:p=[],PositionDataType:g=Float32Array,triangulate:m=!0}=r,A=t[0]&&"id"in t[0],_=t.length>65535?Uint32Array:Uint16Array,v={type:"Point",positions:new g(n*d),globalFeatureIds:new _(n),featureIds:i>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},x={type:"LineString",pathIndices:o>65535?new Uint32Array(s+1):new Uint16Array(s+1),positions:new g(o*d),globalFeatureIds:new _(o),featureIds:a>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},B={type:"Polygon",polygonIndices:c>65535?new Uint32Array(u+1):new Uint16Array(u+1),primitivePolygonIndices:c>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new g(c*d),globalFeatureIds:new _(c),featureIds:f>65535?new Uint32Array(c):new Uint16Array(c),numericProps:{},properties:[],fields:[]};m&&(B.triangles=[]);for(let C of[v,x,B])for(let E of p){let b=h[E];C.numericProps[E]=new b(C.positions.length/d)}x.pathIndices[s]=o,B.polygonIndices[u]=c,B.primitivePolygonIndices[l]=c;let S={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let C of t){let E=C.geometry,b=C.properties||{};switch(E.type){case"Point":WI(E,v,S,d,b),v.properties.push(wl(b,p)),A&&v.fields.push({id:C.id}),S.pointFeature++;break;case"LineString":XI(E,x,S,d,b),x.properties.push(wl(b,p)),A&&x.fields.push({id:C.id}),S.lineFeature++;break;case"Polygon":KI(E,B,S,d,b),B.properties.push(wl(b,p)),A&&B.fields.push({id:C.id}),S.polygonFeature++;break;default:throw new Error("Invalid geometry type")}S.feature++}return ZI(v,x,B,d)}function WI(t,e,r,n,i){e.positions.set(t.data,r.pointPosition*n);let o=t.data.length/n;Ol(e,i,r.pointPosition,o),e.globalFeatureIds.fill(r.feature,r.pointPosition,r.pointPosition+o),e.featureIds.fill(r.pointFeature,r.pointPosition,r.pointPosition+o),r.pointPosition+=o}function XI(t,e,r,n,i){e.positions.set(t.data,r.linePosition*n);let o=t.data.length/n;Ol(e,i,r.linePosition,o),e.globalFeatureIds.fill(r.feature,r.linePosition,r.linePosition+o),e.featureIds.fill(r.lineFeature,r.linePosition,r.linePosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=t.indices[s],u=s===a-1?t.data.length:t.indices[s+1];e.pathIndices[r.linePath++]=r.linePosition,r.linePosition+=(u-c)/n}}function KI(t,e,r,n,i){e.positions.set(t.data,r.polygonPosition*n);let o=t.data.length/n;Ol(e,i,r.polygonPosition,o),e.globalFeatureIds.fill(r.feature,r.polygonPosition,r.polygonPosition+o),e.featureIds.fill(r.polygonFeature,r.polygonPosition,r.polygonPosition+o);for(let s=0,a=t.indices.length;s<a;++s){let c=r.polygonPosition;e.polygonIndices[r.polygonObject++]=c;let u=t.areas[s],l=t.indices[s],f=t.indices[s+1];for(let d=0,p=l.length;d<p;++d){let g=l[d],m=d===p-1?f===void 0?t.data.length:f[0]:l[d+1];e.primitivePolygonIndices[r.polygonRing++]=r.polygonPosition,r.polygonPosition+=(m-g)/n}let h=r.polygonPosition;YI(e,u,l,{startPosition:c,endPosition:h,coordLength:n})}}function YI(t,e,r,n){let{startPosition:i,endPosition:o,coordLength:s}=n;if(!t.triangles)return;let a=i*s,c=o*s,u=t.positions.subarray(a,c),l=r[0],f=r.slice(1).map(d=>(d-l)/s),h=Cl(u,f,s,e);for(let d=0,p=h.length;d<p;++d)t.triangles.push(i+h[d])}function Ml(t,e){let r={};for(let n in t)r[n]={value:t[n],size:e};return r}function ZI(t,e,r,n){let i={shape:"binary-feature-collection",points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:Ml(t.numericProps,1)},lines:{...e,positions:{value:e.positions,size:n},pathIndices:{value:e.pathIndices,size:1},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:Ml(e.numericProps,1)},polygons:{...r,positions:{value:r.positions,size:n},polygonIndices:{value:r.polygonIndices,size:1},primitivePolygonIndices:{value:r.primitivePolygonIndices,size:1},globalFeatureIds:{value:r.globalFeatureIds,size:1},featureIds:{value:r.featureIds,size:1},numericProps:Ml(r.numericProps,1)}};return i.polygons&&r.triangles&&(i.polygons.triangles={value:new Uint32Array(r.triangles),size:1}),i}function Ol(t,e,r,n){for(let i in t.numericProps)if(i in e){let o=e[i];t.numericProps[i].fill(o,r,r+n)}}function wl(t,e){let r={};for(let n in t)e.includes(n)||(r[n]=t[n]);return r}function QI(t,e){return e===Array||!Number.isFinite(t)?Array:e===Float64Array||Math.fround(t)!==t?Float64Array:Float32Array}function Ys(t,e){let r=e?.globalFeatureId;return r!==void 0?$I(t,r):e2(t,e?.type)}function $I(t,e){let r=hy(t);for(let n of r){let i=0,o=n.featureIds.value[0];for(let s=0;s<n.featureIds.value.length;s++){let a=n.featureIds.value[s];if(a!==o){if(e===n.globalFeatureIds.value[i])return Xs(n,i,s);i=s,o=a}}if(e===n.globalFeatureIds.value[i])return Xs(n,i,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function e2(t,e){let r=hy(t,e);return t2(r)}function fy(t,e,r){switch(t.type){case"Point":return o2(t,e,r);case"LineString":return i2(t,e,r);case"Polygon":return dy(t,e,r);default:let n=t;throw new Error(`Unsupported geometry type: ${n?.type}`)}}function hy(t,e){let r=[];return t.points&&(t.points.type="Point",r.push(t.points)),t.lines&&(t.lines.type="LineString",r.push(t.lines)),t.polygons&&(t.polygons.type="Polygon",r.push(t.polygons)),r}function t2(t){let e=[];for(let r of t){if(r.featureIds.value.length===0)continue;let n=0,i=r.featureIds.value[0];for(let o=0;o<r.featureIds.value.length;o++){let s=r.featureIds.value[o];s!==i&&(e.push(Xs(r,n,o)),n=o,i=s)}e.push(Xs(r,n,r.featureIds.value.length))}return e}function Xs(t,e,r){let n=fy(t,e,r),i=n2(t,e,r),o=r2(t,e,r);return{type:"Feature",geometry:n,properties:i,...o}}function r2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return t.fields&&t.fields[t.featureIds.value[e]]}function n2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=Object.assign({},t.properties[t.featureIds.value[e]]);for(let i in t.numericProps)n[i]=t.numericProps[i].value[e];return n}function dy(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.polygonIndices.value.filter(c=>c>=e&&c<=r),o=t.primitivePolygonIndices.value.filter(c=>c>=e&&c<=r);if(!(i.length>2)){let c=[];for(let u=0;u<o.length-1;u++){let l=o[u],f=o[u+1],h=Ks(n,l,f);c.push(h)}return{type:"Polygon",coordinates:c}}let a=[];for(let c=0;c<i.length-1;c++){let u=i[c],l=i[c+1],f=dy(t,u,l).coordinates;a.push(f)}return{type:"MultiPolygon",coordinates:a}}function i2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,i=t.pathIndices.value.filter(a=>a>=e&&a<=r);if(!(i.length>2))return{type:"LineString",coordinates:Ks(n,i[0],i[1])};let s=[];for(let a=0;a<i.length-1;a++){let c=Ks(n,i[a],i[a+1]);s.push(c)}return{type:"MultiLineString",coordinates:s}}function o2(t,e,r){let{positions:n}=t,i=Ks(n,e,r);return i.length>1?{type:"MultiPoint",coordinates:i}:{type:"Point",coordinates:i[0]}}function Ks(t,e,r){e=e||0,r=r||t.value.length/t.size;let n=[];for(let i=e;i<r;i++){let o=Array();for(let s=i*t.size;s<(i+1)*t.size;s++)o.push(Number(t.value[s]));n.push(o)}return n}var Ul=P(vy(),1);function xy(t){let e=t.length;if(e<=1)return[t];let r=[],n,i;for(let o=0;o<e;o++){let s=b2(t[o]);s!==0&&(i===void 0&&(i=s<0),i===s<0?(n&&r.push(n),n=[t[o]]):n&&n.push(t[o]))}return n&&r.push(n),r}function b2(t){let e=0;for(let r=0,n=t.length-1,i,o;r<t.length;n=r++)i=t[r],o=t[n],e+=(o[0]-i[0])*(i[1]+o[1]);return e}function Ty(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?E2(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function E2(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var Br=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(e,r,n,i,o){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,e.readFields(Ty,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=[],c;for(;e.pos<r;){if(i<=0){let u=e.readVarint();n=u&7,i=u>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),n===1&&(c&&a.push(c),c=[]),c&&c.push([o,s]);else if(n===7)c&&c.push(c[0].slice());else throw new Error(`unknown command ${n}`)}return c&&a.push(c),a}bbox(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,a=1/0,c=-1/0,u=1/0,l=-1/0;for(;e.pos<r;){if(i<=0){let f=e.readVarint();n=f&7,i=f>>3}if(i--,n===1||n===2)o+=e.readSVarint(),s+=e.readSVarint(),o<a&&(a=o),o>c&&(c=o),s<u&&(u=s),s>l&&(l=s);else if(n!==7)throw new Error(`unknown command ${n}`)}return[a,u,c,l]}_toGeoJSON(e){let r=this.loadGeometry(),n=Br.types[this.type],i,o;switch(this.type){case 1:let a=[];for(i=0;i<r.length;i++)a[i]=r[i][0];r=a,e(r,this);break;case 2:for(i=0;i<r.length;i++)e(r[i],this);break;case 3:for(r=xy(r),i=0;i<r.length;i++)for(o=0;o<r[i].length;o++)e(r[i][o],this);break}r.length===1?r=r[0]:n=`Multi${n}`;let s={type:"Feature",geometry:{type:n,coordinates:r},properties:this.properties};return this.id!==null&&(s.id=this.id),s}toGeoJSON(e){if(typeof e=="function")return this._toGeoJSON(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;function c(u){for(let l=0;l<u.length;l++){let f=u[l];f[0]=(f[0]+s)*360/o-180;let h=180-(f[1]+a)*360/o;f[1]=360/Math.PI*Math.atan(Math.exp(h*Math.PI/180))-90}}return this._toGeoJSON(c)}};var yi=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(S2,this,r),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let r=this._pbf.readVarint()+this._pbf.pos;return new Br(this._pbf,r,this.extent,this._keys,this._values)}};function S2(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(B2(r)))}function B2(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var Ai=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(C2,{},r)}};function C2(t,e,r){if(t===3&&r){let n=new yi(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function by(t){let e=t.indices.length,r="Polygon";if(e<=1)return{type:r,data:t.data,areas:[[Er(t.data)]],indices:[t.indices]};let n=[],i=[],o=[],s=[],a,c=0;for(let u,l=0,f;l<e;l++){f=t.indices[l]-c,u=t.indices[l+1]-c||t.data.length;let h=t.data.slice(f,u),d=Er(h);if(d===0){let p=t.data.slice(0,f),g=t.data.slice(u);t.data=p.concat(g),c+=u-f;continue}a===void 0&&(a=d<0),a===d<0?(s.length&&(n.push(o),i.push(s)),s=[f],o=[d]):(o.push(d),s.push(f))}return o&&n.push(o),s.length&&i.push(s),{type:r,areas:n,indices:i,data:t.data}}function Ey(t,e,r,n){for(let i=0,o=t.length;i<o;i+=2){t[i]=(t[i]+e)*360/n-180;let s=180-(t[i+1]+r)*360/n;t[i+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function Sy(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?M2(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function M2(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}var By,Cr,Pl,$s,Fl,Dl,_i;var vi=class{constructor(e,r,n,i,o,s){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this._geometryInfo=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=i,this._values=o,this._geometryInfo=s,e.readFields(Sy,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry,By=e.readVarint()+e.pos,Cr=1,$s=0,Fl=0,Dl=0,_i=0;let r=[],n=[];for(;e.pos<By;)if($s<=0&&(Pl=e.readVarint(),Cr=Pl&7,$s=Pl>>3),$s--,Cr===1||Cr===2)Fl+=e.readSVarint(),Dl+=e.readSVarint(),Cr===1&&r.push(_i),n.push(Fl,Dl),_i+=2;else if(Cr===7){if(_i>0){let i=r[r.length-1];n.push(n[i],n[i+1]),_i+=2}}else throw new Error(`unknown command ${Cr}`);return{data:n,indices:r}}_toBinaryCoordinates(e){let r=this.loadGeometry(),n;e(r.data,this);let i=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=r.indices.length,n={type:"Point",...r};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=r.indices.length,this._geometryInfo.linePositionsCount+=r.data.length/i,n={type:"LineString",...r};break;case 3:n=by(r),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=n.indices.length;for(let s of n.indices)this._geometryInfo.polygonRingsCount+=s.length;this._geometryInfo.polygonPositionsCount+=n.data.length/i;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let o={type:"Feature",geometry:n,properties:this.properties};return this.id!==null&&(o.id=this.id),o}toBinaryCoordinates(e){if(typeof e=="function")return this._toBinaryCoordinates(e);let{x:r,y:n,z:i}=e,o=this.extent*Math.pow(2,i),s=this.extent*r,a=this.extent*n;return this._toBinaryCoordinates(c=>Ey(c,s,a,o))}};var xi=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(w2,this,r),this.length=this._features.length}feature(e,r){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let n=this._pbf.readVarint()+this._pbf.pos;return new vi(this._pbf,n,this.extent,this._keys,this._values,r)}};function w2(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(I2(r)))}function I2(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var Ti=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(O2,{},r)}};function O2(t,e,r){if(t===3&&r){let n=new xi(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function ea(t,e){var r,n;let i=L2(e),o=(e==null||(r=e.gis)===null||r===void 0?void 0:r.format)||(e==null||(n=e.mvt)===null||n===void 0?void 0:n.shape)||e?.shape;switch(o){case"columnar-table":return{shape:"columnar-table",data:Nl(t,i)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:Cy(t,i)};case"geojson":return Cy(t,i);case"binary-geometry":return Nl(t,i);case"binary":return Nl(t,i);default:throw new Error(o||"undefined shape")}}function Nl(t,e){let[r,n]=R2(t,e),i=Il(r,n);return i.byteLength=t.byteLength,i}function R2(t,e){let r=[],n={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength<=0)return[r,n];let i=new Ti(new Ul.default(t));return(e&&Array.isArray(e.layers)?e.layers:Object.keys(i.layers)).forEach(s=>{let a=i.layers[s];if(a)for(let c=0;c<a.length;c++){let u=a.feature(c,n),l=F2(u,e,s);r.push(l)}}),[r,n]}function Cy(t,e){if(t.byteLength<=0)return[];let r=[],n=new Ai(new Ul.default(t));return(Array.isArray(e.layers)?e.layers:Object.keys(n.layers)).forEach(o=>{let s=n.layers[o];if(s)for(let a=0;a<s.length;a++){let c=s.feature(a),u=P2(c,e,o);r.push(u)}}),r}function L2(t){var e;if(!(t!=null&&t.mvt))throw new Error("mvt options required");let r=((e=t.mvt)===null||e===void 0?void 0:e.coordinates)==="wgs84",{tileIndex:n}=t.mvt,i=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(r&&!i)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return t.mvt}function P2(t,e,r){let n=t.toGeoJSON(e.coordinates==="wgs84"?e.tileIndex:D2);return e.layerProperty&&(n.properties[e.layerProperty]=r),n}function F2(t,e,r){let n=t.toBinaryCoordinates(e.coordinates==="wgs84"?e.tileIndex:N2);return e.layerProperty&&n.properties&&(n.properties[e.layerProperty]=r),n}function D2(t,e){let{extent:r}=e;for(let n=0;n<t.length;n++){let i=t[n];i[0]/=r,i[1]/=r}}function N2(t,e){let{extent:r}=e;for(let n=0,i=t.length;n<i;++n)t[n]/=r}var U2="4.1.0-alpha.9",ta={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:U2,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}},G2={...ta,parse:async(t,e)=>ea(t,e),parseSync:ea,binary:!0};function My(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function wy(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?My(Object(r),!0).forEach(function(n){H2(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):My(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function H2(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Iy(t,e){return k2(t)||j2(t,e)||z2(t,e)||V2()}function V2(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
765
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function z2(t,e){if(t){if(typeof t=="string")return Oy(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Oy(t,e)}}function Oy(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function j2(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function k2(t){if(Array.isArray(t))return t}var J2={Point:Ry,MultiPoint:q2,LineString:Ly,MultiLineString:W2,Polygon:Py,MultiPolygon:X2};function Ry(t,e,r){var n=Iy(t,2),i=n[0],o=n[1],s=Iy(e,2),a=s[0],c=s[1],u=Rt(a[0],c[0],i),l=Rt(a[1],c[1],o);return r.unprojectFlat([u,l])}function Gl(t,e,r){return t.map(function(n){return Ry(n,e,r)})}function q2(t,e,r){return Gl(t,e,r)}function Ly(t,e,r){return Gl(t,e,r)}function W2(t,e,r){return t.map(function(n){return Ly(n,e,r)})}function Py(t,e,r){return t.map(function(n){return Gl(n,e,r)})}function X2(t,e,r){return t.map(function(n){return Py(n,e,r)})}function Fy(t,e,r){var n=r.projectFlat([e.west,e.north]),i=r.projectFlat([e.east,e.south]),o=[n,i];return wy(wy({},t),{},{coordinates:J2[t.type](t.coordinates,o,r)})}function K2(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Y2(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
766
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function Y2(t,e){if(t){if(typeof t=="string")return Dy(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Dy(t,e)}}function Dy(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var Z2=["points","lines","polygons"];function Hl(t,e,r,n){var i=K2(Z2),o;try{for(i.s();!(o=i.n()).done;){var s=o.value,a=t[s]&&Q2(t[s],e,r,n);if(a>=0)return a}}catch(c){i.e(c)}finally{i.f()}return-1}function Q2(t,e,r,n){var i=t.featureIds.value;if(!i.length)return-1;var o=0,s=i[i.length-1]+1;if(n){var a=$2(t,n);if(a)o=a[0],s=a[1]+1;else return-1}var c=-1;if(e in t.numericProps){var u=t.numericProps[e].value.findIndex(function(l,f){return l===r&&i[f]>=o&&i[f]<s});return u>=0?t.globalFeatureIds.value[u]:-1}else e?c=Ny(t.properties,function(l){return l[e]===r},o,s):t.fields&&(c=Ny(t.fields,function(l){return l.id===r},o,s));return c>=0?eO(t,c):-1}function $2(t,e){if(!t.__layers){for(var r={},n=t.properties,i=0;i<n.length;i++){var o=n[i],s=o.layerName;s&&(r[s]?r[s][1]=i:r[s]=[i,i])}t.__layers=r}return t.__layers[e]}function eO(t,e){if(!t.__ids){for(var r=[],n=t.featureIds.value,i=t.globalFeatureIds.value,o=0;o<n.length;o++)r[n[o]]=i[o];t.__ids=r}return t.__ids[e]}function Ny(t,e,r,n){for(var i=r;i<n;i++)if(e(t[i],i))return i;return-1}function ra(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ra=function(r){return typeof r}:ra=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ra(t)}function tO(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=ky(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
767
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function rO(t){return oO(t)||iO(t)||ky(t)||nO()}function nO(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
768
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ky(t,e){if(t){if(typeof t=="string")return jl(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jl(t,e)}}function iO(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function oO(t){if(Array.isArray(t))return jl(t)}function jl(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Uy(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,i)}function sO(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(c){Uy(o,n,i,s,a,"next",c)}function a(c){Uy(o,n,i,s,a,"throw",c)}s(void 0)})}}function aO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gy(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function cO(t,e,r){return e&&Gy(t.prototype,e),r&&Gy(t,r),t}function ht(t,e,r){return typeof Reflect<"u"&&Reflect.get?ht=Reflect.get:ht=function(i,o,s){var a=uO(i,o);if(a){var c=Object.getOwnPropertyDescriptor(a,o);return c.get?c.get.call(s):c.value}},ht(t,e,r||t)}function uO(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=He(t),t!==null););return t}function lO(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kl(t,e)}function kl(t,e){return kl=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},kl(t,e)}function fO(t){var e=pO();return function(){var n=He(t),i;if(e){var o=He(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hO(this,i)}}function hO(t,e){if(e&&(ra(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dO(t)}function dO(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function pO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function He(t){return He=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},He(t)}function Hy(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Kt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Hy(Object(r),!0).forEach(function(n){mO(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Hy(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function mO(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Vl=512,gO=Kt(Kt({},Jl.GeoJsonLayer.defaultProps),{},{data:Ut,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[ta],binary:!0}),ia=function(t){lO(r,t);var e=fO(r);function r(){var i;aO(this,r);for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return i=e.call.apply(e,[this].concat(s)),i.state=void 0,i}var n=r.prototype;return n.initializeState=function(){ht(He(r.prototype),"initializeState",this).call(this);var o=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:o,data:null,tileJSON:null})},n.updateState=function(o){var s,a=o.props,c=o.oldProps,u=o.context,l=o.changeFlags;l.dataChanged&&this._updateTileData(),(s=this.state)!==null&&s!==void 0&&s.data&&(ht(He(r.prototype),"updateState",this).call(this,{props:a,oldProps:c,context:u,changeFlags:l}),this._setWGS84PropertyForTiles());var f=a.highlightColor;f!==c.highlightColor&&Array.isArray(f)&&this.setState({highlightColor:f})},n._updateTileData=function(){var i=sO(regeneratorRuntime.mark(function s(){var a,c,u,l,f;return regeneratorRuntime.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(a=this.props.data,c=null,!(typeof a=="string"&&!Fc(a))){d.next=18;break}return u=this.props,l=u.onDataLoad,f=u.fetch,this.setState({data:null,tileJSON:null}),d.prev=5,d.next=8,f(a,{propName:"data",layer:this,loaders:[]});case 8:c=d.sent,d.next=15;break;case 11:d.prev=11,d.t0=d.catch(5),this.raiseError(d.t0,"loading TileJSON"),a=null;case 15:l&&l(c,{propName:"data",layer:this}),d.next=19;break;case 18:a.tilejson&&(c=a);case 19:c&&(a=c.tiles),this.setState({data:a,tileJSON:c});case 21:case"end":return d.stop()}},s,this,[[5,11]])}));function o(){return i.apply(this,arguments)}return o}(),n._getTilesetOptions=function(){var o=ht(He(r.prototype),"_getTilesetOptions",this).call(this),s=this.state.tileJSON,a=this.props,c=a.minZoom,u=a.maxZoom;return s&&(Number.isFinite(s.minzoom)&&s.minzoom>c&&(o.minZoom=s.minzoom),Number.isFinite(s.maxzoom)&&(!Number.isFinite(u)||s.maxzoom<u)&&(o.maxZoom=s.maxzoom)),o},n.renderLayers=function(){var o;return(o=this.state)!==null&&o!==void 0&&o.data?ht(He(r.prototype),"renderLayers",this).call(this):null},n.getTileData=function(o){var s,a=this.state,c=a.data,u=a.binary,l=o.index,f=o.signal,h=ot(c,o);if(!h)return Promise.reject("Invalid URL");var d=this.getLoadOptions(),p=this.props.fetch;return d=Kt(Kt({},d),{},{mimeType:"application/x-protobuf",mvt:Kt(Kt({},(s=d)===null||s===void 0?void 0:s.mvt),{},{coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:l}),gis:u?{format:"binary"}:{}}),p(h,{propName:"data",layer:this,loadOptions:d,signal:f})},n.renderSubLayers=function(o){var s=o.tile.index,a=s.x,c=s.y,u=s.z,l=Math.pow(2,u),f=Vl/l,h=-f,d=Vl*a/l,p=Vl*(1-c/l),g=new D().scale([f,h,1]);o.autoHighlight=!1,this.context.viewport.resolution||(o.modelMatrix=g,o.coordinateOrigin=[d,p,0],o.coordinateSystem=na.COORDINATE_SYSTEM.CARTESIAN,o.extensions=[].concat(rO(o.extensions||[]),[new Jy.ClipExtension]));var m=ht(He(r.prototype),"renderSubLayers",this).call(this,o);return this.state.binary&&!(m instanceof Jl.GeoJsonLayer)&&na.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),m},n._updateAutoHighlight=function(o){var s=this.props.uniqueIdProperty,a=this.state,c=a.hoveredFeatureId,u=a.hoveredFeatureLayerName,l=o.object,f,h;l&&(f=zl(l,s),h=Vy(l));var d=this.props.highlightColor;typeof d=="function"&&(d=d(o)),(c!==f||u!==h)&&this.setState({highlightColor:d,hoveredFeatureId:f,hoveredFeatureLayerName:h})},n.getPickingInfo=function(o){var s=ht(He(r.prototype),"getPickingInfo",this).call(this,o),a=Boolean(this.context.viewport.resolution);if(this.state.binary&&s.index!==-1){var c=o.sourceLayer.props.data;s.object=Ys(c,{globalFeatureId:s.index})}return s.object&&!a&&(s.object=jy(s.object,s.tile.bbox,this.context.viewport)),s},n.getSubLayerPropsByTile=function(o){return{highlightedObjectIndex:this.getHighlightedObjectIndex(o),highlightColor:this.state.highlightColor}},n.getHighlightedObjectIndex=function(o){var s=this.state,a=s.hoveredFeatureId,c=s.hoveredFeatureLayerName,u=s.binary,l=this.props,f=l.uniqueIdProperty,h=l.highlightedFeatureId,d=o.content,p=zy(h),g=zy(a)||p;if(!g)return-1;var m=p?h:a;return Array.isArray(d)?d.findIndex(function(A){var _=zl(A,f)===m,v=p||Vy(A)===c;return _&&v}):d&&u?Hl(d,f,m,p?"":c):-1},n._pickObjects=function(o){var s=this.context,a=s.deck,c=s.viewport,u=c.width,l=c.height,f=c.x,h=c.y,d=[this.id];return a.pickObjects({x:f,y:h,width:u,height:l,layerIds:d,maxObjects:o})},n.getRenderedFeatures=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,s=this._pickObjects(o),a=new Set,c=[],u=tO(s),l;try{for(u.s();!(l=u.n()).done;){var f=l.value,h=zl(f.object,this.props.uniqueIdProperty);h===void 0?c.push(f.object):a.has(h)||(a.add(h),c.push(f.object))}}catch(d){u.e(d)}finally{u.f()}return c},n._setWGS84PropertyForTiles=function(){var o=this,s="dataInWGS84",a=this.state.tileset;a.selectedTiles.forEach(function(c){c.hasOwnProperty(s)||Object.defineProperty(c,s,{get:function(){if(!c.content)return null;if(o.state.binary&&Array.isArray(c.content)&&!c.content.length)return[];var l=c.bbox;if(c._contentWGS84===void 0&&Dc(l)){var f=o.state.binary?Ys(c.content):c.content;c._contentWGS84=f.map(function(h){return jy(h,l,o.context.viewport)})}return c._contentWGS84}})})},cO(r,[{key:"isLoaded",get:function(){return Boolean(this.state&&this.state.data&&this.state.tileset&&ht(He(r.prototype),"isLoaded",this))}}]),r}(At);ia.layerName="MVTLayer";ia.defaultProps=gO;function zl(t,e){if(t.properties&&e)return t.properties[e];if("id"in t)return t.id}function Vy(t){var e;return((e=t.properties)===null||e===void 0?void 0:e.layerName)||null}function zy(t){return t!=null&&t!==""}function jy(t,e,r){var n=Kt(Kt({},t),{},{geometry:{type:t.geometry.type}});return Object.defineProperty(n.geometry,"coordinates",{get:function(){var o=Fy(t.geometry,e,r);return o.coordinates}}),n}function yO(t,e){return xO(t)||vO(t,e)||_O(t,e)||AO()}function AO(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
769
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _O(t,e){if(t){if(typeof t=="string")return qy(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qy(t,e)}}function qy(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function vO(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,a;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(c){o=!0,a=c}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}return n}}function xO(t){if(Array.isArray(t))return t}var Wy="0123456789bcdefghjkmnpqrstuvwxyz",Xy={};for(bi=0;bi<Wy.length;bi++)Xy[Wy.charAt(bi)]=bi;var bi,TO=-90,bO=90,EO=-180,SO=180;function BO(t){for(var e=!0,r=bO,n=TO,i=SO,o=EO,s,a=0,c=0,u=t.length;c<u;c++){var l=t[c].toLowerCase();a=Xy[l];for(var f=4;f>=0;f--){var h=a>>f&1;e?(s=(i+o)/2,h===1?o=s:i=s):(s=(r+n)/2,h===1?n=s:r=s),e=!e}}return[n,o,r,i]}function Ky(t){var e=BO(t),r=yO(e,4),n=r[0],i=r[1],o=r[2],s=r[3];return[s,o,s,n,i,n,i,o,s,o]}function oa(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?oa=function(r){return typeof r}:oa=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},oa(t)}function CO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function MO(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ql(t,e)}function ql(t,e){return ql=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},ql(t,e)}function wO(t){var e=RO();return function(){var n=sa(t),i;if(e){var o=sa(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return IO(this,i)}}function IO(t,e){if(e&&(oa(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return OO(t)}function OO(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function RO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sa(t){return sa=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},sa(t)}var LO={getGeohash:{type:"accessor",value:function(e){return e.geohash}}},aa=function(t){MO(r,t);var e=wO(r);function r(){return CO(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var o=this.props,s=o.data,a=o.getGeohash;return{data:s,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return Ky(a(u,l))}}},r}(Le);aa.layerName="GeohashLayer";aa.defaultProps=LO;return nA(Ei);})();
765
+ `;function Po(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Po=function(r){return typeof r}:Po=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Po(t)}function Qg(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function sr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Qg(Object(r),!0).forEach(function(n){tB(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Qg(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function tB(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function rB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ir(t,e,r){return typeof Reflect<"u"&&Reflect.get?ir=Reflect.get:ir=function(s,i,o){var a=nB(s,i);if(a){var c=Object.getOwnPropertyDescriptor(a,i);return c.get?c.get.call(o):c.value}},ir(t,e,r||t)}function nB(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=yt(t),t!==null););return t}function sB(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Il(t,e)}function Il(t,e){return Il=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},Il(t,e)}function iB(t){var e=cB();return function(){var n=yt(t),s;if(e){var i=yt(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return oB(this,s)}}function oB(t,e){if(e&&(Po(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return aB(t)}function aB(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function cB(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function yt(t){return yt=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},yt(t)}function uB(t){var e=t.positions||t.POSITION,r=e.value.length/e.size,n=t.COLOR_0||t.colors;n||(t.colors={size:4,value:new Uint8Array(r*4).fill(255),normalized:!0})}var lB={pbrMaterial:{type:"object",value:null},featureIds:{type:"array",value:null,optional:!0}},Fo=function(t){sB(r,t);var e=iB(r);function r(){return rB(this,r),e.apply(this,arguments)}var n=r.prototype;return n.getShaders=function(){var i=ir(yt(r.prototype),"getShaders",this).call(this),o=i.modules;return o.push(_l),sr(sr({},i),{},{vs:Yg,fs:Zg})},n.initializeState=function(){var i=this.props.featureIds;ir(yt(r.prototype),"initializeState",this).call(this);var o=this.getAttributeManager();i&&o.add({featureIdsPickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateFeatureIdsPickingColors}})},n.updateState=function(i){ir(yt(r.prototype),"updateState",this).call(this,i);var o=i.props,a=i.oldProps;o.pbrMaterial!==a.pbrMaterial&&this.updatePbrMaterialUniforms(o.pbrMaterial)},n.draw=function(i){var o=this.props.featureIds;this.state.model&&(this.state.model.setUniforms({u_Camera:this.state.model.uniforms.project_uCameraPosition,pickFeatureIds:Boolean(o)}),ir(yt(r.prototype),"draw",this).call(this,i))},n.getModel=function(i){var o=this.props,a=o.id,c=o.pbrMaterial,u=this.parseMaterial(c,i);this.setState({parsedPBRMaterial:u});var l=this.getShaders();uB(i.attributes);var f=new rr(this.context.device,sr(sr({},this.getShaders()),{},{id:a,geometry:i,bufferLayout:this.getAttributeManager().getBufferLayouts(),defines:sr(sr(sr({},l.defines),u?.defines),{},{HAS_UV_REGIONS:i.attributes.uvRegions?1:0}),parameters:u?.parameters,isInstanced:!0}));return f},n.updatePbrMaterialUniforms=function(i){var o=this.state.model;if(o){var a=this.props.mesh,c=this.parseMaterial(i,a);this.setState({parsedPBRMaterial:c}),o.setBindings(c.bindings),o.setUniforms(c.uniforms)}},n.parseMaterial=function(i,o){var a=Boolean(i.pbrMetallicRoughness&&i.pbrMetallicRoughness.baseColorTexture);return xl(this.context.device,sr({unlit:a},i),{NORMAL:o.attributes.normals,TEXCOORD_0:o.attributes.texCoords},{pbrDebug:!1,lights:!0,useTangents:!1})},n.calculateFeatureIdsPickingColors=function(i){for(var o=this.props.featureIds,a=new Uint8ClampedArray(o.length*i.size),c=[],u=0;u<o.length;u++)this.encodePickingColor(o[u],c),a[u*3]=c[0],a[u*3+1]=c[1],a[u*3+2]=c[2];i.value=a},n.finalizeState=function(i){var o;ir(yt(r.prototype),"finalizeState",this).call(this,i),(o=this.state.parsedPBRMaterial)===null||o===void 0||o.generatedTextures.forEach(function(a){return a.destroy()}),this.setState({parsedPBRMaterial:null})},r}($g.SimpleMeshLayer);Fo.layerName="MeshLayer";Fo.defaultProps=lB;var __=U(dn());var Lt=6356752314245179e-9,fB={radii:[6378137,6378137,Lt],radiiSquared:[6378137*6378137,6378137*6378137,Lt*Lt],oneOverRadii:[1/6378137,1/6378137,1/Lt],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(Lt*Lt)],maximumRadius:Math.max(6378137,6378137,Lt),centerToleranceSquared:.1};function No(t){return t}var $4=new w;function hB(t,e=[],r=No){return"longitude"in t?(e[0]=r(t.longitude),e[1]=r(t.latitude),e[2]=t.height):"x"in t?(e[0]=r(t.x),e[1]=r(t.y),e[2]=t.z):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function t0(t,e=[]){return hB(t,e,ee._cartographicRadians?No:Tc)}function dB(t,e,r=No){return"longitude"in e?(e.longitude=r(t[0]),e.latitude=r(t[1]),e.height=t[2]):"x"in e?(e.x=r(t[0]),e.y=r(t[1]),e.z=t[2]):(e[0]=r(t[0]),e[1]=r(t[1]),e[2]=t[2]),e}function r0(t,e){return dB(t,e,ee._cartographicRadians?No:Ec)}var n0=1e-14,pB=new w,s0={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"}},Ol={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},xs={east:new w,north:new w,up:new w,west:new w,south:new w,down:new w},mB=new w,gB=new w,yB=new w;function Rl(t,e,r,n,s,i){let o=s0[e]&&s0[e][r];me(o&&(!n||n===o));let a,c,u,l=pB.copy(s);if(we(l.x,0,n0)&&we(l.y,0,n0)){let h=Math.sign(l.z);a=mB.fromArray(Ol[e]),e!=="east"&&e!=="west"&&a.scale(h),c=gB.fromArray(Ol[r]),r!=="east"&&r!=="west"&&c.scale(h),u=yB.fromArray(Ol[n]),n!=="east"&&n!=="west"&&u.scale(h)}else{let{up:h,east:d,north:p}=xs;d.set(-l.y,l.x,0).normalize(),t.geodeticSurfaceNormal(l,h),p.copy(h).cross(d);let{down:g,west:m,south:A}=xs;g.copy(h).scale(-1),m.copy(d).scale(-1),A.copy(p).scale(-1),a=xs[e],c=xs[r],u=xs[n]}return i[0]=a.x,i[1]=a.y,i[2]=a.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=l.x,i[13]=l.y,i[14]=l.z,i[15]=1,i}var pn=new w,_B=new w,AB=new w;function i0(t,e,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:s,centerToleranceSquared:i}=e;pn.from(t);let o=pn.x,a=pn.y,c=pn.z,u=n.x,l=n.y,f=n.z,h=o*o*u*u,d=a*a*l*l,p=c*c*f*f,g=h+d+p,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let A=_B;if(A.copy(t).scale(m),g<i)return A.to(r);let v=s.x,x=s.y,b=s.z,M=AB;M.set(A.x*v*2,A.y*x*2,A.z*b*2);let C=(1-m)*pn.len()/(.5*M.len()),I=0,B,S,y,R;do{C-=I,B=1/(1+C*v),S=1/(1+C*x),y=1/(1+C*b);let P=B*B,F=S*S,N=y*y,G=P*B,Q=F*S,J=N*y;R=h*P+d*F+p*N-1;let Z=-2*(h*G*v+d*Q*x+p*J*b);I=R/Z}while(Math.abs(R)>Qe.EPSILON12);return pn.scale([B,S,y]).to(r)}var Do=new w,o0=new w,bB=new w,st=new w,TB=new w,Uo=new w,V=class{constructor(e=0,r=0,n=0){D(this,"radii",void 0),D(this,"radiiSquared",void 0),D(this,"radiiToTheFourth",void 0),D(this,"oneOverRadii",void 0),D(this,"oneOverRadiiSquared",void 0),D(this,"minimumRadius",void 0),D(this,"maximumRadius",void 0),D(this,"centerToleranceSquared",Qe.EPSILON1),D(this,"squaredXOverSquaredZ",void 0),me(e>=0),me(r>=0),me(n>=0),this.radii=new w(e,r,n),this.radiiSquared=new w(e*e,r*r,n*n),this.radiiToTheFourth=new w(e*e*e*e,r*r*r*r,n*n*n*n),this.oneOverRadii=new w(e===0?0:1/e,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new w(e===0?0:1/(e*e),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(e,r,n),this.maximumRadius=Math.max(e,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(e){return this===e||Boolean(e&&this.radii.equals(e.radii))}toString(){return this.radii.toString()}cartographicToCartesian(e,r=[0,0,0]){let n=o0,s=bB,[,,i]=e;this.geodeticSurfaceNormalCartographic(e,n),s.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(s));return s.scale(1/o),n.scale(i),s.add(n),s.to(r)}cartesianToCartographic(e,r=[0,0,0]){Uo.from(e);let n=this.scaleToGeodeticSurface(Uo,st);if(!n)return;let s=this.geodeticSurfaceNormal(n,o0),i=TB;i.copy(Uo).subtract(n);let o=Math.atan2(s.y,s.x),a=Math.asin(s.z),c=Math.sign(Zr.dot(i,Uo))*Zr.length(i);return r0([o,a,c],r)}eastNorthUpToFixedFrame(e,r=new k){return Rl(this,"east","north","up",e,r)}localFrameToFixedFrame(e,r,n,s,i=new k){return Rl(this,e,r,n,s,i)}geocentricSurfaceNormal(e,r=[0,0,0]){return Do.from(e).normalize().to(r)}geodeticSurfaceNormalCartographic(e,r=[0,0,0]){let n=t0(e),s=n[0],i=n[1],o=Math.cos(i);return Do.set(o*Math.cos(s),o*Math.sin(s),Math.sin(i)).normalize(),Do.to(r)}geodeticSurfaceNormal(e,r=[0,0,0]){return Do.from(e).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(e,r){return i0(e,this,r)}scaleToGeocentricSurface(e,r=[0,0,0]){st.from(e);let n=st.x,s=st.y,i=st.z,o=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*o.x+s*s*o.y+i*i*o.z);return st.multiplyScalar(a).to(r)}transformPositionToScaledSpace(e,r=[0,0,0]){return st.from(e).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(e,r=[0,0,0]){return st.from(e).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(e,r=0,n=[0,0,0]){me(we(this.radii.x,this.radii.y,Qe.EPSILON15)),me(this.radii.z>0),st.from(e);let s=st.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(s)>=this.radii.z-r))return st.set(0,0,s).to(n)}};D(V,"WGS84",new V(6378137,6378137,Lt));var Go=class{constructor(e,r,n){this.item=void 0,this.previous=void 0,this.next=void 0,this.item=e,this.previous=r,this.next=n}};var ko=class{constructor(){this.head=null,this.tail=null,this._length=0}get length(){return this._length}add(e){let r=new Go(e,this.tail,null);return this.tail?(this.tail.next=r,this.tail=r):(this.head=r,this.tail=r),++this._length,r}remove(e){e&&(e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=null,this.tail=e.previous):e.next?(e.next.previous=null,this.head=e.next):(this.head=null,this.tail=null),e.next=null,e.previous=null,--this._length)}splice(e,r){e!==r&&(this.remove(r),this._insert(e,r))}_insert(e,r){let n=e.next;e.next=r,this.tail===e?this.tail=r:n.previous=r,r.next=n,r.previous=e,++this._length}};var Ho=class{constructor(){this._list=void 0,this._sentinel=void 0,this._trimTiles=void 0,this._list=new ko,this._sentinel=this._list.add("sentinel"),this._trimTiles=!1}reset(){this._list.splice(this._list.tail,this._sentinel)}touch(e){let r=e._cacheNode;r&&this._list.splice(this._sentinel,r)}add(e,r,n){r._cacheNode||(r._cacheNode=this._list.add(r),n&&n(e,r))}unloadTile(e,r,n){let s=r._cacheNode;s&&(this._list.remove(s),r._cacheNode=null,n&&n(e,r))}unloadTiles(e,r){let n=this._trimTiles;this._trimTiles=!1;let s=this._list,i=e.maximumMemoryUsage*1024*1024,o=this._sentinel,a=s.head;for(;a!==o&&(e.gpuMemoryUsageInBytes>i||n);){let c=a.item;a=a.next,this.unloadTile(e,c,r)}}trim(){this._trimTiles=!0}};function a0(t,e){j(t),j(e);let{rtcCenter:r,gltfUpAxis:n}=e,{computedTransform:s,boundingVolume:{center:i}}=t,o=new k(s);switch(r&&o.translate(r),n){case"Z":break;case"Y":let f=new k().rotateX(Math.PI/2);o=o.multiplyRight(f);break;case"X":let h=new k().rotateY(-Math.PI/2);o=o.multiplyRight(h);break;default:break}e.isQuantized&&o.translate(e.quantizedVolumeOffset).scale(e.quantizedVolumeScale);let a=new w(i);e.cartesianModelMatrix=o,e.cartesianOrigin=a;let c=V.WGS84.cartesianToCartographic(a,new w),l=V.WGS84.eastNorthUpToFixedFrame(a).invert();e.cartographicModelMatrix=l.multiplyRight(o),e.cartographicOrigin=c,e.coordinateSystem||(e.modelMatrix=e.cartographicModelMatrix)}var c0=new w,Ll=new w,Pl=new de([new ge,new ge,new ge,new ge,new ge,new ge]);function l0(t,e){let{cameraDirection:r,cameraUp:n,height:s}=t,{metersPerUnit:i}=t.distanceScales,o=Vo(t,t.center),a=V.WGS84.eastNorthUpToFixedFrame(o),c=t.unprojectPosition(t.cameraPosition),u=V.WGS84.cartographicToCartesian(c,new w),l=new w(a.transformAsVector(new w(r).scale(i))).normalize(),f=new w(a.transformAsVector(new w(n).scale(i))).normalize();EB(t);let h=t.constructor,{longitude:d,latitude:p,width:g,bearing:m,zoom:A}=t,v=new h({longitude:d,latitude:p,height:s,width:g,bearing:m,zoom:A,pitch:0});return{camera:{position:u,direction:l,up:f},viewport:t,topDownViewport:v,height:s,cullingVolume:Pl,frameNumber:e,sseDenominator:1.15}}function f0(t,e,r){if(r===0||t.length<=r)return[t,[]];let n=[],{longitude:s,latitude:i}=e.viewport;for(let[u,l]of t.entries()){let[f,h]=l.header.mbs,d=Math.abs(s-f),p=Math.abs(i-h),g=Math.sqrt(p*p+d*d);n.push([u,g])}let o=n.sort((u,l)=>u[1]-l[1]),a=[];for(let u=0;u<r;u++)a.push(t[o[u][0]]);let c=[];for(let u=r;u<o.length;u++)c.push(t[o[u][0]]);return[a,c]}function EB(t){let e=t.getFrustumPlanes(),r=u0(e.near,t.cameraPosition),n=Vo(t,r),s=Vo(t,t.cameraPosition,Ll),i=0;Pl.planes[i++].fromPointNormal(n,c0.copy(n).subtract(s));for(let o in e){if(o==="near")continue;let a=e[o],c=u0(a,r,Ll),u=Vo(t,c,Ll);Pl.planes[i++].fromPointNormal(u,c0.copy(n).subtract(u))}}function u0(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new w,n=t.normal.dot(e);return r.copy(t.normal).scale(t.distance-n).add(e),r}function Vo(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new w,n=t.unprojectPosition(e);return V.WGS84.cartographicToCartesian(n,r)}var wB=6378137,SB=6378137,Fl=6356752314245179e-9,mn=new w;function h0(t,e){if(t instanceof et){let{halfAxes:r}=t,n=BB(r);return Math.log2(Fl/(n+e[2]))}else if(t instanceof ke){let{radius:r}=t;return Math.log2(Fl/(r+e[2]))}else if(t.width&&t.height){let{width:r,height:n}=t,s=Math.log2(wB/r),i=Math.log2(SB/n);return(s+i)/2}return 1}function Nl(t,e,r){V.WGS84.cartographicToCartesian([t.xmax,t.ymax,t.zmax],mn);let n=Math.sqrt(Math.pow(mn[0]-r[0],2)+Math.pow(mn[1]-r[1],2)+Math.pow(mn[2]-r[2],2));return Math.log2(Fl/(n+e[2]))}function d0(t,e,r){let[n,s,i,o]=t;return Nl({xmin:n,xmax:i,ymin:s,ymax:o,zmin:0,zmax:0},e,r)}function BB(t){t.getColumn(0,mn);let e=t.getColumn(1),r=t.getColumn(2);return mn.add(e).add(r).len()}var I0=U(dn(),1);var Se={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},Me=function(t){return t[t.ADD=1]="ADD",t[t.REPLACE=2]="REPLACE",t}({}),_t=function(t){return t.EMPTY="empty",t.SCENEGRAPH="scenegraph",t.POINTCLOUD="pointcloud",t.MESH="mesh",t}({}),ve=function(t){return t.I3S="I3S",t.TILES3D="TILES3D",t}({}),Mr=function(t){return t.GEOMETRIC_ERROR="geometricError",t.MAX_SCREEN_THRESHOLD="maxScreenThreshold",t}({}),p0={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0};function _0(t){return t!=null}var xe=new w,zo=new w,CB=new w,MB=new w,Ir=new w,m0=new w,g0=new w,y0=new w;function jo(t,e,r){if(j(t,"3D Tile: boundingVolume must be defined"),t.box)return v0(t.box,e,r);if(t.region)return OB(t.region);if(t.sphere)return IB(t.sphere,e,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function A0(t,e){if(t.box)return RB(e);if(t.region){let[r,n,s,i,o,a]=t.region;return[[Ne(r),Ne(n),o],[Ne(s),Ne(i),a]]}if(t.sphere)return LB(e);throw new Error("Unkown boundingVolume type")}function v0(t,e,r){let n=new w(t[0],t[1],t[2]);e.transform(n,n);let s=[];if(t.length===10){let u=t.slice(3,6),l=new ht;l.fromArray(t,6);let f=new w([1,0,0]),h=new w([0,1,0]),d=new w([0,0,1]);f.transformByQuaternion(l),f.scale(u[0]),h.transformByQuaternion(l),h.scale(u[1]),d.transformByQuaternion(l),d.scale(u[2]),s=[...f.toArray(),...h.toArray(),...d.toArray()]}else s=[...t.slice(3,6),...t.slice(6,9),...t.slice(9,12)];let i=e.transformAsVector(s.slice(0,3)),o=e.transformAsVector(s.slice(3,6)),a=e.transformAsVector(s.slice(6,9)),c=new W([i[0],i[1],i[2],o[0],o[1],o[2],a[0],a[1],a[2]]);return _0(r)?(r.center=n,r.halfAxes=c,r):new et(n,c)}function IB(t,e,r){let n=new w(t[0],t[1],t[2]);e.transform(n,n);let s=e.getScale(zo),i=Math.max(Math.max(s[0],s[1]),s[2]),o=t[3]*i;return _0(r)?(r.center=n,r.radius=o,r):new ke(n,o)}function OB(t){let[e,r,n,s,i,o]=t,a=V.WGS84.cartographicToCartesian([Ne(e),Ne(s),i],CB),c=V.WGS84.cartographicToCartesian([Ne(n),Ne(r),o],MB),u=new w().addVectors(a,c).multiplyByScalar(.5);return V.WGS84.cartesianToCartographic(u,Ir),V.WGS84.cartographicToCartesian([Ne(n),Ir[1],Ir[2]],m0),V.WGS84.cartographicToCartesian([Ir[0],Ne(s),Ir[2]],g0),V.WGS84.cartographicToCartesian([Ir[0],Ir[1],o],y0),v0([...u,...m0.subtract(u),...g0.subtract(u),...y0.subtract(u)],new k)}function RB(t){let e=x0(),{halfAxes:r}=t,n=new w(r.getColumn(0)),s=new w(r.getColumn(1)),i=new w(r.getColumn(2));for(let o=0;o<2;o++){for(let a=0;a<2;a++){for(let c=0;c<2;c++)xe.copy(t.center),xe.add(n),xe.add(s),xe.add(i),b0(e,xe),i.negate();s.negate()}n.negate()}return e}function LB(t){let e=x0(),{center:r,radius:n}=t,s=V.WGS84.scaleToGeodeticSurface(r,xe),i;s?i=V.WGS84.geodeticSurfaceNormal(s):i=new w(0,0,1);let o=new w(i[2],-i[1],0);o.len()>0?o.normalize():o=new w(0,1,0);let a=o.clone().cross(i);for(let c of[o,a,i]){zo.copy(c).scale(n);for(let u=0;u<2;u++)xe.copy(r),xe.add(zo),b0(e,xe),zo.negate()}return e}function x0(){return[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]]}function b0(t,e){V.WGS84.cartesianToCartographic(e,xe),t[0][0]=Math.min(t[0][0],xe[0]),t[0][1]=Math.min(t[0][1],xe[1]),t[0][2]=Math.min(t[0][2],xe[2]),t[1][0]=Math.max(t[1][0],xe[0]),t[1][1]=Math.max(t[1][1],xe[1]),t[1][2]=Math.max(t[1][2],xe[2])}var k8=new w,H8=new w,V8=new k,z8=new w,j8=new w,q8=new w;function PB(t,e){let r=t*e;return 1-Math.exp(-(r*r))}function FB(t,e){if(t.dynamicScreenSpaceError&&t.dynamicScreenSpaceErrorComputedDensity){let r=t.dynamicScreenSpaceErrorComputedDensity,n=t.dynamicScreenSpaceErrorFactor;return PB(e,r)*n}return 0}function T0(t,e,r){let n=t.tileset,s=t.parent&&t.parent.lodMetricValue||t.lodMetricValue,i=r?s:t.lodMetricValue;if(i===0)return 0;let o=Math.max(t._distanceToCamera,1e-7),{height:a,sseDenominator:c}=e,{viewDistanceScale:u}=n.options,l=i*a*(u||1)/(o*c);return l-=FB(n,o),l}var Dl=new w,E0=new w,or=new w,w0=new w,NB=new w,Ul=new k,S0=new k;function B0(t,e){if(t.lodMetricValue===0||isNaN(t.lodMetricValue))return"DIG";let r=2*Gl(t,e);return r<2?"OUT":!t.header.children||r<=t.lodMetricValue?"DRAW":t.header.children?"DIG":"OUT"}function Gl(t,e){let{topDownViewport:r}=e,n=t.header.mbs[1],s=t.header.mbs[0],i=t.header.mbs[2],o=t.header.mbs[3],a=[...t.boundingVolume.center],c=r.unprojectPosition(r.cameraPosition);V.WGS84.cartographicToCartesian(c,Dl),E0.copy(Dl).subtract(a).normalize(),V.WGS84.eastNorthUpToFixedFrame(a,Ul),S0.copy(Ul).invert(),or.copy(Dl).transform(S0);let u=Math.sqrt(or[0]*or[0]+or[1]*or[1]),l=u*u/or[2];w0.copy([or[0],or[1],l]);let h=w0.transform(Ul).subtract(a).normalize(),p=E0.cross(h).normalize().scale(o).add(a),g=V.WGS84.cartesianToCartographic(p),m=r.project([s,n,i]),A=r.project(g);return NB.copy(m).subtract(A).magnitude()}function C0(t){return{assetGltfUpAxis:t.asset&&t.asset.gltfUpAxis||"Y"}}var bs=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this._map=new Map,this._array=void 0,this._length=void 0,this._array=new Array(e),this._length=e}get length(){return this._length}set length(e){this._length=e,e>this._array.length&&(this._array.length=e)}get values(){return this._array}get(e){return j(e<this._array.length),this._array[e]}set(e,r){j(e>=0),e>=this.length&&(this.length=e+1),this._map.has(this._array[e])&&this._map.delete(this._array[e]),this._array[e]=r,this._map.set(r,e)}delete(e){let r=this._map.get(e);r>=0&&(this._array.splice(r,1),this._map.delete(e),this.length--)}peek(){return this._array[this._length-1]}push(e){if(!this._map.has(e)){let r=this.length++;this._array[r]=e,this._map.set(e,r)}}pop(){let e=this._array[--this.length];return this._map.delete(e),e}reserve(e){j(e>=0),e>this._array.length&&(this._array.length=e)}resize(e){j(e>=0),this.length=e}trim(e){e==null&&(e=this.length),this._array.length=e}reset(){this._array=[],this._map=new Map,this._length=0}find(e){return this._map.has(e)}};var DB={loadSiblings:!1,skipLevelOfDetail:!1,maximumScreenSpaceError:2,updateTransforms:!0,onTraversalEnd:()=>{},viewportTraversersMap:{},basePath:""},At=class{traversalFinished(e){return!0}constructor(e){this.options=void 0,this.root=null,this.selectedTiles={},this.requestedTiles={},this.emptyTiles={},this.lastUpdate=new Date().getTime(),this.updateDebounceTime=1e3,this._traversalStack=new bs,this._emptyTraversalStack=new bs,this._frameNumber=null,this.options={...DB,...e}}traverse(e,r,n){this.root=e,this.options={...this.options,...n},this.reset(),this.updateTile(e,r),this._frameNumber=r.frameNumber,this.executeTraversal(e,r)}reset(){this.requestedTiles={},this.selectedTiles={},this.emptyTiles={},this._traversalStack.reset(),this._emptyTraversalStack.reset()}executeTraversal(e,r){let n=this._traversalStack;for(e._selectionDepth=1,n.push(e);n.length>0;){let i=n.pop(),o=!1;this.canTraverse(i,r)&&(this.updateChildTiles(i,r),o=this.updateAndPushChildren(i,r,n,i.hasRenderContent?i._selectionDepth+1:i._selectionDepth));let a=i.parent,c=Boolean(!a||a._shouldRefine),u=!o;i.hasRenderContent?i.refine===Me.ADD?(this.loadTile(i,r),this.selectTile(i,r)):i.refine===Me.REPLACE&&(this.loadTile(i,r),u&&this.selectTile(i,r)):(this.emptyTiles[i.id]=i,this.loadTile(i,r),u&&this.selectTile(i,r)),this.touchTile(i,r),i._shouldRefine=o&&c}let s=new Date().getTime();(this.traversalFinished(r)||s-this.lastUpdate>this.updateDebounceTime)&&(this.lastUpdate=s,this.options.onTraversalEnd(r))}updateChildTiles(e,r){let n=e.children;for(let s of n)this.updateTile(s,r)}updateAndPushChildren(e,r,n,s){let{loadSiblings:i,skipLevelOfDetail:o}=this.options,a=e.children;a.sort(this.compareDistanceToCamera.bind(this));let c=e.refine===Me.REPLACE&&e.hasRenderContent&&!o,u=!1,l=!0;for(let f of a)if(f._selectionDepth=s,f.isVisibleAndInRequestVolume?(n.find(f)&&n.delete(f),n.push(f),u=!0):(c||i)&&(this.loadTile(f,r),this.touchTile(f,r)),c){let h;if(f._inRequestVolume?f.hasRenderContent?h=f.contentAvailable:h=this.executeEmptyTraversal(f,r):h=!1,l=l&&h,!l)return!1}return u||(l=!1),l}updateTile(e,r){this.updateTileVisibility(e,r)}selectTile(e,r){this.shouldSelectTile(e)&&(e._selectedFrame=r.frameNumber,this.selectedTiles[e.id]=e)}loadTile(e,r){this.shouldLoadTile(e)&&(e._requestedFrame=r.frameNumber,e._priority=e._getPriority(),this.requestedTiles[e.id]=e)}touchTile(e,r){e.tileset._cache.touch(e),e._touchedFrame=r.frameNumber}canTraverse(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return e.hasChildren?e.hasTilesetContent?!e.contentExpired:!s&&!e.isVisibleAndInRequestVolume?!1:this.shouldRefine(e,r,n):!1}shouldLoadTile(e){return e.hasUnloadedContent||e.contentExpired}shouldSelectTile(e){return e.contentAvailable&&!this.options.skipLevelOfDetail}shouldRefine(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=e._screenSpaceError;return n&&(s=e.getScreenSpaceError(r,!0)),s>this.options.maximumScreenSpaceError}updateTileVisibility(e,r){let n=[];if(this.options.viewportTraversersMap)for(let s in this.options.viewportTraversersMap)this.options.viewportTraversersMap[s]===r.viewport.id&&n.push(s);else n.push(r.viewport.id);e.updateVisibility(r,n)}compareDistanceToCamera(e,r){return e._distanceToCamera-r._distanceToCamera}anyChildrenVisible(e,r){let n=!1;for(let s of e.children)s.updateVisibility(r),n=n||s.isVisibleAndInRequestVolume;return n}executeEmptyTraversal(e,r){let n=!0,s=this._emptyTraversalStack;for(s.push(e);s.length>0;){let i=s.pop(),o=!i.hasRenderContent&&this.canTraverse(i,r,!1,!1),a=!i.hasRenderContent&&i.children.length===0;if(!o&&!i.contentAvailable&&!a&&(n=!1),this.updateTile(i,r),i.isVisibleAndInRequestVolume||(this.loadTile(i,r),this.touchTile(i,r)),o){let c=i.children;for(let u of c)s.push(u)}}return n}};var M0=new w;function UB(t){return t!=null}var Or=class{constructor(e,r,n){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";this.tileset=void 0,this.header=void 0,this.id=void 0,this.url=void 0,this.parent=void 0,this.refine=void 0,this.type=void 0,this.contentUrl=void 0,this.lodMetricType="geometricError",this.lodMetricValue=0,this.boundingVolume=null,this.content=null,this.contentState=Se.UNLOADED,this.gpuMemoryUsageInBytes=0,this.children=[],this.depth=0,this.viewportIds=[],this.transform=new k,this.extensions=null,this.implicitTiling=null,this.userData={},this.computedTransform=void 0,this.hasEmptyContent=!1,this.hasTilesetContent=!1,this.traverser=new At({}),this._cacheNode=null,this._frameNumber=null,this._expireDate=null,this._expiredContent=null,this._boundingBox=void 0,this._distanceToCamera=0,this._screenSpaceError=0,this._visibilityPlaneMask=void 0,this._visible=void 0,this._contentBoundingVolume=void 0,this._viewerRequestVolume=void 0,this._initialTransform=new k,this._priority=0,this._selectedFrame=0,this._requestedFrame=0,this._selectionDepth=0,this._touchedFrame=0,this._centerZDepth=0,this._shouldRefine=!1,this._stackLength=0,this._visitedFrame=0,this._inRequestVolume=!1,this._lodJudge=null,this.header=r,this.tileset=e,this.id=s||r.id,this.url=r.url,this.parent=n,this.refine=this._getRefine(r.refine),this.type=r.type,this.contentUrl=r.contentUrl,this._initializeLodMetric(r),this._initializeTransforms(r),this._initializeBoundingVolumes(r),this._initializeContent(r),this._initializeRenderingState(r),Object.seal(this)}destroy(){this.header=null}isDestroyed(){return this.header===null}get selected(){return this._selectedFrame===this.tileset._frameNumber}get isVisible(){return this._visible}get isVisibleAndInRequestVolume(){return this._visible&&this._inRequestVolume}get hasRenderContent(){return!this.hasEmptyContent&&!this.hasTilesetContent}get hasChildren(){return this.children.length>0||this.header.children&&this.header.children.length>0}get contentReady(){return this.contentState===Se.READY||this.hasEmptyContent}get contentAvailable(){return Boolean(this.contentReady&&this.hasRenderContent||this._expiredContent&&!this.contentFailed)}get hasUnloadedContent(){return this.hasRenderContent&&this.contentUnloaded}get contentUnloaded(){return this.contentState===Se.UNLOADED}get contentExpired(){return this.contentState===Se.EXPIRED}get contentFailed(){return this.contentState===Se.FAILED}get distanceToCamera(){return this._distanceToCamera}get screenSpaceError(){return this._screenSpaceError}get boundingBox(){return this._boundingBox||(this._boundingBox=A0(this.header.boundingVolume,this.boundingVolume)),this._boundingBox}getScreenSpaceError(e,r){switch(this.tileset.type){case ve.I3S:return Gl(this,e);case ve.TILES3D:return T0(this,e,r);default:throw new Error("Unsupported tileset type")}}unselect(){this._selectedFrame=0}_getGpuMemoryUsageInBytes(){return this.content.gpuMemoryUsageInBytes||this.content.byteLength||0}_getPriority(){let e=this.tileset._traverser,{skipLevelOfDetail:r}=e.options,n=this.refine===Me.ADD||r;if(n&&!this.isVisible&&this._visible!==void 0||this.tileset._frameNumber-this._touchedFrame>=1||this.contentState===Se.UNLOADED)return-1;let s=this.parent,o=s&&(!n||this._screenSpaceError===0||s.hasTilesetContent)?s._screenSpaceError:this._screenSpaceError,a=e.root?e.root._screenSpaceError:0;return Math.max(a-o,0)}async loadContent(){if(this.hasEmptyContent)return!1;if(this.content)return!0;this.contentExpired&&(this._expireDate=null),this.contentState=Se.LOADING;let r=await this.tileset._requestScheduler.scheduleRequest(this.id,this._getPriority.bind(this));if(!r)return this.contentState=Se.UNLOADED,!1;try{let n=this.tileset.getTileUrl(this.contentUrl),s=this.tileset.loader,i={...this.tileset.loadOptions,[s.id]:{...this.tileset.loadOptions[s.id],isTileset:this.type==="json",...this._getLoaderSpecificOptions(s.id)}};return this.content=await(0,I0.load)(n,s,i),this.tileset.options.contentLoader&&await this.tileset.options.contentLoader(this),this._isTileset()&&this.tileset._initializeTileHeaders(this.content,this),this.contentState=Se.READY,this._onContentLoaded(),!0}catch(n){throw this.contentState=Se.FAILED,n}finally{r.done()}}unloadContent(){return this.content&&this.content.destroy&&this.content.destroy(),this.content=null,this.header.content&&this.header.content.destroy&&this.header.content.destroy(),this.header.content=null,this.contentState=Se.UNLOADED,!0}updateVisibility(e,r){if(this._frameNumber===e.frameNumber)return;let n=this.parent,s=n?n._visibilityPlaneMask:de.MASK_INDETERMINATE;if(this.tileset._traverser.options.updateTransforms){let i=n?n.computedTransform:this.tileset.modelMatrix;this._updateTransform(i)}this._distanceToCamera=this.distanceToTile(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._visibilityPlaneMask=this.visibility(e,s),this._visible=this._visibilityPlaneMask!==de.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._frameNumber=e.frameNumber,this.viewportIds=r}visibility(e,r){let{cullingVolume:n}=e,{boundingVolume:s}=this;return n.computeVisibilityWithPlaneMask(s,r)}contentVisibility(){return!0}distanceToTile(e){let r=this.boundingVolume;return Math.sqrt(Math.max(r.distanceSquaredTo(e.camera.position),0))}cameraSpaceZDepth(e){let{camera:r}=e,n=this.boundingVolume;return M0.subVectors(n.center,r.position),r.direction.dot(M0)}insideViewerRequestVolume(e){let r=this._viewerRequestVolume;return!r||r.distanceSquaredTo(e.camera.position)<=0}updateExpiration(){if(UB(this._expireDate)&&this.contentReady&&!this.hasEmptyContent){let e=Date.now();Date.lessThan(this._expireDate,e)&&(this.contentState=Se.EXPIRED,this._expiredContent=this.content)}}get extras(){return this.header.extras}_initializeLodMetric(e){"lodMetricType"in e?this.lodMetricType=e.lodMetricType:(this.lodMetricType=this.parent&&this.parent.lodMetricType||this.tileset.lodMetricType,console.warn("3D Tile: Required prop lodMetricType is undefined. Using parent lodMetricType")),"lodMetricValue"in e?this.lodMetricValue=e.lodMetricValue:(this.lodMetricValue=this.parent&&this.parent.lodMetricValue||this.tileset.lodMetricValue,console.warn("3D Tile: Required prop lodMetricValue is undefined. Using parent lodMetricValue"))}_initializeTransforms(e){this.transform=e.transform?new k(e.transform):new k;let r=this.parent,n=this.tileset,s=r&&r.computedTransform?r.computedTransform.clone():n.modelMatrix.clone();this.computedTransform=new k(s).multiplyRight(this.transform);let i=r&&r._initialTransform?r._initialTransform.clone():new k;this._initialTransform=new k(i).multiplyRight(this.transform)}_initializeBoundingVolumes(e){this._contentBoundingVolume=null,this._viewerRequestVolume=null,this._updateBoundingVolume(e)}_initializeContent(e){this.content={_tileset:this.tileset,_tile:this},this.hasEmptyContent=!0,this.contentState=Se.UNLOADED,this.hasTilesetContent=!1,e.contentUrl&&(this.content=null,this.hasEmptyContent=!1)}_initializeRenderingState(e){this.depth=e.level||(this.parent?this.parent.depth+1:0),this._shouldRefine=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._visibilityPlaneMask=de.MASK_INDETERMINATE,this._visible=void 0,this._inRequestVolume=!1,this._stackLength=0,this._selectionDepth=0,this._frameNumber=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._priority=0}_getRefine(e){return e||this.parent&&this.parent.refine||Me.REPLACE}_isTileset(){return this.contentUrl.indexOf(".json")!==-1}_onContentLoaded(){switch(this.content&&this.content.type){case"vctr":case"geom":this.tileset._traverser.disableSkipLevelOfDetail=!0;break;default:}this._isTileset()?this.hasTilesetContent=!0:this.gpuMemoryUsageInBytes=this._getGpuMemoryUsageInBytes()}_updateBoundingVolume(e){this.boundingVolume=jo(e.boundingVolume,this.computedTransform,this.boundingVolume);let r=e.content;r&&(r.boundingVolume&&(this._contentBoundingVolume=jo(r.boundingVolume,this.computedTransform,this._contentBoundingVolume)),e.viewerRequestVolume&&(this._viewerRequestVolume=jo(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)))}_updateTransform(){let r=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:new k).clone().multiplyRight(this.transform);r.equals(this.computedTransform)||(this.computedTransform=r,this._updateBoundingVolume(this.header))}_getLoaderSpecificOptions(e){switch(e){case"i3s":return{...this.tileset.options.i3s,_tileOptions:{attributeUrls:this.header.attributeUrls,textureUrl:this.header.textureUrl,textureFormat:this.header.textureFormat,textureLoaderOptions:this.header.textureLoaderOptions,materialDefinition:this.header.materialDefinition,isDracoGeometry:this.header.isDracoGeometry,mbs:this.header.mbs},_tilesetOptions:{store:this.tileset.tileset.store,attributeStorageInfo:this.tileset.tileset.attributeStorageInfo,fields:this.tileset.tileset.fields},isTileHeader:!1};case"3d-tiles":case"cesium-ion":default:return C0(this.tileset.tileset)}}};var qo=class extends At{compareDistanceToCamera(e,r){return r._distanceToCamera===0&&e._distanceToCamera===0?r._centerZDepth-e._centerZDepth:r._distanceToCamera-e._distanceToCamera}updateTileVisibility(e,r){if(super.updateTileVisibility(e,r),!e.isVisibleAndInRequestVolume)return;let n=e.children.length>0;if(e.hasTilesetContent&&n){let o=e.children[0];this.updateTileVisibility(o,r),e._visible=o._visible;return}if(this.meetsScreenSpaceErrorEarly(e,r)){e._visible=!1;return}let s=e.refine===Me.REPLACE,i=e._optimChildrenWithinParent===p0.USE_OPTIMIZATION;if(s&&i&&n&&!this.anyChildrenVisible(e,r)){e._visible=!1;return}}meetsScreenSpaceErrorEarly(e,r){let{parent:n}=e;return!n||n.hasTilesetContent||n.refine!==Me.ADD?!1:!this.shouldRefine(e,r,!0)}};var O0=U(dn(),1);var Jo=class{constructor(){this.frameNumberMap=new Map}register(e,r){let n=this.frameNumberMap.get(e)||new Map,s=n.get(r)||0;n.set(r,s+1),this.frameNumberMap.set(e,n)}deregister(e,r){let n=this.frameNumberMap.get(e);if(!n)return;let s=n.get(r)||1;n.set(r,s-1)}isZero(e,r){var n;return(((n=this.frameNumberMap.get(e))===null||n===void 0?void 0:n.get(r))||0)===0}};var kl={REQUESTED:"REQUESTED",COMPLETED:"COMPLETED",ERROR:"ERROR"},Wo=class{constructor(){this._statusMap=void 0,this.pendingTilesRegister=new Jo,this._statusMap={}}add(e,r,n,s){if(!this._statusMap[r]){let{frameNumber:i,viewport:{id:o}}=s;this._statusMap[r]={request:e,callback:n,key:r,frameState:s,status:kl.REQUESTED},this.pendingTilesRegister.register(o,i),e().then(a=>{this._statusMap[r].status=kl.COMPLETED;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),this._statusMap[r].callback(a,s)}).catch(a=>{this._statusMap[r].status=kl.ERROR;let{frameNumber:c,viewport:{id:u}}=this._statusMap[r].frameState;this.pendingTilesRegister.deregister(u,c),n(a)})}}update(e,r){if(this._statusMap[e]){let{frameNumber:n,viewport:{id:s}}=this._statusMap[e].frameState;this.pendingTilesRegister.deregister(s,n);let{frameNumber:i,viewport:{id:o}}=r;this.pendingTilesRegister.register(o,i),this._statusMap[e].frameState=r}}find(e){return this._statusMap[e]}hasPendingTiles(e,r){return!this.pendingTilesRegister.isZero(e,r)}};var Xo=class extends At{constructor(e){super(e),this._tileManager=void 0,this._tileManager=new Wo}traversalFinished(e){return!this._tileManager.hasPendingTiles(e.viewport.id,this._frameNumber||0)}shouldRefine(e,r){return e._lodJudge=B0(e,r),e._lodJudge==="DIG"}updateChildTiles(e,r){let n=e.header.children||[],s=e.children,i=e.tileset;for(let o of n){let a=`${o.id}-${r.viewport.id}`,c=s&&s.find(u=>u.id===a);if(c)c&&this.updateTile(c,r);else{let u=()=>this._loadTile(o.id,i);this._tileManager.find(a)?this._tileManager.update(a,r):(i.tileset.nodePages&&(u=()=>i.tileset.nodePagesTile.formTileFromNodePages(o.id)),this._tileManager.add(u,a,f=>this._onTileLoad(f,e,a),r))}}return!1}async _loadTile(e,r){let{loader:n}=r,s=r.getTileUrl(`${r.url}/nodes/${e}`),i={...r.loadOptions,i3s:{...r.loadOptions.i3s,isTileHeader:!0}};return await(0,O0.load)(s,n,i)}_onTileLoad(e,r,n){let s=new Or(r.tileset,e,r,n);r.children.push(s);let i=this._tileManager.find(s.id).frameState;this.updateTile(s,i),this._frameNumber===i.frameNumber&&(this.traversalFinished(i)||new Date().getTime()-this.lastUpdate>this.updateDebounceTime)&&this.executeTraversal(s,i)}};var GB={description:"",ellipsoid:V.WGS84,modelMatrix:new k,throttleRequests:!0,maxRequests:64,maximumMemoryUsage:32,maximumTilesSelected:0,debounceTime:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{},onTraversalComplete:t=>t,contentLoader:void 0,viewDistanceScale:1,maximumScreenSpaceError:8,loadTiles:!0,updateTransforms:!0,viewportTraversersMap:null,loadOptions:{fetch:{}},attributions:[],basePath:"",i3s:{}},Ko="Tiles In Tileset(s)",Hl="Tiles In Memory",R0="Tiles In View",L0="Tiles To Render",P0="Tiles Loaded",Vl="Tiles Loading",F0="Tiles Unloaded",N0="Failed Tile Loads",D0="Points/Vertices",zl="Tile Memory Use",Ts=class{constructor(e,r){this.options=void 0,this.loadOptions=void 0,this.type=void 0,this.tileset=void 0,this.loader=void 0,this.url=void 0,this.basePath=void 0,this.modelMatrix=void 0,this.ellipsoid=void 0,this.lodMetricType=void 0,this.lodMetricValue=void 0,this.refine=void 0,this.root=null,this.roots={},this.asset={},this.description="",this.properties=void 0,this.extras=null,this.attributions={},this.credits={},this.stats=void 0,this.contentFormats={draco:!1,meshopt:!1,dds:!1,ktx2:!1},this.cartographicCenter=null,this.cartesianCenter=null,this.zoom=1,this.boundingVolume=null,this.dynamicScreenSpaceErrorComputedDensity=0,this.maximumMemoryUsage=32,this.gpuMemoryUsageInBytes=0,this._frameNumber=0,this._queryParams={},this._extensionsUsed=[],this._tiles={},this._pendingCount=0,this.selectedTiles=[],this.traverseCounter=0,this.geometricError=0,this.lastUpdatedVieports=null,this._requestedTiles=[],this._emptyTiles=[],this.frameStateData={},this._traverser=void 0,this._cache=new Ho,this._requestScheduler=void 0,this.updatePromise=null,this.tilesetInitializationPromise=void 0,this.options={...GB,...r},this.tileset=e,this.loader=e.loader,this.type=e.type,this.url=e.url,this.basePath=e.basePath||Vt.dirname(this.url),this.modelMatrix=this.options.modelMatrix,this.ellipsoid=this.options.ellipsoid,this.lodMetricType=e.lodMetricType,this.lodMetricValue=e.lodMetricValue,this.refine=e.root.refine,this.loadOptions=this.options.loadOptions||{},this._traverser=this._initializeTraverser(),this._requestScheduler=new Ht({throttleRequests:this.options.throttleRequests,maxRequests:this.options.maxRequests}),this.stats=new kt({id:this.url}),this._initializeStats(),this.tilesetInitializationPromise=this._initializeTileSet(e)}destroy(){this._destroy()}isLoaded(){return this._pendingCount===0&&this._frameNumber!==0&&this._requestedTiles.length===0}get tiles(){return Object.values(this._tiles)}get frameNumber(){return this._frameNumber}get queryParams(){return new URLSearchParams(this._queryParams).toString()}setProps(e){this.options={...this.options,...e}}getTileUrl(e){if(e.startsWith("data:"))return e;let n=e;return this.queryParams.length&&(n=`${e}${e.includes("?")?"&":"?"}${this.queryParams}`),n}hasExtension(e){return Boolean(this._extensionsUsed.indexOf(e)>-1)}update(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;this.tilesetInitializationPromise.then(()=>{!e&&this.lastUpdatedVieports?e=this.lastUpdatedVieports:this.lastUpdatedVieports=e,e&&this.doUpdate(e)})}async selectTiles(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return await this.tilesetInitializationPromise,e&&(this.lastUpdatedVieports=e),this.updatePromise||(this.updatePromise=new Promise(r=>{setTimeout(()=>{this.lastUpdatedVieports&&this.doUpdate(this.lastUpdatedVieports),r(this._frameNumber),this.updatePromise=null},this.options.debounceTime)})),this.updatePromise}doUpdate(e){if("loadTiles"in this.options&&!this.options.loadTiles||this.traverseCounter>0)return;let r=e instanceof Array?e:[e];this._cache.reset(),this._frameNumber++,this.traverseCounter=r.length;let n=[];for(let s of r){let i=s.id;this._needTraverse(i)?n.push(i):this.traverseCounter--}for(let s of r){let i=s.id;if(this.roots[i]||(this.roots[i]=this._initializeTileHeaders(this.tileset,null)),!n.includes(i))continue;let o=l0(s,this._frameNumber);this._traverser.traverse(this.roots[i],o,this.options)}}_needTraverse(e){let r=e;return this.options.viewportTraversersMap&&(r=this.options.viewportTraversersMap[e]),r===e}_onTraversalEnd(e){let r=e.viewport.id;this.frameStateData[r]||(this.frameStateData[r]={selectedTiles:[],_requestedTiles:[],_emptyTiles:[]});let n=this.frameStateData[r],s=Object.values(this._traverser.selectedTiles),[i,o]=f0(s,e,this.options.maximumTilesSelected);n.selectedTiles=i;for(let a of o)a.unselect();n._requestedTiles=Object.values(this._traverser.requestedTiles),n._emptyTiles=Object.values(this._traverser.emptyTiles),this.traverseCounter--,!(this.traverseCounter>0)&&this._updateTiles()}_updateTiles(){this.selectedTiles=[],this._requestedTiles=[],this._emptyTiles=[];for(let e in this.frameStateData){let r=this.frameStateData[e];this.selectedTiles=this.selectedTiles.concat(r.selectedTiles),this._requestedTiles=this._requestedTiles.concat(r._requestedTiles),this._emptyTiles=this._emptyTiles.concat(r._emptyTiles)}this.selectedTiles=this.options.onTraversalComplete(this.selectedTiles);for(let e of this.selectedTiles)this._tiles[e.id]=e;this._loadTiles(),this._unloadTiles(),this._updateStats()}_tilesChanged(e,r){if(e.length!==r.length)return!0;let n=new Set(e.map(o=>o.id)),s=new Set(r.map(o=>o.id)),i=e.filter(o=>!s.has(o.id)).length>0;return i=i||r.filter(o=>!n.has(o.id)).length>0,i}_loadTiles(){for(let e of this._requestedTiles)e.contentUnloaded&&this._loadTile(e)}_unloadTiles(){this._cache.unloadTiles(this,(e,r)=>e._unloadTile(r))}_updateStats(){let e=0,r=0;for(let n of this.selectedTiles)n.contentAvailable&&n.content&&(e++,n.content.pointCount?r+=n.content.pointCount:r+=n.content.vertexCount);this.stats.get(R0).count=this.selectedTiles.length,this.stats.get(L0).count=e,this.stats.get(D0).count=r}async _initializeTileSet(e){this.type===ve.I3S&&(this.calculateViewPropsI3S(),e.root=await e.root),this.root=this._initializeTileHeaders(e,null),this.type===ve.TILES3D&&(this._initializeTiles3DTileset(e),this.calculateViewPropsTiles3D()),this.type===ve.I3S&&this._initializeI3STileset()}calculateViewPropsI3S(){var e;let r=this.tileset.fullExtent;if(r){let{xmin:s,xmax:i,ymin:o,ymax:a,zmin:c,zmax:u}=r;this.cartographicCenter=new w(s+(i-s)/2,o+(a-o)/2,c+(u-c)/2),this.cartesianCenter=new w,V.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=Nl(r,this.cartographicCenter,this.cartesianCenter);return}let n=(e=this.tileset.store)===null||e===void 0?void 0:e.extent;if(n){let[s,i,o,a]=n;this.cartographicCenter=new w(s+(o-s)/2,i+(a-i)/2,0),this.cartesianCenter=new w,V.WGS84.cartographicToCartesian(this.cartographicCenter,this.cartesianCenter),this.zoom=d0(n,this.cartographicCenter,this.cartesianCenter);return}console.warn("Extent is not defined in the tileset header"),this.cartographicCenter=new w,this.zoom=1}calculateViewPropsTiles3D(){let e=this.root,{center:r}=e.boundingVolume;if(!r){console.warn("center was not pre-calculated for the root tile"),this.cartographicCenter=new w,this.zoom=1;return}r[0]!==0||r[1]!==0||r[2]!==0?(this.cartographicCenter=new w,V.WGS84.cartesianToCartographic(r,this.cartographicCenter)):this.cartographicCenter=new w(0,0,-V.WGS84.radii[0]),this.cartesianCenter=r,this.zoom=h0(e.boundingVolume,this.cartographicCenter)}_initializeStats(){this.stats.get(Ko),this.stats.get(Vl),this.stats.get(Hl),this.stats.get(R0),this.stats.get(L0),this.stats.get(P0),this.stats.get(F0),this.stats.get(N0),this.stats.get(D0),this.stats.get(zl,"memory")}_initializeTileHeaders(e,r){let n=new Or(this,e.root,r);if(r&&(r.children.push(n),n.depth=r.depth+1),this.type===ve.TILES3D){let i=[];for(i.push(n);i.length>0;){let o=i.pop();this.stats.get(Ko).incrementCount();let a=o.header.children||[];for(let c of a){var s;let u=new Or(this,c,o);if((s=u.contentUrl)!==null&&s!==void 0&&s.includes("?session=")){let f=new URL(u.contentUrl).searchParams.get("session");f&&(this._queryParams.session=f)}o.children.push(u),u.depth=o.depth+1,i.push(u)}}}return n}_initializeTraverser(){let e;switch(this.type){case ve.TILES3D:e=qo;break;case ve.I3S:e=Xo;break;default:e=At}return new e({basePath:this.basePath,onTraversalEnd:this._onTraversalEnd.bind(this)})}_destroyTileHeaders(e){this._destroySubtree(e)}async _loadTile(e){let r;try{this._onStartTileLoading(),r=await e.loadContent()}catch(n){this._onTileLoadError(e,n instanceof Error?n:new Error("load failed"))}finally{this._onEndTileLoading(),this._onTileLoad(e,r)}}_onTileLoadError(e,r){this.stats.get(N0).incrementCount();let n=r.message||r.toString(),s=e.url;console.error(`A 3D tile failed to load: ${e.url} ${n}`),this.options.onTileError(e,n,s)}_onTileLoad(e,r){if(r){if(this.type===ve.I3S){var n,s;let i=((n=this.tileset)===null||n===void 0||(s=n.nodePagesTile)===null||s===void 0?void 0:s.nodesInNodePages)||0;this.stats.get(Ko).reset(),this.stats.get(Ko).addCount(i)}e&&e.content&&a0(e,e.content),this.updateContentTypes(e),this._addTileToCache(e),this.options.onTileLoad(e)}}updateContentTypes(e){if(this.type===ve.I3S)switch(e.header.isDracoGeometry&&(this.contentFormats.draco=!0),e.header.textureFormat){case"dds":this.contentFormats.dds=!0;break;case"ktx2":this.contentFormats.ktx2=!0;break;default:}else if(this.type===ve.TILES3D){var r;let{extensionsRemoved:n=[]}=((r=e.content)===null||r===void 0?void 0:r.gltf)||{};n.includes("KHR_draco_mesh_compression")&&(this.contentFormats.draco=!0),n.includes("EXT_meshopt_compression")&&(this.contentFormats.meshopt=!0),n.includes("KHR_texture_basisu")&&(this.contentFormats.ktx2=!0)}}_onStartTileLoading(){this._pendingCount++,this.stats.get(Vl).incrementCount()}_onEndTileLoading(){this._pendingCount--,this.stats.get(Vl).decrementCount()}_addTileToCache(e){this._cache.add(this,e,r=>r._updateCacheStats(e))}_updateCacheStats(e){this.stats.get(P0).incrementCount(),this.stats.get(Hl).incrementCount(),this.gpuMemoryUsageInBytes+=e.gpuMemoryUsageInBytes||0,this.stats.get(zl).count=this.gpuMemoryUsageInBytes}_unloadTile(e){this.gpuMemoryUsageInBytes-=e.gpuMemoryUsageInBytes||0,this.stats.get(Hl).decrementCount(),this.stats.get(F0).incrementCount(),this.stats.get(zl).count=this.gpuMemoryUsageInBytes,this.options.onTileUnload(e),e.unloadContent()}_destroy(){let e=[];for(this.root&&e.push(this.root);e.length>0;){let r=e.pop();for(let n of r.children)e.push(n);this._destroyTile(r)}this.root=null}_destroySubtree(e){let r=e,n=[];for(n.push(r);n.length>0;){e=n.pop();for(let s of e.children)n.push(s);e!==r&&this._destroyTile(e)}r.children=[]}_destroyTile(e){this._cache.unloadTile(this,e),this._unloadTile(e),e.destroy()}_initializeTiles3DTileset(e){if(e.queryString){let r=new URLSearchParams(e.queryString),n=Object.fromEntries(r.entries());this._queryParams={...this._queryParams,...n}}if(this.asset=e.asset,!this.asset)throw new Error("Tileset must have an asset property.");if(this.asset.version!=="0.0"&&this.asset.version!=="1.0"&&this.asset.version!=="1.1")throw new Error("The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.");"tilesetVersion"in this.asset&&(this._queryParams.v=this.asset.tilesetVersion),this.credits={attributions:this.options.attributions||[]},this.description=this.options.description||"",this.properties=e.properties,this.geometricError=e.geometricError,this._extensionsUsed=e.extensionsUsed||[],this.extras=e.extras}_initializeI3STileset(){this.loadOptions.i3s&&"token"in this.loadOptions.i3s&&(this._queryParams.token=this.loadOptions.i3s.token)}};var Yo="4.1.0-alpha.9";var Rr={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},k9=Object.keys(Rr);function jl(t,e,r){j(t instanceof ArrayBuffer);let n=new TextDecoder("utf8"),s=new Uint8Array(t,e,r);return n.decode(s)}function U0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=new DataView(t);return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}var G0="4.1.0-alpha.9";var k0={name:"Draco",id:"draco",module:"draco",version:G0,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 H0(t){switch(t.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 Lr(t){let e=1/0,r=1/0,n=1/0,s=-1/0,i=-1/0,o=-1/0,a=t.POSITION?t.POSITION.value:[],c=a&&a.length;for(let u=0;u<c;u+=3){let l=a[u],f=a[u+1],h=a[u+2];e=l<e?l:e,r=f<r?f:r,n=h<n?h:n,s=l>s?l:s,i=f>i?f:i,o=h>o?h:o}return[[e,r,n],[s,i,o]]}function ql(t,e,r){let n=H0(e.value),s=r||V0(e);return{name:t,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]},nullable:!1,metadata:s}}function V0(t){let e={};return"byteOffset"in t&&(e.byteOffset=t.byteOffset.toString(10)),"byteStride"in t&&(e.byteStride=t.byteStride.toString(10)),"normalized"in t&&(e.normalized=t.normalized.toString()),e}function j0(t,e,r){let n=q0(e.metadata),s=[],i=kB(e.attributes);for(let o in t){let a=t[o],c=z0(o,a,i[o]);s.push(c)}if(r){let o=z0("indices",r);s.push(o)}return{fields:s,metadata:n}}function kB(t){let e={};for(let r in t){let n=t[r];e[n.name||"undefined"]=n}return e}function z0(t,e,r){let n=r?q0(r.metadata):void 0;return ql(t,e,n)}function q0(t){Object.entries(t);let e={};for(let r in t)e[`${r}.string`]=JSON.stringify(t[r]);return e}var J0={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},HB={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},VB=4,Es=class{constructor(e){this.draco=void 0,this.decoder=void 0,this.metadataQuerier=void 0,this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(r);let s=this.decoder.GetEncodedGeometryType(n),i=s===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(s){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!i.ptr){let h=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(h)}let a=this._getDracoLoaderData(i,s,r),c=this._getMeshData(i,a,r),u=Lr(c.attributes),l=j0(c.attributes,a,c.indices);return{loader:"draco",loaderData:a,header:{vertexCount:i.num_points(),boundingBox:u},...c,schema:l}}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}_getDracoLoaderData(e,r,n){let s=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:r,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:s,attributes:i}}_getDracoAttributes(e,r){let n={};for(let s=0;s<e.num_attributes();s++){let i=this.decoder.GetAttribute(e,s),o=this._getAttributeMetadata(e,s);n[i.unique_id()]={unique_id:i.unique_id(),attribute_type:i.attribute_type(),data_type:i.data_type(),num_components:i.num_components(),byte_offset:i.byte_offset(),byte_stride:i.byte_stride(),normalized:i.normalized(),attribute_index:s,metadata:o};let a=this._getQuantizationTransform(i,r);a&&(n[i.unique_id()].quantization_transform=a);let c=this._getOctahedronTransform(i,r);c&&(n[i.unique_id()].octahedron_transform=c)}return n}_getMeshData(e,r,n){let s=this._getMeshAttributes(r,e,n);if(!s.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:s,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:s,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:s}}_getMeshAttributes(e,r,n){let s={};for(let i of Object.values(e.attributes)){let o=this._deduceAttributeName(i,n);i.name=o;let{value:a,size:c}=this._getAttributeValues(r,i);s[o]={value:a,size:c,byteOffset:i.byte_offset,byteStride:i.byte_stride,normalized:i.normalized}}return s}_getTriangleListIndices(e){let n=e.num_faces()*3,s=n*VB,i=this.draco._malloc(s);try{return this.decoder.GetTrianglesUInt32Array(e,s,i),new Uint32Array(this.draco.HEAPF32.buffer,i,n).slice()}finally{this.draco._free(i)}}_getTriangleStripIndices(e){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,r),qB(r)}finally{this.draco.destroy(r)}}_getAttributeValues(e,r){let n=HB[r.data_type],s=r.num_components,o=e.num_points()*s,a=o*n.BYTES_PER_ELEMENT,c=zB(this.draco,n),u,l=this.draco._malloc(a);try{let f=this.decoder.GetAttribute(e,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,f,c,a,l),u=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:u,size:s}}_deduceAttributeName(e,r){let n=e.unique_id;for(let[o,a]of Object.entries(r.extraAttributes||{}))if(a===n)return o;let s=e.attribute_type;for(let o in J0)if(this.draco[o]===s)return J0[o];let i=r.attributeNameEntry||"name";return e.metadata[i]?e.metadata[i].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){let r=this.decoder.GetMetadata(e);return this._getDracoMetadata(r)}_getAttributeMetadata(e,r){let n=this.decoder.GetAttributeMetadata(e,r);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(e);for(let s=0;s<n;s++){let i=this.metadataQuerier.GetEntryName(e,s);r[i]=this._getDracoMetadataField(e,i)}return r}_getDracoMetadataField(e,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,r,n);let s=jB(n);return{int:this.metadataQuerier.GetIntEntry(e,r),string:this.metadataQuerier.GetStringEntry(e,r),double:this.metadataQuerier.GetDoubleEntry(e,r),intArray:s}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=e,s=[...r,...n];for(let i of s)this.decoder.SkipAttributeTransform(this.draco[i])}_getQuantizationTransform(e,r){let{quantizedAttributes:n=[]}=r,s=e.attribute_type();if(n.map(o=>this.decoder[o]).includes(s)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,r){let{octahedronAttributes:n=[]}=r,s=e.attribute_type();if(n.map(o=>this.decoder[o]).includes(s)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function zB(t,e){switch(e){case Float32Array:return t.DT_FLOAT32;case Int8Array:return t.DT_INT8;case Int16Array:return t.DT_INT16;case Int32Array:return t.DT_INT32;case Uint8Array:return t.DT_UINT8;case Uint16Array:return t.DT_UINT16;case Uint32Array:return t.DT_UINT32;default:return t.DT_INVALID}}function jB(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}function qB(t){let e=t.size(),r=new Int32Array(e);for(let n=0;n<e;n++)r[n]=t.GetValue(n);return r}var JB="1.5.6",WB="1.4.1",Jl=`https://www.gstatic.com/draco/versioned/decoders/${JB}`,Ie={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Wl={[Ie.DECODER]:`${Jl}/${Ie.DECODER}`,[Ie.DECODER_WASM]:`${Jl}/${Ie.DECODER_WASM}`,[Ie.FALLBACK_DECODER]:`${Jl}/${Ie.FALLBACK_DECODER}`,[Ie.ENCODER]:`https://raw.githubusercontent.com/google/draco/${WB}/javascript/${Ie.ENCODER}`},ws;async function W0(t){let e=t.modules||{};return e.draco3d?ws=ws||e.draco3d.createDecoderModule({}).then(r=>({draco:r})):ws=ws||XB(t),await ws}async function XB(t){let e,r;switch(t.draco&&t.draco.decoderType){case"js":e=await lt(Wl[Ie.FALLBACK_DECODER],"draco",t,Ie.FALLBACK_DECODER);break;case"wasm":default:[e,r]=await Promise.all([await lt(Wl[Ie.DECODER],"draco",t,Ie.DECODER),await lt(Wl[Ie.DECODER_WASM],"draco",t,Ie.DECODER_WASM)])}return e=e||globalThis.DracoDecoderModule,await KB(e,r)}function KB(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(n=>{t({...r,onModuleLoaded:s=>n({draco:s})})})}var Zo={...k0,parse:YB};async function YB(t,e){let{draco:r}=await W0(e),n=new Es(r);try{return n.parseSync(t,e?.draco)}finally{n.destroy()}}var ZB={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},fe={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},H={...ZB,...fe};var Xl={[fe.DOUBLE]:Float64Array,[fe.FLOAT]:Float32Array,[fe.UNSIGNED_SHORT]:Uint16Array,[fe.UNSIGNED_INT]:Uint32Array,[fe.UNSIGNED_BYTE]:Uint8Array,[fe.BYTE]:Int8Array,[fe.SHORT]:Int16Array,[fe.INT]:Int32Array},QB={DOUBLE:fe.DOUBLE,FLOAT:fe.FLOAT,UNSIGNED_SHORT:fe.UNSIGNED_SHORT,UNSIGNED_INT:fe.UNSIGNED_INT,UNSIGNED_BYTE:fe.UNSIGNED_BYTE,BYTE:fe.BYTE,SHORT:fe.SHORT,INT:fe.INT},Kl="Failed to convert GL type",be=class{static fromTypedArray(e){e=ArrayBuffer.isView(e)?e.constructor:e;for(let r in Xl)if(Xl[r]===e)return r;throw new Error(Kl)}static fromName(e){let r=QB[e];if(!r)throw new Error(Kl);return r}static getArrayType(e){switch(e){case fe.UNSIGNED_SHORT_5_6_5:case fe.UNSIGNED_SHORT_4_4_4_4:case fe.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Xl[e];if(!r)throw new Error(Kl);return r}}static getByteSize(e){return be.getArrayType(e).BYTES_PER_ELEMENT}static validate(e){return Boolean(be.getArrayType(e))}static createTypedArray(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0;s===void 0&&(s=(r.byteLength-n)/be.getByteSize(e));let i=be.getArrayType(e);return new i(r,n,s)}};function X0(t,e){if(!t)throw new Error(`math.gl assertion failed. ${e}`)}function Yl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0],r=t>>11&31,n=t>>5&63,s=t&31;return e[0]=r<<3,e[1]=n<<2,e[2]=s<<3,e}var vH=1/256;var xH=new vr,bH=new w,TH=new vr,EH=new vr,wH=new Uint8Array(1);function K0(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:255;return oi(t,0,e)/e*2-1}function Y0(t){return t<0?-1:1}function Z0(t,e,r,n){if(X0(n),t<0||t>r||e<0||e>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=K0(t,r),n.y=K0(e,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let s=n.x;n.x=(1-Math.abs(n.y))*Y0(s),n.y=(1-Math.abs(s))*Y0(n.y)}return n.normalize()}function Zl(t,e,r){return Z0(t,e,255,r)}var Pt=class{constructor(e,r){this.json=void 0,this.buffer=void 0,this.featuresLength=0,this._cachedTypedArrays={},this.json=e,this.buffer=r}getExtension(e){return this.json.extensions&&this.json.extensions[e]}hasProperty(e){return Boolean(this.json[e])}getGlobalProperty(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:H.UNSIGNED_INT,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=this.json[e];return s&&Number.isFinite(s.byteOffset)?this._getTypedArrayFromBinary(e,r,n,1,s.byteOffset):s}getPropertyArray(e,r,n){let s=this.json[e];return s&&Number.isFinite(s.byteOffset)?("componentType"in s&&(r=be.fromName(s.componentType)),this._getTypedArrayFromBinary(e,r,n,this.featuresLength,s.byteOffset)):this._getTypedArrayFromArray(e,r,s)}getProperty(e,r,n,s,i){let o=this.json[e];if(!o)return o;let a=this.getPropertyArray(e,r,n);if(n===1)return a[s];for(let c=0;c<n;++c)i[c]=a[n*s+c];return i}_getTypedArrayFromBinary(e,r,n,s,i){let o=this._cachedTypedArrays,a=o[e];return a||(a=be.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+i,s*n),o[e]=a),a}_getTypedArrayFromArray(e,r,n){let s=this._cachedTypedArrays,i=s[e];return i||(i=be.createTypedArray(r,n),s[e]=i),i}};var $B={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},eC={SCALAR:(t,e)=>t[e],VEC2:(t,e)=>[t[2*e+0],t[2*e+1]],VEC3:(t,e)=>[t[3*e+0],t[3*e+1],t[3*e+2]],VEC4:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT2:(t,e)=>[t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]],MAT3:(t,e)=>[t[9*e+0],t[9*e+1],t[9*e+2],t[9*e+3],t[9*e+4],t[9*e+5],t[9*e+6],t[9*e+7],t[9*e+8]],MAT4:(t,e)=>[t[16*e+0],t[16*e+1],t[16*e+2],t[16*e+3],t[16*e+4],t[16*e+5],t[16*e+6],t[16*e+7],t[16*e+8],t[16*e+9],t[16*e+10],t[16*e+11],t[16*e+12],t[16*e+13],t[16*e+14],t[16*e+15]]},tC={SCALAR:(t,e,r)=>{e[r]=t},VEC2:(t,e,r)=>{e[2*r+0]=t[0],e[2*r+1]=t[1]},VEC3:(t,e,r)=>{e[3*r+0]=t[0],e[3*r+1]=t[1],e[3*r+2]=t[2]},VEC4:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT2:(t,e,r)=>{e[4*r+0]=t[0],e[4*r+1]=t[1],e[4*r+2]=t[2],e[4*r+3]=t[3]},MAT3:(t,e,r)=>{e[9*r+0]=t[0],e[9*r+1]=t[1],e[9*r+2]=t[2],e[9*r+3]=t[3],e[9*r+4]=t[4],e[9*r+5]=t[5],e[9*r+6]=t[6],e[9*r+7]=t[7],e[9*r+8]=t[8],e[9*r+9]=t[9]},MAT4:(t,e,r)=>{e[16*r+0]=t[0],e[16*r+1]=t[1],e[16*r+2]=t[2],e[16*r+3]=t[3],e[16*r+4]=t[4],e[16*r+5]=t[5],e[16*r+6]=t[6],e[16*r+7]=t[7],e[16*r+8]=t[8],e[16*r+9]=t[9],e[16*r+10]=t[10],e[16*r+11]=t[11],e[16*r+12]=t[12],e[16*r+13]=t[13],e[16*r+14]=t[14],e[16*r+15]=t[15]}};function Q0(t,e,r,n){let{componentType:s}=t;j(t.componentType);let i=typeof s=="string"?be.fromName(s):s,o=$B[t.type],a=eC[t.type],c=tC[t.type];return r+=t.byteOffset,{values:be.createTypedArray(i,e,r,o*n),type:i,size:o,unpacker:a,packer:c}}var vt=t=>t!==void 0;function $0(t,e,r){if(!e)return null;let n=t.getExtension("3DTILES_batch_table_hierarchy"),s=e.HIERARCHY;return s&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),e.extensions=e.extensions||{},e.extensions["3DTILES_batch_table_hierarchy"]=s,n=s),n?rC(n,r):null}function rC(t,e){let r,n,s,i=t.instancesLength,o=t.classes,a=t.classIds,c=t.parentCounts,u=t.parentIds,l=i;vt(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,s=getBinaryAccessor(a),a=s.createArrayBufferView(e.buffer,e.byteOffset+a.byteOffset,i));let f;if(vt(c))for(vt(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,s=getBinaryAccessor(c),c=s.createArrayBufferView(e.buffer,e.byteOffset+c.byteOffset,i)),f=new Uint16Array(i),l=0,r=0;r<i;++r)f[r]=l,l+=c[r];vt(u)&&vt(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,s=getBinaryAccessor(u),u=s.createArrayBufferView(e.buffer,e.byteOffset+u.byteOffset,l));let h=o.length;for(r=0;r<h;++r){let m=o[r].length,A=o[r].instances,v=getBinaryProperties(m,A,e);o[r].instances=combine(v,A)}let d=new Array(h).fill(0),p=new Uint16Array(i);for(r=0;r<i;++r)n=a[r],p[r]=d[n],++d[n];let g={classes:o,classIds:a,classIndexes:p,parentCounts:c,parentIndexes:f,parentIds:u};return iC(g),g}function gn(t,e,r){if(!t)return;let n=t.parentCounts;return t.parentIds?r(t,e):n>0?nC(t,e,r):sC(t,e,r)}function nC(t,e,r){let n=t.classIds,s=t.parentCounts,i=t.parentIds,o=t.parentIndexes,a=n.length,c=scratchVisited;c.length=Math.max(c.length,a);let u=++marker,l=scratchStack;for(l.length=0,l.push(e);l.length>0;){if(e=l.pop(),c[e]===u)continue;c[e]=u;let f=r(t,e);if(vt(f))return f;let h=s[e],d=o[e];for(let p=0;p<h;++p){let g=i[d+p];g!==e&&l.push(g)}}return null}function sC(t,e,r){let n=!0;for(;n;){let s=r(t,e);if(vt(s))return s;let i=t.parentIds[e];n=i!==e,e=i}throw new Error("traverseHierarchySingleParent")}function iC(t){let e=[],n=t.classIds.length;for(let s=0;s<n;++s)ey(t,s,stack)}function ey(t,e,r){let n=t.parentCounts,s=t.parentIds,i=t.parentIndexes,a=t.classIds.length;if(!vt(s))return;assert(e<a,`Parent index ${e} exceeds the total number of instances: ${a}`),assert(r.indexOf(e)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(e);let c=vt(n)?n[e]:1,u=vt(n)?i[e]:e;for(let l=0;l<c;++l){let f=s[u+l];f!==e&&ey(t,f,r)}r.pop(e)}function Oe(t){return t!=null}var Qo=(t,e)=>t,oC={HIERARCHY:!0,extensions:!0,extras:!0},Pr=class{constructor(e,r,n){var s;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};this.json=void 0,this.binary=void 0,this.featureCount=void 0,this._extensions=void 0,this._properties=void 0,this._binaryProperties=void 0,this._hierarchy=void 0,j(n>=0),this.json=e||{},this.binary=r,this.featureCount=n,this._extensions=((s=this.json)===null||s===void 0?void 0:s.extensions)||{},this._properties={};for(let o in this.json)oC[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=$0(this,this.json,this.binary))}getExtension(e){return this.json&&this.json.extensions&&this.json.extensions[e]}memorySizeInBytes(){return 0}isClass(e,r){if(this._checkBatchId(e),j(typeof r=="string",r),this._hierarchy){let n=gn(this._hierarchy,e,(s,i)=>{let o=s.classIds[i];return s.classes[o].name===r});return Oe(n)}return!1}isExactClass(e,r){return j(typeof r=="string",r),this.getExactClassName(e)===r}getExactClassName(e){if(this._checkBatchId(e),this._hierarchy){let r=this._hierarchy.classIds[e];return this._hierarchy.classes[r].name}}hasProperty(e,r){return this._checkBatchId(e),j(typeof r=="string",r),Oe(this._properties[r])||this._hasPropertyInHierarchy(e,r)}getPropertyNames(e,r){this._checkBatchId(e),r=Oe(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(e,r),r}getProperty(e,r){if(this._checkBatchId(e),j(typeof r=="string",r),this._binaryProperties){let s=this._binaryProperties[r];if(Oe(s))return this._getBinaryProperty(s,e)}let n=this._properties[r];if(Oe(n))return Qo(n[e],!0);if(this._hierarchy){let s=this._getHierarchyProperty(e,r);if(Oe(s))return s}}setProperty(e,r,n){let s=this.featureCount;if(this._checkBatchId(e),j(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,e,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,e,r,n))return;let i=this._properties[r];Oe(i)||(this._properties[r]=new Array(s),i=this._properties[r]),i[e]=Qo(n,!0)}_checkBatchId(e){if(!(e>=0&&e<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(e,r){return e.unpack(e.typedArray,r)}_setBinaryProperty(e,r,n){e.pack(n,e.typedArray,r)}_initializeBinaryProperties(){let e=null;for(let r in this._properties){let n=this._properties[r],s=this._initializeBinaryProperty(r,n);s&&(e=e||{},e[r]=s)}return e}_initializeBinaryProperty(e,r){if("byteOffset"in r){let n=r;j(this.binary,`Property ${e} requires a batch table binary.`),j(n.type,`Property ${e} requires a type.`);let s=Q0(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:s.values,componentCount:s.size,unpack:s.unpacker,pack:s.packer}}return null}_hasPropertyInHierarchy(e,r){if(!this._hierarchy)return!1;let n=gn(this._hierarchy,e,(s,i)=>{let o=s.classIds[i],a=s.classes[o].instances;return Oe(a[r])});return Oe(n)}_getPropertyNamesInHierarchy(e,r){gn(this._hierarchy,e,(n,s)=>{let i=n.classIds[s],o=n.classes[i].instances;for(let a in o)o.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(e,r){return gn(this._hierarchy,e,(n,s)=>{let i=n.classIds[s],o=n.classes[i],a=n.classIndexes[s],c=o.instances[r];return Oe(c)?Oe(c.typedArray)?this._getBinaryProperty(c,a):Qo(c[a],!0):null})}_setHierarchyProperty(e,r,n,s){let i=gn(this._hierarchy,r,(o,a)=>{let c=o.classIds[a],u=o.classes[c],l=o.classIndexes[a],f=u.instances[n];return Oe(f)?(j(a===r,`Inherited property "${n}" is read-only.`),Oe(f.typedArray)?this._setBinaryProperty(f,l,s):f[l]=Qo(s,!0),!0):!1});return Oe(i)}};function ar(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=new DataView(e);if(t.magic=n.getUint32(r,!0),r+=4,t.version=n.getUint32(r,!0),r+=4,t.byteLength=n.getUint32(r,!0),r+=4,t.version!==1)throw new Error(`3D Tile Version ${t.version} not supported`);return r}var yn=4,ty="b3dm tile in legacy format.";function _n(t,e,r){let n=new DataView(e),s;t.header=t.header||{};let i=n.getUint32(r,!0);r+=yn;let o=n.getUint32(r,!0);r+=yn;let a=n.getUint32(r,!0);r+=yn;let c=n.getUint32(r,!0);return r+=yn,a>=570425344?(r-=yn*2,s=i,a=o,c=0,i=0,o=0,console.warn(ty)):c>=570425344&&(r-=yn,s=a,a=i,c=o,i=0,o=0,console.warn(ty)),t.header.featureTableJsonByteLength=i,t.header.featureTableBinaryByteLength=o,t.header.batchTableJsonByteLength=a,t.header.batchTableBinaryByteLength=c,t.header.batchLength=s,r}function An(t,e,r,n){return r=aC(t,e,r,n),r=cC(t,e,r,n),r}function aC(t,e,r,n){let{featureTableJsonByteLength:s,featureTableBinaryByteLength:i,batchLength:o}=t.header||{};if(t.featureTableJson={BATCH_LENGTH:o||0},s&&s>0){let a=jl(e,r,s);t.featureTableJson=JSON.parse(a)}return r+=s||0,t.featureTableBinary=new Uint8Array(e,r,i),r+=i||0,r}function cC(t,e,r,n){let{batchTableJsonByteLength:s,batchTableBinaryByteLength:i}=t.header||{};if(s&&s>0){let o=jl(e,r,s);t.batchTableJson=JSON.parse(o),r+=s,i&&i>0&&(t.batchTableBinary=new Uint8Array(e,r,i),t.batchTableBinary=new Uint8Array(t.batchTableBinary),r+=i)}return r}function Ql(t,e,r){if(!e&&(!t||!t.batchIds||!r))return null;let{batchIds:n,isRGB565:s,pointCount:i=0}=t;if(n&&r){let o=new Uint8ClampedArray(i*3);for(let a=0;a<i;a++){let c=n[a],l=r.getProperty(c,"dimensions").map(f=>f*255);o[a*3]=l[0],o[a*3+1]=l[1],o[a*3+2]=l[2]}return{type:H.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(e&&s){let o=new Uint8ClampedArray(i*3);for(let a=0;a<i;a++){let c=Yl(e[a]);o[a*3]=c[0],o[a*3+1]=c[1],o[a*3+2]=c[2]}return{type:H.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return e&&e.length===i*3?{type:H.UNSIGNED_BYTE,value:e,size:3,normalized:!0}:{type:H.UNSIGNED_BYTE,value:e||new Uint8ClampedArray,size:4,normalized:!0}}var ry=new w;function ny(t,e){if(!e)return null;if(t.isOctEncoded16P){let r=new Float32Array((t.pointsLength||0)*3);for(let n=0;n<(t.pointsLength||0);n++)Zl(e[n*2],e[n*2+1],ry),ry.toArray(r,n*3);return{type:H.FLOAT,size:2,value:r}}return{type:H.FLOAT,size:2,value:e}}function sy(t,e,r){return t.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(t.isQuantized=!1,uC(t,e)):{type:H.UNSIGNED_SHORT,value:e,size:3,normalized:!0}:e}function uC(t,e){let r=new w,n=new Float32Array(t.pointCount*3);for(let s=0;s<t.pointCount;s++)r.set(e[s*3],e[s*3+1],e[s*3+2]).scale(1/t.quantizedRange).multiply(t.quantizedVolumeScale).add(t.quantizedVolumeOffset).toArray(n,s*3);return n}async function iy(t,e,r,n,s){r=ar(t,e,r),r=_n(t,e,r),r=An(t,e,r,n),lC(t);let{featureTable:i,batchTable:o}=fC(t);return await gC(t,i,o,n,s),hC(t,i,n),dC(t,i,o),pC(t,i),r}function lC(t){t.attributes={positions:null,colors:null,normals:null,batchIds:null},t.isQuantized=!1,t.isTranslucent=!1,t.isRGB565=!1,t.isOctEncoded16P=!1}function fC(t){let e=new Pt(t.featureTableJson,t.featureTableBinary),r=e.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");e.featuresLength=r,t.featuresLength=r,t.pointsLength=r,t.pointCount=r,t.rtcCenter=e.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let n=mC(t,e);return{featureTable:e,batchTable:n}}function hC(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.positions){if(e.hasProperty("POSITION"))t.attributes.positions=e.getPropertyArray("POSITION",H.FLOAT,3);else if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3);if(t.isQuantized=!0,t.quantizedRange=(1<<16)-1,t.quantizedVolumeScale=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3),!t.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(t.quantizedVolumeOffset=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3),!t.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");t.attributes.positions=sy(t,n,r)}}if(!t.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function dC(t,e,r){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.colors){let n=null;e.hasProperty("RGBA")?(n=e.getPropertyArray("RGBA",H.UNSIGNED_BYTE,4),t.isTranslucent=!0):e.hasProperty("RGB")?n=e.getPropertyArray("RGB",H.UNSIGNED_BYTE,3):e.hasProperty("RGB565")&&(n=e.getPropertyArray("RGB565",H.UNSIGNED_SHORT,1),t.isRGB565=!0),t.attributes.colors=Ql(t,n,r)}e.hasProperty("CONSTANT_RGBA")&&(t.constantRGBA=e.getGlobalProperty("CONSTANT_RGBA",H.UNSIGNED_BYTE,4))}function pC(t,e){if(t.attributes=t.attributes||{positions:null,colors:null,normals:null,batchIds:null},!t.attributes.normals){let r=null;e.hasProperty("NORMAL")?r=e.getPropertyArray("NORMAL",H.FLOAT,3):e.hasProperty("NORMAL_OCT16P")&&(r=e.getPropertyArray("NORMAL_OCT16P",H.UNSIGNED_BYTE,2),t.isOctEncoded16P=!0),t.attributes.normals=ny(t,r)}}function mC(t,e){let r=null;if(!t.batchIds&&e.hasProperty("BATCH_ID")&&(t.batchIds=e.getPropertyArray("BATCH_ID",H.UNSIGNED_SHORT,1),t.batchIds)){let n=e.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:s,batchTableBinary:i}=t;r=new Pr(s,i,n)}return r}async function gC(t,e,r,n,s){let i,o,a,c=t.batchTableJson&&t.batchTableJson.extensions&&t.batchTableJson.extensions["3DTILES_draco_point_compression"];c&&(a=c.properties);let u=e.getExtension("3DTILES_draco_point_compression");if(u){o=u.properties;let f=u.byteOffset,h=u.byteLength;if(!o||!Number.isFinite(f)||!h)throw new Error("Draco properties, byteOffset, and byteLength must be defined");i=(t.featureTableBinary||[]).slice(f,f+h),t.hasPositions=Number.isFinite(o.POSITION),t.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),t.hasNormals=Number.isFinite(o.NORMAL),t.hasBatchIds=Number.isFinite(o.BATCH_ID),t.isTranslucent=Number.isFinite(o.RGBA)}if(!i)return!0;let l={buffer:i,properties:{...o,...a},featureTableProperties:o,batchTableProperties:a,dequantizeInShader:!1};return await yC(t,l,n,s)}async function yC(t,e,r,n){if(!n)return;let s={...r,draco:{...r?.draco,extraAttributes:e.batchTableProperties||{}}};delete s["3d-tiles"];let i=await Le(e.buffer,Zo,s,n),o=i.attributes.POSITION&&i.attributes.POSITION.value,a=i.attributes.COLOR_0&&i.attributes.COLOR_0.value,c=i.attributes.NORMAL&&i.attributes.NORMAL.value,u=i.attributes.BATCH_ID&&i.attributes.BATCH_ID.value,l=o&&i.attributes.POSITION.value.quantization,f=c&&i.attributes.NORMAL.value.quantization;if(l){let d=i.POSITION.data.quantization,p=d.range;t.quantizedVolumeScale=new w(p,p,p),t.quantizedVolumeOffset=new w(d.minValues),t.quantizedRange=(1<<d.quantizationBits)-1,t.isQuantizedDraco=!0}f&&(t.octEncodedRange=(1<<i.NORMAL.data.quantization.quantizationBits)-1,t.isOctEncodedDraco=!0);let h={};if(e.batchTableProperties)for(let d of Object.keys(e.batchTableProperties))i.attributes[d]&&i.attributes[d].value&&(h[d.toLowerCase()]=i.attributes[d].value);t.attributes={positions:o,colors:Ql(t,a,void 0),normals:c,batchIds:u,...h}}var $l={};Ae($l,{decode:()=>MC,name:()=>CC});function pe(t,e){if(!t)throw new Error(e||"assert failed: gltf")}var $o={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ea={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var _C=1.33,oy=["SCALAR","VEC2","VEC3","VEC4"],AC=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],vC=new Map(AC),xC={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},bC={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},TC={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function ta(t){return oy[t-1]||oy[0]}function vn(t){let e=vC.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function xn(t,e){let r=TC[t.componentType],n=xC[t.type],s=bC[t.componentType],i=t.count*n,o=t.count*n*s;pe(o>=0&&o<=e.byteLength);let a=ea[t.componentType],c=$o[t.type];return{ArrayType:r,length:i,byteLength:o,componentByteSize:a,numberOfComponentsInElement:c}}function Ss(t){let{images:e,bufferViews:r}=t;e=e||[],r=r||[];let n=e.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let s=r.reduce((o,a)=>o+a.byteLength,0),i=e.reduce((o,a)=>{let{width:c,height:u}=a.image;return o+c*u},0);return s+Math.ceil(4*i*_C)}function ay(t,e,r){let n=t.bufferViews[r];pe(n);let s=n.buffer,i=e[s];pe(i);let o=(n.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,o,n.byteLength)}function cy(t,e,r){var n,s;let i=typeof r=="number"?(n=t.accessors)===null||n===void 0?void 0:n[r]:r;if(!i)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let o=(s=t.bufferViews)===null||s===void 0?void 0:s[i.bufferView||0];if(!o)throw new Error(`No gltf buffer view for accessor ${o}`);let{arrayBuffer:a,byteOffset:c}=e[o.buffer],u=(c||0)+(i.byteOffset||0)+(o.byteOffset||0),{ArrayType:l,length:f,componentByteSize:h,numberOfComponentsInElement:d}=xn(i,o),p=h*d,g=o.byteStride||p;if(typeof o.byteStride>"u"||o.byteStride===p)return new l(a,u,f);let m=new l(f);for(let A=0;A<i.count;A++){let v=new l(a,u+A*g,d);m.set(v,A*d)}return m}function EC(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Y=class{constructor(e){this.gltf=void 0,this.sourceBuffers=void 0,this.byteLength=void 0,this.gltf={json:e?.json||EC(),buffers:e?.buffers||[],images:e?.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(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){let r=this.getUsedExtensions().find(s=>s===e),n=this.getRequiredExtensions().find(s=>s===e);return typeof r=="string"||typeof n=="string"}getExtension(e){let r=this.getUsedExtensions().find(s=>s===e),n=this.json.extensions||{};return r?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,r){return(e.extensions||{})[r]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,r){if(typeof r=="object")return r;let n=this.json[e]&&this.json[e][r];if(!n)throw new Error(`glTF file error: Could not find ${e}[${r}]`);return n}getTypedArrayForBufferView(e){e=this.getBufferView(e);let r=e.buffer,n=this.gltf.buffers[r];pe(n);let s=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,s,e.byteLength)}getTypedArrayForAccessor(e){let r=this.getAccessor(e);return cy(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(e){e=this.getAccessor(e);let r=this.getBufferView(e.bufferView),s=this.getBuffer(r.buffer).data,i=r.byteOffset||0;return new Uint8Array(s,i,r.byteLength)}addApplicationData(e,r){return this.json[e]=r,this}addExtraData(e,r){return this.json.extras=this.json.extras||{},this.json.extras[e]=r,this}addObjectExtension(e,r,n){return e.extensions=e.extensions||{},e.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(e,r,n){let s=e.extensions||{};s[r]=n}removeObjectExtension(e,r){let n=e?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let s=this.json.extensionsRemoved;s.includes(r)||s.push(r)}delete n[r]}addExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return pe(r),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=r,this.registerUsedExtension(e),r}addRequiredExtension(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return pe(r),this.addExtension(e,r),this.registerRequiredExtension(e),r}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===e)||this.json.extensionsRequired.push(e)}removeExtension(e){var r;if((r=this.json.extensions)!==null&&r!==void 0&&r[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(e)||n.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){let{nodeIndices:r}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(e){let{meshIndex:r,matrix:n}=e;this.json.nodes=this.json.nodes||[];let s={mesh:r};return n&&(s.matrix=n),this.json.nodes.push(s),this.json.nodes.length-1}addMesh(e){let{attributes:r,indices:n,material:s,mode:i=4}=e,a={primitives:[{attributes:this._addAttributes(r),mode:i}]};if(n){let c=this._addIndices(n);a.primitives[0].indices=c}return Number.isFinite(s)&&(a.primitives[0].material=s),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){let n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,r){let n=Ar(e),s=r||n?.mimeType,o={bufferView:this.addBufferView(e),mimeType:s};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.byteLength,s=e.byteLength;pe(Number.isFinite(s)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);let i={buffer:r,byteOffset:n,byteLength:s};return this.byteLength+=Gt(s,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,r){let n={bufferView:e,type:ta(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(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{size:3},n=this.addBufferView(e),s={min:r.min,max:r.max};(!s.min||!s.max)&&(s=this._getAccessorMinMax(e,r.size));let i={size:r.size,componentType:vn(e),count:Math.round(e.length/r.size),min:s.min,max:s.max};return this.addAccessor(n,Object.assign(i,r))}addTexture(e){let{imageIndex:r}=e,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,r;this.gltf.buffers=[];let n=this.byteLength,s=new ArrayBuffer(n),i=new Uint8Array(s),o=0;for(let a of this.sourceBuffers||[])o=oc(a,i,o);(e=this.json)!==null&&e!==void 0&&(r=e.buffers)!==null&&r!==void 0&&r[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=s,this.sourceBuffers=[s]}_removeStringFromArray(e,r){let n=!0;for(;n;){let s=e.indexOf(r);s>-1?e.splice(s,1):n=!1}}_addAttributes(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={};for(let n in e){let s=e[n],i=this._getGltfAttributeName(n),o=this.addBinaryBuffer(s.value,s);r[i]=o}return r}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.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 e}}_getAccessorMinMax(e,r){let n={min:null,max:null};if(e.length<r)return n;n.min=[],n.max=[];let s=e.subarray(0,r);for(let i of s)n.min.push(i),n.max.push(i);for(let i=r;i<e.length;i+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],e[i+o]),n.max[0+o]=Math.max(n.max[0+o],e[i+o]);return n}};function uy(t){return(t%1+1)%1}var ly={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},wC={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},fy={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Bs(t,e){return fy[e]*ly[t]}function bn(t,e,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let s=t.getTypedArrayForBufferView(e),i=Tn(s,"SCALAR",r,n+1);return i instanceof BigInt64Array||i instanceof BigUint64Array?null:i}function Tn(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,s=ly[e],i=wC[r],o=fy[r],a=n*s,c=a*o,u=t.buffer,l=t.byteOffset;return l%o!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new i(u,l,a)}function En(t,e,r){var n,s;let i=`TEXCOORD_${e.texCoord||0}`,o=r.attributes[i],a=t.getTypedArrayForAccessor(o),c=t.gltf.json,u=e.index,l=(n=c.textures)===null||n===void 0||(s=n[u])===null||s===void 0?void 0:s.source;if(typeof l<"u"){var f,h,d;let p=(f=c.images)===null||f===void 0||(h=f[l])===null||h===void 0?void 0:h.mimeType,g=(d=t.gltf.images)===null||d===void 0?void 0:d[l];if(g&&typeof g.width<"u"){let m=[];for(let A=0;A<a.length;A+=2){let v=SC(g,p,a,A,e.channels);m.push(v)}return m}}return[]}function ra(t,e,r,n,s){if(!(r!=null&&r.length))return;let i=[];for(let l of r){let f=n.findIndex(h=>h===l);f===-1&&(f=n.push(l)-1),i.push(f)}let o=new Uint32Array(i),a=t.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,c=t.addBufferView(o,a,0),u=t.addAccessor(c,{size:1,componentType:vn(o),count:o.length});s.attributes[e]=u}function SC(t,e,r,n){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[0],i={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],a=r[n+1],c=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(c=4);let u=BC(o,a,t,c),l=0;for(let f of s){let h=typeof f=="number"?Object.values(i)[f]:i[f],d=u+h.offset,p=Wn(t);if(p.data.length<=d)throw new Error(`${p.data.length} <= ${d}`);let g=p.data[d];l|=g<<h.shift}return l}function BC(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,s=r.width,i=uy(t)*(s-1),o=Math.round(i),a=r.height,c=uy(e)*(a-1),u=Math.round(c),l=r.components?r.components:n;return(u*s+o)*l}function na(t,e,r,n,s){let i=[];for(let o=0;o<e;o++){let a=r[o],c=r[o+1]-r[o];if(c+a>n)break;let u=a/s,l=c/s;i.push(t.slice(u,u+l))}return i}function sa(t,e,r){let n=[];for(let s=0;s<e;s++){let i=s*r;n.push(t.slice(i,i+r))}return n}function ia(t,e,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let s=[],i=new TextDecoder("utf8"),o=0;for(let a=0;a<t;a++){let c=n[a+1]-n[a];if(c+o<=e.length){let u=e.subarray(o,c+o),l=i.decode(u);s.push(l),o+=c}}return s}return[]}var hy="EXT_mesh_features",CC=hy;async function MC(t,e){let r=new Y(t);IC(r,e)}function IC(t,e){let r=t.gltf.json;if(r.meshes)for(let n of r.meshes)for(let s of n.primitives)OC(t,s,e)}function OC(t,e,r){var n,s;if(!(r!=null&&(n=r.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let i=(s=e.extensions)===null||s===void 0?void 0:s[hy],o=i?.featureIds;if(o)for(let c of o){var a;let u;if(typeof c.attribute<"u"){let l=`_FEATURE_ID_${c.attribute}`,f=e.attributes[l];u=t.getTypedArrayForAccessor(f)}else typeof c.texture<"u"&&r!==null&&r!==void 0&&(a=r.gltf)!==null&&a!==void 0&&a.loadImages?u=En(t,c.texture,e):u=[];c.data=u}}var rf={};Ae(rf,{decode:()=>LC,name:()=>RC});var ef="EXT_structural_metadata",RC=ef;async function LC(t,e){let r=new Y(t);PC(r,e)}function PC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let s=t.getExtension(ef);s&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&FC(t,s),NC(t,s))}function FC(t,e){let r=e.propertyTextures,n=t.gltf.json;if(r&&n.meshes)for(let s of n.meshes)for(let i of s.primitives)UC(t,r,i,e)}function NC(t,e){let r=e.schema;if(!r)return;let n=r.classes,s=e.propertyTables;if(n&&s)for(let i in n){let o=DC(s,i);o&&kC(t,r,o)}}function DC(t,e){for(let r of t)if(r.class===e)return r;return null}function UC(t,e,r,n){var s;if(!e)return;let i=(s=r.extensions)===null||s===void 0?void 0:s[ef],o=i?.propertyTextures;if(o)for(let a of o){let c=e[a];GC(t,c,r,n)}}function GC(t,e,r,n){if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let s=e.class;for(let o in e.properties){var i;let a=`${s}_${o}`,c=(i=e.properties)===null||i===void 0?void 0:i[o];if(!c)continue;c.data||(c.data=[]);let u=c.data,l=En(t,c,r);l!==null&&(ra(t,a,l,u,r),c.data=u,n.dataAttributeNames.push(a))}}function kC(t,e,r){var n;let s=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!s)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let a in s.properties){var o;let c=s.properties[a],u=(o=r.properties)===null||o===void 0?void 0:o[a];if(u){let l=HC(t,e,c,i,u);u.data=l}}}function HC(t,e,r,n,s){let i=[],o=s.values,a=t.getTypedArrayForBufferView(o),c=VC(t,r,s,n),u=zC(t,s,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{i=jC(r,n,a,c);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{i=ia(n,a,c,u);break}case"ENUM":{i=qC(e,r,n,a,c);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return i}function VC(t,e,r,n){return e.array&&typeof e.count>"u"&&typeof r.arrayOffsets<"u"?bn(t,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function zC(t,e,r){return typeof e.stringOffsets<"u"?bn(t,e.stringOffsets,e.stringOffsetType||"UINT32",r):null}function jC(t,e,r,n){let s=t.array,i=t.count,o=Bs(t.type,t.componentType),a=r.byteLength/o,c;return t.componentType?c=Tn(r,t.type,t.componentType,a):c=r,s?n?na(c,e,n,r.length,o):i?sa(c,e,i):[]:c}function qC(t,e,r,n,s){var i;let o=e.enumType;if(!o)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let a=(i=t.enums)===null||i===void 0?void 0:i[o];if(!a)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${o}`);let c=a.valueType||"UINT16",u=Bs(e.type,c),l=n.byteLength/u,f=Tn(n,e.type,c,l);if(f||(f=n),e.array){if(s)return JC({valuesData:f,numberOfElements:r,arrayOffsets:s,valuesDataBytesLength:n.length,elementSize:u,enumEntry:a});let h=e.count;return h?WC(f,r,h,a):[]}return tf(f,0,r,a)}function JC(t){let{valuesData:e,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:s,elementSize:i,enumEntry:o}=t,a=[];for(let c=0;c<r;c++){let u=n[c],l=n[c+1]-n[c];if(l+u>s)break;let f=u/i,h=l/i,d=tf(e,f,h,o);a.push(d)}return a}function WC(t,e,r,n){let s=[];for(let i=0;i<e;i++){let o=r*i,a=tf(t,o,r,n);s.push(a)}return s}function tf(t,e,r,n){let s=[];for(let i=0;i<r;i++)if(t instanceof BigInt64Array||t instanceof BigUint64Array)s.push("");else{let o=t[e+i],a=XC(n,o);a?s.push(a.name):s.push("")}return s}function XC(t,e){for(let r of t.values)if(r.value===e)return r;return null}var nf={};Ae(nf,{decode:()=>YC,name:()=>KC});var dy="EXT_feature_metadata",KC=dy;async function YC(t,e){let r=new Y(t);ZC(r,e)}function ZC(t,e){var r,n;if(!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let s=t.getExtension(dy);s&&((n=e.gltf)!==null&&n!==void 0&&n.loadImages&&QC(t,s),$C(t,s))}function QC(t,e){let r=e.schema;if(!r)return;let n=r.classes,{featureTextures:s}=e;if(n&&s)for(let i in n){let o=n[i],a=tM(s,i);a&&nM(t,a,o)}}function $C(t,e){let r=e.schema;if(!r)return;let n=r.classes,s=e.featureTables;if(n&&s)for(let i in n){let o=eM(s,i);o&&rM(t,r,o)}}function eM(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function tM(t,e){for(let r in t){let n=t[r];if(n.class===e)return n}return null}function rM(t,e,r){var n;if(!r.class)return;let s=(n=e.classes)===null||n===void 0?void 0:n[r.class];if(!s)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let a in s.properties){var o;let c=s.properties[a],u=(o=r.properties)===null||o===void 0?void 0:o[a];if(u){let l=sM(t,e,c,i,u);u.data=l}}}function nM(t,e,r){let n=e.class;for(let i in r.properties){var s;let o=e==null||(s=e.properties)===null||s===void 0?void 0:s[i];if(o){let a=uM(t,o,n);o.data=a}}}function sM(t,e,r,n,s){let i=[],o=s.bufferView,a=t.getTypedArrayForBufferView(o),c=iM(t,r,s,n),u=oM(t,r,s,n);return r.type==="STRING"||r.componentType==="STRING"?i=ia(n,a,c,u):aM(r)&&(i=cM(r,n,a,c)),i}function iM(t,e,r,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?bn(t,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function oM(t,e,r,n){return typeof r.stringOffsetBufferView<"u"?bn(t,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function aM(t){let e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(t.type)||typeof t.componentType<"u"&&e.includes(t.componentType)}function cM(t,e,r,n){let s=t.type==="ARRAY",i=t.componentCount,o="SCALAR",a=t.componentType||t.type,c=Bs(o,a),u=r.byteLength/c,l=Tn(r,o,a,u);return s?n?na(l,e,n,r.length,c):i?sa(l,e,i):[]:l}function uM(t,e,r){let n=t.gltf.json;if(!n.meshes)return[];let s=[];for(let i of n.meshes)for(let o of i.primitives)lM(t,r,e,s,o);return s}function lM(t,e,r,n,s){let i={channels:r.channels,...r.texture},o=En(t,i,s);o&&ra(t,e,o,n,s)}var py="4.1.0-alpha.9";var wn=!0,my=1735152710,af=12,oa=8,fM=1313821514,hM=5130562,dM=0,pM=0,mM=1;function gM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}function gy(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=new DataView(t),{magic:s=my}=r,i=n.getUint32(e,!1);return i===s||i===my}function yy(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=new DataView(e),i=gM(s,r+0),o=s.getUint32(r+4,wn),a=s.getUint32(r+8,wn);switch(Object.assign(t,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:i,version:o,json:{},binChunks:[]}),r+=af,t.version){case 1:return yM(t,s,r);case 2:return _M(t,s,r,n={});default:throw new Error(`Invalid GLB version ${t.version}. Only supports version 1 and 2.`)}}function yM(t,e,r){j(t.header.byteLength>af+oa);let n=e.getUint32(r+0,wn),s=e.getUint32(r+4,wn);return r+=oa,j(s===dM),sf(t,e,r,n),r+=n,r+=of(t,e,r,t.header.byteLength),r}function _M(t,e,r,n){return j(t.header.byteLength>af+oa),AM(t,e,r,n),r+t.header.byteLength}function AM(t,e,r,n){for(;r+8<=t.header.byteLength;){let s=e.getUint32(r+0,wn),i=e.getUint32(r+4,wn);switch(r+=oa,i){case fM:sf(t,e,r,s);break;case hM:of(t,e,r,s);break;case pM:n.strict||sf(t,e,r,s);break;case mM:n.strict||of(t,e,r,s);break;default:break}r+=Gt(s,4)}return r}function sf(t,e,r,n){let s=new Uint8Array(e.buffer,r,n),o=new TextDecoder("utf8").decode(s);return t.json=JSON.parse(o),Gt(n,4)}function of(t,e,r,n){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:e.buffer}),Gt(n,4)}function cf(t,e){if(t.startsWith("data:")||t.startsWith("http:")||t.startsWith("https:"))return t;let n=e.baseUri||e.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${t}`);return n.substr(0,n.lastIndexOf("/")+1)+t}var lf={};Ae(lf,{decode:()=>OM,name:()=>IM});var vM="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",xM="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",bM=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]),TM=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]),EM={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},wM={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function _y(t,e,r,n,s){let i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"NONE",o=await SM();MM(o,o.exports[wM[s]],t,e,r,n,o.exports[EM[i||"NONE"]])}var uf;async function SM(){return uf||(uf=BM()),uf}async function BM(){let t=vM;WebAssembly.validate(bM)&&(t=xM,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let e=await WebAssembly.instantiate(CM(t),{});return await e.instance.exports.__wasm_call_ctors(),e.instance}function CM(t){let e=new Uint8Array(t.length);for(let n=0;n<t.length;++n){let s=t.charCodeAt(n);e[n]=s>96?s-71:s>64?s-65:s>47?s+4:s>46?63:62}let r=0;for(let n=0;n<t.length;++n)e[r++]=e[n]<60?TM[e[n]]:(e[n]-60)*64+e[++n];return e.buffer.slice(0,r)}function MM(t,e,r,n,s,i,o){let a=t.exports.sbrk,c=n+3&-4,u=a(c*s),l=a(i.length),f=new Uint8Array(t.exports.memory.buffer);f.set(i,l);let h=e(u,n,s,l,i.length);if(h===0&&o&&o(u,c,s),r.set(f.subarray(u,u+n*s)),a(u-a(0)),h!==0)throw new Error(`Malformed buffer data: ${h}`)}var aa="EXT_meshopt_compression",IM=aa;async function OM(t,e){var r,n;let s=new Y(t);if(!(e!=null&&(r=e.gltf)!==null&&r!==void 0&&r.decompressMeshes)||!((n=e.gltf)!==null&&n!==void 0&&n.loadBuffers))return;let i=[];for(let o of t.json.bufferViews||[])i.push(RM(s,o));await Promise.all(i),s.removeExtension(aa)}async function RM(t,e){let r=t.getObjectExtension(e,aa);if(r){let{byteOffset:n=0,byteLength:s=0,byteStride:i,count:o,mode:a,filter:c="NONE",buffer:u}=r,l=t.gltf.buffers[u],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,s),h=new Uint8Array(t.gltf.buffers[e.buffer].arrayBuffer,e.byteOffset,e.byteLength);await _y(h,o,i,f,a,c),t.removeObjectExtension(e,aa)}}var ff={};Ae(ff,{name:()=>LM,preprocess:()=>PM});var Sn="EXT_texture_webp",LM=Sn;function PM(t,e){let r=new Y(t);if(!_c("image/webp")){if(r.getRequiredExtensions().includes(Sn))throw new Error(`gltf: Required extension ${Sn} not supported by browser`);return}let{json:n}=r;for(let s of n.textures||[]){let i=r.getObjectExtension(s,Sn);i&&(s.source=i.source),r.removeObjectExtension(s,Sn)}r.removeExtension(Sn)}var hf={};Ae(hf,{name:()=>FM,preprocess:()=>NM});var ca="KHR_texture_basisu",FM=ca;function NM(t,e){let r=new Y(t),{json:n}=r;for(let s of n.textures||[]){let i=r.getObjectExtension(s,ca);i&&(s.source=i.source,r.removeObjectExtension(s,ca))}r.removeExtension(ca)}var pf={};Ae(pf,{decode:()=>HM,encode:()=>VM,name:()=>GM,preprocess:()=>kM});function Ay(t){let e={};for(let r in t){let n=t[r];if(r!=="indices"){let s=df(n);e[r]=s}}return e}function df(t){let{buffer:e,size:r,count:n}=DM(t);return{value:e,size:r,byteOffset:0,count:n,type:ta(r),componentType:vn(e)}}function DM(t){let e=t,r=1,n=0;return t&&t.value&&(e=t.value,r=t.size||1),e&&(ArrayBuffer.isView(e)||(e=UM(e,Float32Array)),n=e.length/r),{buffer:e,size:r,count:n}}function UM(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t?Array.isArray(t)?new e(t):r&&!(t instanceof e)?new e(t):t:null}var cr="KHR_draco_mesh_compression",GM=cr;function kM(t,e,r){let n=new Y(t);for(let s of vy(n))n.getObjectExtension(s,cr)}async function HM(t,e,r){var n;if(!(e!=null&&(n=e.gltf)!==null&&n!==void 0&&n.decompressMeshes))return;let s=new Y(t),i=[];for(let o of vy(s))s.getObjectExtension(o,cr)&&i.push(zM(s,o,e,r));await Promise.all(i),s.removeExtension(cr)}function VM(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=new Y(t);for(let n of r.json.meshes||[])jM(n,e),r.addRequiredExtension(cr)}async function zM(t,e,r,n){let s=t.getObjectExtension(e,cr);if(!s)return;let i=t.getTypedArrayForBufferView(s.bufferView),o=pr(i.buffer,i.byteOffset),a={...r};delete a["3d-tiles"];let c=await Le(o,Zo,a,n),u=Ay(c.attributes);for(let[l,f]of Object.entries(u))if(l in e.attributes){let h=e.attributes[l],d=t.getAccessor(h);d!=null&&d.min&&d!==null&&d!==void 0&&d.max&&(f.min=d.min,f.max=d.max)}e.attributes=u,c.indices&&(e.indices=df(c.indices)),t.removeObjectExtension(e,cr),qM(e)}function jM(t,e){var r;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:4,s=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;if(!s.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let o=s.DracoWriter.encodeSync({attributes:t}),a=i==null||(r=i.parseSync)===null||r===void 0?void 0:r.call(i,{attributes:t}),c=s._addFauxAttributes(a.attributes),u=s.addBufferView(o);return{primitives:[{attributes:c,mode:n,extensions:{[cr]:{bufferView:u,attributes:c}}}]}}function qM(t){if(!t.attributes&&Object.keys(t.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*vy(t){for(let e of t.json.meshes||[])for(let r of e.primitives)yield r}var gf={};Ae(gf,{decode:()=>KM,name:()=>JM});var mf="KHR_texture_transform",JM=mf,ua=new w,WM=new W,XM=new W;async function KM(t,e){var r;if(!new Y(t).hasExtension(mf)||!((r=e.gltf)!==null&&r!==void 0&&r.loadBuffers))return;let i=t.json.materials||[];for(let o=0;o<i.length;o++)YM(o,t)}function YM(t,e){var r,n,s;let i=[],o=(r=e.json.materials)===null||r===void 0?void 0:r[t],a=o==null||(n=o.pbrMetallicRoughness)===null||n===void 0?void 0:n.baseColorTexture;a&&Cs(e,t,a,i);let c=o?.emissiveTexture;c&&Cs(e,t,c,i);let u=o?.normalTexture;u&&Cs(e,t,u,i);let l=o?.occlusionTexture;l&&Cs(e,t,l,i);let f=o==null||(s=o.pbrMetallicRoughness)===null||s===void 0?void 0:s.metallicRoughnessTexture;f&&Cs(e,t,f,i)}function Cs(t,e,r,n){let s=ZM(r,n);if(!s)return;let i=t.json.meshes||[];for(let o of i)for(let a of o.primitives){let c=a.material;Number.isFinite(c)&&e===c&&QM(t,a,s)}}function ZM(t,e){var r;let n=(r=t.extensions)===null||r===void 0?void 0:r[mf],{texCoord:s=0}=t,{texCoord:i=s}=n;if(!(e.findIndex(a=>{let[c,u]=a;return c===s&&u===i})!==-1)){let a=tI(n);return s!==i&&(t.texCoord=i),e.push([s,i]),{originalTexCoord:s,texCoord:i,matrix:a}}return null}function QM(t,e,r){let{originalTexCoord:n,texCoord:s,matrix:i}=r,o=e.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){var a;let u=(a=t.json.accessors)===null||a===void 0?void 0:a[o];if(u&&u.bufferView){var c;let l=(c=t.json.bufferViews)===null||c===void 0?void 0:c[u.bufferView];if(l){let{arrayBuffer:f,byteOffset:h}=t.buffers[l.buffer],d=(h||0)+(u.byteOffset||0)+(l.byteOffset||0),{ArrayType:p,length:g}=xn(u,l),m=ea[u.componentType],A=$o[u.type],v=l.byteStride||m*A,x=new Float32Array(g);for(let b=0;b<u.count;b++){let M=new p(f,d+b*v,2);ua.set(M[0],M[1],1),ua.transformByMatrix3(i),x.set([ua[0],ua[1]],b*A)}n===s?$M(u,l,t.buffers,x):eI(s,u,e,t,x)}}}}function $M(t,e,r,n){t.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),e.buffer=r.length-1,e.byteLength=n.buffer.byteLength,e.byteOffset=0,delete e.byteStride}function eI(t,e,r,n,s){n.buffers.push({arrayBuffer:s.buffer,byteOffset:0,byteLength:s.buffer.byteLength});let i=n.json.bufferViews;if(!i)return;i.push({buffer:n.buffers.length-1,byteLength:s.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:i?.length-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),r.attributes[`TEXCOORD_${t}`]=o.length-1)}function tI(t){let{offset:e=[0,0],rotation:r=0,scale:n=[1,1]}=t,s=new W().set(1,0,0,0,1,0,e[0],e[1],1),i=WM.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=XM.set(n[0],0,0,0,n[1],0,0,0,1);return s.multiplyRight(i).multiplyRight(o)}var yf={};Ae(yf,{decode:()=>nI,encode:()=>sI,name:()=>rI});var Fr="KHR_lights_punctual",rI=Fr;async function nI(t){let e=new Y(t),{json:r}=e,n=e.getExtension(Fr);n&&(e.json.lights=n.lights,e.removeExtension(Fr));for(let s of r.nodes||[]){let i=e.getObjectExtension(s,Fr);i&&(s.light=i.light),e.removeObjectExtension(s,Fr)}}async function sI(t){let e=new Y(t),{json:r}=e;if(r.lights){let n=e.addExtension(Fr);pe(!n.lights),n.lights=r.lights,delete r.lights}if(e.json.lights){for(let n of e.json.lights){let s=n.node;e.addObjectExtension(s,Fr,n)}delete e.json.lights}}var _f={};Ae(_f,{decode:()=>oI,encode:()=>aI,name:()=>iI});var Ms="KHR_materials_unlit",iI=Ms;async function oI(t){let e=new Y(t),{json:r}=e;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),e.removeObjectExtension(n,Ms);e.removeExtension(Ms)}function aI(t){let e=new Y(t),{json:r}=e;if(e.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,e.addObjectExtension(n,Ms,{}),e.addExtension(Ms))}var Af={};Ae(Af,{decode:()=>uI,encode:()=>lI,name:()=>cI});var Is="KHR_techniques_webgl",cI=Is;async function uI(t){let e=new Y(t),{json:r}=e,n=e.getExtension(Is);if(n){let s=fI(n,e);for(let i of r.materials||[]){let o=e.getObjectExtension(i,Is);o&&(i.technique=Object.assign({},o,s[o.technique]),i.technique.values=hI(i.technique,e)),e.removeObjectExtension(i,Is)}e.removeExtension(Is)}}async function lI(t,e){}function fI(t,e){let{programs:r=[],shaders:n=[],techniques:s=[]}=t,i=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=i.decode(e.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]}),s.forEach(o=>{o.program=r[o.program]}),s}function hI(t,e){let r=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(n=>{t.uniforms[n].value&&!(n in r)&&(r[n]=t.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=e.getTexture(r[n].index))}),r}var xy=[rf,$l,lf,ff,hf,pf,yf,_f,Af,gf,nf];function by(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=xy.filter(i=>Ey(i.name,e));for(let i of n){var s;(s=i.preprocess)===null||s===void 0||s.call(i,t,e,r)}}async function Ty(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=xy.filter(i=>Ey(i.name,e));for(let i of n){var s;await((s=i.decode)===null||s===void 0?void 0:s.call(i,t,e,r))}}function Ey(t,e){var r;let n=(e==null||(r=e.gltf)===null||r===void 0?void 0:r.excludeExtensions)||{};return!(t in n&&!n[t])}var vf="KHR_binary_glTF";function wy(t){let e=new Y(t),{json:r}=e;for(let n of r.images||[]){let s=e.getObjectExtension(n,vf);s&&Object.assign(n,s),e.removeObjectExtension(n,vf)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,e.removeExtension(vf)}var Sy={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},pI={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},xf=class{constructor(){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}},this.json=void 0}normalize(e,r){this.json=e.json;let n=e.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),wy(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(let r in Sy)this._convertTopLevelObjectToArray(e,r)}_convertTopLevelObjectToArray(e,r){let n=e[r];if(!(!n||Array.isArray(n))){e[r]=[];for(let s in n){let i=n[s];i.id=i.id||s;let o=e[r].length;e[r].push(i),this.idToIndexMap[r][s]=o}}}_convertObjectIdsToArrayIndices(e){for(let r in Sy)this._convertIdsToIndices(e,r);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(let r of e.textures)this._convertTextureIds(r);for(let r of e.meshes)this._convertMeshIds(r);for(let r of e.nodes)this._convertNodeIds(r);for(let r of e.scenes)this._convertSceneIds(r)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(let r of e.primitives){let{attributes:n,indices:s,material:i}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");s&&(r.indices=this._convertIdToIndex(s,"accessor")),i&&(r.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(r=>this._convertIdToIndex(r,"node"))),e.meshes&&(e.meshes=e.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(e,r){e[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),e[r]=[]);for(let n of e[r])for(let s in n){let i=n[s],o=this._convertIdToIndex(i,s);n[s]=o}}_convertIdToIndex(e,r){let n=pI[r];if(n in this.idToIndexMap){let s=this.idToIndexMap[n][e];if(!Number.isFinite(s))throw new Error(`gltf v1: failed to resolve ${r} with id ${e}`);return s}return e}_updateObjects(e){for(let r of this.json.buffers)delete r.type}_updateMaterial(e){for(let i of e.materials){var r,n,s;i.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=i.values)===null||r===void 0?void 0:r.tex)||((n=i.values)===null||n===void 0?void 0:n.texture2d_0)||((s=i.values)===null||s===void 0?void 0:s.diffuseTex),a=e.textures.findIndex(c=>c.id===o);a!==-1&&(i.pbrMetallicRoughness.baseColorTexture={index:a})}}};function By(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new xf().normalize(t,e)}async function Cy(t,e){var r,n,s;let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return mI(t,e,i,o),By(t,{normalize:o==null||(r=o.gltf)===null||r===void 0?void 0:r.normalize}),by(t,o,a),o!=null&&(n=o.gltf)!==null&&n!==void 0&&n.loadBuffers&&t.json.buffers&&await gI(t,o,a),o!=null&&(s=o.gltf)!==null&&s!==void 0&&s.loadImages&&await yI(t,o,a),await Ty(t,o,a),t}function mI(t,e,r,n){if(n.uri&&(t.baseUri=n.uri),e instanceof ArrayBuffer&&!gy(e,r,n)&&(e=new TextDecoder().decode(e)),typeof e=="string")t.json=ic(e);else if(e instanceof ArrayBuffer){let o={};r=yy(o,e,r,n.glb),pe(o.type==="glTF",`Invalid GLB magic string ${o.type}`),t._glb=o,t.json=o.json}else pe(!1,"GLTF: must be ArrayBuffer or string");let s=t.json.buffers||[];if(t.buffers=new Array(s.length).fill(null),t._glb&&t._glb.header.hasBinChunk){let{binChunks:o}=t._glb;t.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let i=t.json.images||[];t.images=new Array(i.length).fill({})}async function gI(t,e,r){let n=t.json.buffers||[];for(let o=0;o<n.length;++o){let a=n[o];if(a.uri){var s,i;let{fetch:c}=r;pe(c);let u=cf(a.uri,e),l=await(r==null||(s=r.fetch)===null||s===void 0?void 0:s.call(r,u)),f=await(l==null||(i=l.arrayBuffer)===null||i===void 0?void 0:i.call(l));t.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete a.uri}else t.buffers[o]===null&&(t.buffers[o]={arrayBuffer:new ArrayBuffer(a.byteLength),byteOffset:0,byteLength:a.byteLength})}}async function yI(t,e,r){let n=_I(t),s=t.json.images||[],i=[];for(let o of n)i.push(AI(t,s[o],o,e,r));return await Promise.all(i)}function _I(t){let e=new Set,r=t.json.textures||[];for(let n of r)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function AI(t,e,r,n,s){let i;if(e.uri&&!e.hasOwnProperty("bufferView")){let a=cf(e.uri,n),{fetch:c}=s;i=await(await c(a)).arrayBuffer(),e.bufferView={data:i}}if(Number.isFinite(e.bufferView)){let a=ay(t.json,t.buffers,e.bufferView);i=pr(a.buffer,a.byteOffset,a.byteLength)}pe(i,"glTF image has no data");let o=await Le(i,[zt,Cl],{...n,mimeType:e.mimeType,basis:n.basis||{format:Ro()}},s);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),t.images=t.images||[],t.images[r]=o}var Nr={name:"glTF",id:"gltf",module:"gltf",version:py,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:vI,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function vI(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;e={...Nr.options,...e},e.gltf={...Nr.options.gltf,...e.gltf};let{byteOffset:n=0}=e;return await Cy({},t,n,e,r)}var xI={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},bI={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},qe={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},TI={magFilter:qe.TEXTURE_MAG_FILTER,minFilter:qe.TEXTURE_MIN_FILTER,wrapS:qe.TEXTURE_WRAP_S,wrapT:qe.TEXTURE_WRAP_T},EI={[qe.TEXTURE_MAG_FILTER]:qe.LINEAR,[qe.TEXTURE_MIN_FILTER]:qe.NEAREST_MIPMAP_LINEAR,[qe.TEXTURE_WRAP_S]:qe.REPEAT,[qe.TEXTURE_WRAP_T]:qe.REPEAT};function wI(){return{id:"default-sampler",parameters:EI}}function SI(t){return bI[t]}function BI(t){return xI[t]}var bf=class{constructor(){this.baseUri="",this.jsonUnprocessed=void 0,this.json=void 0,this.buffers=[],this.images=[]}postProcess(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{json:n,buffers:s=[],images:i=[]}=e,{baseUri:o=""}=e;return pe(n),this.baseUri=o,this.buffers=s,this.images=i,this.jsonUnprocessed=n,this.json=this._resolveTree(e.json,r),this.json}_resolveTree(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={...e};return this.json=n,e.bufferViews&&(n.bufferViews=e.bufferViews.map((s,i)=>this._resolveBufferView(s,i))),e.images&&(n.images=e.images.map((s,i)=>this._resolveImage(s,i))),e.samplers&&(n.samplers=e.samplers.map((s,i)=>this._resolveSampler(s,i))),e.textures&&(n.textures=e.textures.map((s,i)=>this._resolveTexture(s,i))),e.accessors&&(n.accessors=e.accessors.map((s,i)=>this._resolveAccessor(s,i))),e.materials&&(n.materials=e.materials.map((s,i)=>this._resolveMaterial(s,i))),e.meshes&&(n.meshes=e.meshes.map((s,i)=>this._resolveMesh(s,i))),e.nodes&&(n.nodes=e.nodes.map((s,i)=>this._resolveNode(s,i)),n.nodes=n.nodes.map((s,i)=>this._resolveNodeChildren(s))),e.skins&&(n.skins=e.skins.map((s,i)=>this._resolveSkin(s,i))),e.scenes&&(n.scenes=e.scenes.map((s,i)=>this._resolveScene(s,i))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(e){return this._get(this.json.scenes,e)}getNode(e){return this._get(this.json.nodes,e)}getSkin(e){return this._get(this.json.skins,e)}getMesh(e){return this._get(this.json.meshes,e)}getMaterial(e){return this._get(this.json.materials,e)}getAccessor(e){return this._get(this.json.accessors,e)}getCamera(e){return this._get(this.json.cameras,e)}getTexture(e){return this._get(this.json.textures,e)}getSampler(e){return this._get(this.json.samplers,e)}getImage(e){return this._get(this.json.images,e)}getBufferView(e){return this._get(this.json.bufferViews,e)}getBuffer(e){return this._get(this.json.buffers,e)}_get(e,r){if(typeof r=="object")return r;let n=e&&e[r];return n||console.warn(`glTF file error: Could not find ${e}[${r}]`),n}_resolveScene(e,r){return{...e,id:e.id||`scene-${r}`,nodes:(e.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(e,r){let n={...e,id:e?.id||`node-${r}`};return e.mesh!==void 0&&(n.mesh=this.getMesh(e.mesh)),e.camera!==void 0&&(n.camera=this.getCamera(e.camera)),e.skin!==void 0&&(n.skin=this.getSkin(e.skin)),e.meshes!==void 0&&e.meshes.length&&(n.mesh=e.meshes.reduce((s,i)=>{let o=this.getMesh(i);return s.id=o.id,s.primitives=s.primitives.concat(o.primitives),s},{primitives:[]})),n}_resolveNodeChildren(e){return e.children&&(e.children=e.children.map(r=>this.getNode(r))),e}_resolveSkin(e,r){let n=typeof e.inverseBindMatrices=="number"?this.getAccessor(e.inverseBindMatrices):void 0;return{...e,id:e.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(e,r){let n={...e,id:e.id||`mesh-${r}`,primitives:[]};return e.primitives&&(n.primitives=e.primitives.map(s=>{let i={...s,attributes:{},indices:void 0,material:void 0},o=s.attributes;for(let a in o)i.attributes[a]=this.getAccessor(o[a]);return s.indices!==void 0&&(i.indices=this.getAccessor(s.indices)),s.material!==void 0&&(i.material=this.getMaterial(s.material)),i})),n}_resolveMaterial(e,r){let n={...e,id:e.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let s=n.pbrMetallicRoughness;s.baseColorTexture&&(s.baseColorTexture={...s.baseColorTexture},s.baseColorTexture.texture=this.getTexture(s.baseColorTexture.index)),s.metallicRoughnessTexture&&(s.metallicRoughnessTexture={...s.metallicRoughnessTexture},s.metallicRoughnessTexture.texture=this.getTexture(s.metallicRoughnessTexture.index))}return n}_resolveAccessor(e,r){let n=SI(e.componentType),s=BI(e.type),i=n*s,o={...e,id:e.id||`accessor-${r}`,bytesPerComponent:n,components:s,bytesPerElement:i,value:void 0,bufferView:void 0,sparse:void 0};if(e.bufferView!==void 0&&(o.bufferView=this.getBufferView(e.bufferView)),o.bufferView){let a=o.bufferView.buffer,{ArrayType:c,byteLength:u}=xn(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+a.byteOffset,f=a.arrayBuffer.slice(l,l+u);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(a,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new c(f)}return o}_getValueFromInterleavedBuffer(e,r,n,s,i){let o=new Uint8Array(i*s);for(let a=0;a<i;a++){let c=r+a*n;o.set(new Uint8Array(e.arrayBuffer.slice(c,c+s)),a*s)}return o.buffer}_resolveTexture(e,r){return{...e,id:e.id||`texture-${r}`,sampler:typeof e.sampler=="number"?this.getSampler(e.sampler):wI(),source:typeof e.source=="number"?this.getImage(e.source):void 0}}_resolveSampler(e,r){let n={id:e.id||`sampler-${r}`,...e,parameters:{}};for(let s in n){let i=this._enumSamplerParameter(s);i!==void 0&&(n.parameters[i]=n[s])}return n}_enumSamplerParameter(e){return TI[e]}_resolveImage(e,r){let n={...e,id:e.id||`image-${r}`,image:null,bufferView:e.bufferView!==void 0?this.getBufferView(e.bufferView):void 0},s=this.images[r];return s&&(n.image=s),n}_resolveBufferView(e,r){let n=e.buffer,s=this.buffers[n].arrayBuffer,i=this.buffers[n].byteOffset||0;return e.byteOffset&&(i+=e.byteOffset),{id:`bufferView-${r}`,...e,buffer:this.buffers[n],data:new Uint8Array(s,i,e.byteLength)}}_resolveCamera(e,r){let n={...e,id:e.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Os(t,e){return new bf().postProcess(t,e)}var la={URI:0,EMBEDDED:1};function fa(t,e,r,n){t.rotateYtoZ=!0;let s=(t.byteOffset||0)+(t.byteLength||0)-r;if(s===0)throw new Error("glTF byte length must be greater than 0.");return t.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",t.gltfArrayBuffer=pr(e,r,s),t.gltfByteOffset=0,t.gltfByteLength=s,r%4===0||console.warn(`${t.type}: embedded glb is not aligned to a 4-byte boundary.`),(t.byteOffset||0)+(t.byteLength||0)}async function ha(t,e,r,n){let s=r?.["3d-tiles"]||{};if(CI(t,e,r),s.loadGLTF){if(!n)return;if(t.gltfUrl){let{fetch:i}=n,o=await i(t.gltfUrl,r);t.gltfArrayBuffer=await o.arrayBuffer(),t.gltfByteOffset=0}if(t.gltfArrayBuffer){let i=await Le(t.gltfArrayBuffer,Nr,r,n);t.gltf=Os(i),t.gpuMemoryUsageInBytes=Ss(t.gltf),delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength}}}function CI(t,e,r){switch(e){case la.URI:if(t.gltfArrayBuffer){let n=new Uint8Array(t.gltfArrayBuffer,t.gltfByteOffset),i=new TextDecoder().decode(n);t.gltfUrl=i.replace(/[\s\0]+$/,"")}delete t.gltfArrayBuffer,delete t.gltfByteOffset,delete t.gltfByteLength;break;case la.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function My(t,e,r,n,s){var i;r=MI(t,e,r,n,s),await ha(t,la.EMBEDDED,n,s);let o=t==null||(i=t.gltf)===null||i===void 0?void 0:i.extensions;return o&&o.CESIUM_RTC&&(t.rtcCenter=o.CESIUM_RTC.center),r}function MI(t,e,r,n,s){r=ar(t,e,r),r=_n(t,e,r),r=An(t,e,r,n),r=fa(t,e,r,n);let i=new Pt(t.featureTableJson,t.featureTableBinary);return t.rtcCenter=i.getGlobalProperty("RTC_CENTER",H.FLOAT,3),r}async function Iy(t,e,r,n,s){return r=II(t,e,r,n,s),await ha(t,t.gltfFormat||0,n,s),r}function II(t,e,r,n,s){var i;if(r=ar(t,e,r),t.version!==1)throw new Error(`Instanced 3D Model version ${t.version} is not supported`);r=_n(t,e,r);let o=new DataView(e);if(t.gltfFormat=o.getUint32(r,!0),r+=4,r=An(t,e,r,n),r=fa(t,e,r,n),!(t!=null&&(i=t.header)!==null&&i!==void 0&&i.featureTableJsonByteLength)||t.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let a=new Pt(t.featureTableJson,t.featureTableBinary),c=a.getGlobalProperty("INSTANCES_LENGTH");if(a.featuresLength=c,!Number.isFinite(c))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");t.eastNorthUp=a.getGlobalProperty("EAST_NORTH_UP"),t.rtcCenter=a.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let u=new Pr(t.batchTableJson,t.batchTableBinary,c);return OI(t,a,u,c),r}function OI(t,e,r,n){let s=new Array(n),i=new w,o=new w,a=new w,c=new w,u=new W,l=new ht,f=new w,h={},d=new k,p=[],g=[],m=[],A=[];for(let v=0;v<n;v++){let x;if(e.hasProperty("POSITION"))x=e.getProperty("POSITION",H.FLOAT,3,v,i);else if(e.hasProperty("POSITION_QUANTIZED")){x=e.getProperty("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3,v,i);let y=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3);if(!y)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let R=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3);if(!R)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let P=65535;for(let F=0;F<3;F++)x[F]=x[F]/P*R[F]+y[F]}if(!x)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");i.copy(x),h.translation=i,t.normalUp=e.getProperty("NORMAL_UP",H.FLOAT,3,v,p),t.normalRight=e.getProperty("NORMAL_RIGHT",H.FLOAT,3,v,g);let b=!1;if(t.normalUp){if(!t.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");t.hasCustomOrientation=!0}else{if(t.octNormalUp=e.getProperty("NORMAL_UP_OCT32P",H.UNSIGNED_SHORT,2,v,p),t.octNormalRight=e.getProperty("NORMAL_RIGHT_OCT32P",H.UNSIGNED_SHORT,2,v,g),t.octNormalUp)throw t.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");t.eastNorthUp?(V.WGS84.eastNorthUpToFixedFrame(i,d),d.getRotationMatrix3(u)):u.identity()}b&&(c.copy(o).cross(a).normalize(),u.setColumn(0,o),u.setColumn(1,a),u.setColumn(2,c)),l.fromMatrix3(u),h.rotation=l,f.set(1,1,1);let M=e.getProperty("SCALE",H.FLOAT,1,v,m);Number.isFinite(M)&&f.multiplyByScalar(M);let C=e.getProperty("SCALE_NON_UNIFORM",H.FLOAT,3,v,p);C&&f.scale(C),h.scale=f;let I=e.getProperty("BATCH_ID",H.UNSIGNED_SHORT,1,v,A);I===void 0&&(I=v);let B=new k().fromQuaternion(h.rotation);d.identity(),d.translate(h.translation),d.multiplyRight(B),d.scale(h.scale);let S=d.clone();s[v]={modelMatrix:S,batchId:I}}t.instances=s}async function Oy(t,e,r,n,s,i){r=ar(t,e,r);let o=new DataView(e);for(t.tilesLength=o.getUint32(r,!0),r+=4,t.tiles=[];t.tiles.length<t.tilesLength&&(t.byteLength||0)-r>12;){let a={shape:"tile3d"};t.tiles.push(a),r=await i(e,r,n,s,a)}return r}async function Ry(t,e,r,n){var s,i;if(t.rotateYtoZ=!0,t.gltfUpAxis=r!=null&&(s=r["3d-tiles"])!==null&&s!==void 0&&s.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r!=null&&(i=r["3d-tiles"])!==null&&i!==void 0&&i.loadGLTF){if(!n)return e.byteLength;let o=await Le(e,Nr,r,n);t.gltf=Os(o),t.gpuMemoryUsageInBytes=Ss(t.gltf)}else t.gltfArrayBuffer=e;return e.byteLength}async function Tf(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{shape:"tile3d"};switch(s.byteOffset=e,s.type=U0(t,e),s.type){case Rr.COMPOSITE:return await Oy(s,t,e,r,n,Tf);case Rr.BATCHED_3D_MODEL:return await My(s,t,e,r,n);case Rr.GLTF:return await Ry(s,t,r,n);case Rr.INSTANCED_3D_MODEL:return await Iy(s,t,e,r,n);case Rr.POINT_CLOUD:return await iy(s,t,e,r,n);default:throw new Error(`3DTileLoader: unknown type ${s.type}`)}}async function Ef(t,e,r){if(new Uint32Array(t.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(t.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let i=Ly(t.slice(8,16)),o=new Uint8Array(t,24,i),c=new TextDecoder("utf8").decode(o),u=JSON.parse(c),l=Ly(t.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=t.slice(24+i)),await da(u,u.tileAvailability,f,r),Array.isArray(u.contentAvailability))for(let h of u.contentAvailability)await da(u,h,f,r);else await da(u,u.contentAvailability,f,r);return await da(u,u.childSubtreeAvailability,f,r),u}async function da(t,e,r,n){let s=Number.isFinite(e.bitstream)?e.bitstream:e.bufferView;if(typeof s!="number")return;let i=t.bufferViews[s],o=t.buffers[i.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 c=`${n?.baseUrl||""}/${o.uri}`,l=await(await n.fetch(c)).arrayBuffer();e.explicitBitstream=new Uint8Array(l,i.byteOffset,i.byteLength);return}let a=t.buffers.slice(0,i.buffer).reduce((c,u)=>c+u.byteLength,0);e.explicitBitstream=new Uint8Array(r.slice(a,a+o.byteLength),i.byteOffset,i.byteLength)}function Ly(t){let e=new DataView(t),r=e.getUint32(0,!0),n=e.getUint32(4,!0);return r+2**32*n}var pa={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Yo,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:Ef,options:{}};var l_=U(dn(),1);var o_=U(dn(),1);function RI(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var ma=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=RI(n),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function Py(t){let e;return t<10?e="".concat(t.toFixed(2),"ms"):t<100?e="".concat(t.toFixed(1),"ms"):t<1e3?e="".concat(t.toFixed(0),"ms"):e="".concat((t/1e3).toFixed(2),"s"),e}function Fy(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(e-t.length,0);return"".concat(" ".repeat(r)).concat(t)}function ga(t,e,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>n&&(r=Math.min(r,n/t.width));let i=t.width*r,o=t.height*r,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(i/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(s,");"),"background-size:".concat(i,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}var ya;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(ya||(ya={}));var LI=10;function Ny(t){return typeof t!="string"?t:(t=t.toUpperCase(),ya[t]||ya.WHITE)}function Dy(t,e,r){if(!nt&&typeof t=="string"){if(e){let n=Ny(e);t="\x1B[".concat(n,"m").concat(t,"\x1B[39m")}if(r){let n=Ny(r);t="\x1B[".concat(n+LI,"m").concat(t,"\x1B[49m")}}return t}function Uy(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(r),s=t;for(let i of n){let o=s[i];typeof o=="function"&&(e.find(a=>i===a)||(s[i]=o.bind(t)))}}function Bn(t,e){if(!t)throw new Error(e||"Assertion failed")}function Dr(){let t;if(nt()&&hn.performance){var e,r;t=hn===null||hn===void 0||(e=hn.performance)===null||e===void 0||(r=e.now)===null||r===void 0?void 0:r.call(e)}else if("hrtime"in Cr){var n;let s=Cr===null||Cr===void 0||(n=Cr.hrtime)===null||n===void 0?void 0:n.call(Cr);t=s[0]*1e3+s[1]/1e6}else t=Date.now();return t}var Cn={debug:nt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},PI={enabled:!0,level:0};function Je(){}var Gy={},ky={once:!0},Rs=class{constructor(){let{id:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Lo,this._startTs=Dr(),this._deltaTs=Dr(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new ma("__probe-".concat(this.id,"__"),PI),this.timeStamp("".concat(this.id," started")),Uy(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Dr()-this._startTs).toPrecision(10))}getDelta(){return Number((Dr()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,r){this._storage.setConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){Bn(e,r)}warn(e){return this._getLogFunction(0,e,Cn.warn,arguments,ky)}error(e){return this._getLogFunction(0,e,Cn.error,arguments)}deprecated(e,r){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(e,r){return this.error("`".concat(e,"` has been removed. Use `").concat(r,"` instead"))}probe(e,r){return this._getLogFunction(e,r,Cn.log,arguments,{time:!0,once:!0})}log(e,r){return this._getLogFunction(e,r,Cn.debug,arguments)}info(e,r){return this._getLogFunction(e,r,console.info,arguments)}once(e,r){return this._getLogFunction(e,r,Cn.debug||Cn.info,arguments,ky)}table(e,r,n){return r?this._getLogFunction(e,r,console.table||Je,n&&[n],{tag:UI(r)}):Je}image(e){let{logLevel:r,priority:n,image:s,message:i="",scale:o=1}=e;return this._shouldLog(r||n)?nt()?DI({image:s,message:i,scale:o}):NI({image:s,message:i,scale:o}):Je}time(e,r){return this._getLogFunction(e,r,console.time?console.time:console.info)}timeEnd(e,r){return this._getLogFunction(e,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,r){return this._getLogFunction(e,r,console.timeStamp||Je)}group(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=Hy({logLevel:e,message:r,opts:n}),{collapsed:i}=n;return s.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(e,r,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||Je)}withGroup(e,r,n){this.group(e,r)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=Vy(e)}_getLogFunction(e,r,n,s,i){if(this._shouldLog(e)){i=Hy({logLevel:e,message:r,args:s,opts:i}),n=n||i.method,Bn(n),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=Dr();let o=i.tag||i.message;if(i.once&&o)if(!Gy[o])Gy[o]=Dr();else return Je;return r=FI(this.id,i.message,i),n.bind(console,r,...i.args)}return Je}};Rs.VERSION=Lo;function Vy(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Bn(Number.isFinite(e)&&e>=0),e}function Hy(t){let{logLevel:e,message:r}=t;t.logLevel=Vy(e);let n=t.args?Array.from(t.args):[];for(;n.length&&n.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&n.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let s=typeof t.message;return Bn(s==="string"||s==="object"),Object.assign(t,{args:n},t.opts)}function FI(t,e,r){if(typeof e=="string"){let n=r.time?Fy(Py(r.total)):"";e=r.time?"".concat(t,": ").concat(n," ").concat(e):"".concat(t,": ").concat(e),e=Dy(e,r.color,r.background)}return e}function NI(t){let{image:e,message:r="",scale:n=1}=t;return console.warn("removed"),Je}function DI(t){let{image:e,message:r="",scale:n=1}=t;if(typeof e=="string"){let i=new Image;return i.onload=()=>{let o=ga(i,r,n);console.log(...o)},i.src=e,Je}let s=e.nodeName||"";if(s.toLowerCase()==="img")return console.log(...ga(e,r,n)),Je;if(s.toLowerCase()==="canvas"){let i=new Image;return i.onload=()=>console.log(...ga(i,r,n)),i.src=e.toDataURL(),Je}return Je}function UI(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}var wf=new Rs({id:"@probe.gl/log"});var We=null;try{We=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 re(t,e,r){this.low=t|0,this.high=e|0,this.unsigned=!!r}re.prototype.__isLong__;Object.defineProperty(re.prototype,"__isLong__",{value:!0});function Te(t){return(t&&t.__isLong__)===!0}function zy(t){var e=Math.clz32(t&-t);return t?31-e:e}re.isLong=Te;var jy={},qy={};function Ur(t,e){var r,n,s;return e?(t>>>=0,(s=0<=t&&t<256)&&(n=qy[t],n)?n:(r=q(t,0,!0),s&&(qy[t]=r),r)):(t|=0,(s=-128<=t&&t<128)&&(n=jy[t],n)?n:(r=q(t,t<0?-1:0,!1),s&&(jy[t]=r),r))}re.fromInt=Ur;function Xe(t,e){if(isNaN(t))return e?Ft:it;if(e){if(t<0)return Ft;if(t>=Ky)return Qy}else{if(t<=-Wy)return Re;if(t+1>=Wy)return Zy}return t<0?Xe(-t,e).neg():q(t%In|0,t/In|0,e)}re.fromNumber=Xe;function q(t,e,r){return new re(t,e,r)}re.fromBits=q;var _a=Math.pow;function Bf(t,e,r){if(t.length===0)throw Error("empty string");if(typeof e=="number"?(r=e,e=!1):e=!!e,t==="NaN"||t==="Infinity"||t==="+Infinity"||t==="-Infinity")return e?Ft:it;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=t.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return Bf(t.substring(1),e,r).neg();for(var s=Xe(_a(r,8)),i=it,o=0;o<t.length;o+=8){var a=Math.min(8,t.length-o),c=parseInt(t.substring(o,o+a),r);if(a<8){var u=Xe(_a(r,a));i=i.mul(u).add(Xe(c))}else i=i.mul(s),i=i.add(Xe(c))}return i.unsigned=e,i}re.fromString=Bf;function ot(t,e){return typeof t=="number"?Xe(t,e):typeof t=="string"?Bf(t,e):q(t.low,t.high,typeof e=="boolean"?e:t.unsigned)}re.fromValue=ot;var Jy=1<<16,GI=1<<24,In=Jy*Jy,Ky=In*In,Wy=Ky/2,Xy=Ur(GI),it=Ur(0);re.ZERO=it;var Ft=Ur(0,!0);re.UZERO=Ft;var Mn=Ur(1);re.ONE=Mn;var Yy=Ur(1,!0);re.UONE=Yy;var Sf=Ur(-1);re.NEG_ONE=Sf;var Zy=q(-1,2147483647,!1);re.MAX_VALUE=Zy;var Qy=q(-1,-1,!0);re.MAX_UNSIGNED_VALUE=Qy;var Re=q(0,-2147483648,!1);re.MIN_VALUE=Re;var L=re.prototype;L.toInt=function(){return this.unsigned?this.low>>>0:this.low};L.toNumber=function(){return this.unsigned?(this.high>>>0)*In+(this.low>>>0):this.high*In+(this.low>>>0)};L.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Re)){var r=Xe(e),n=this.div(r),s=n.mul(r).sub(this);return n.toString(e)+s.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var i=Xe(_a(e,6),this.unsigned),o=this,a="";;){var c=o.div(i),u=o.sub(c.mul(i)).toInt()>>>0,l=u.toString(e);if(o=c,o.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};L.getHighBits=function(){return this.high};L.getHighBitsUnsigned=function(){return this.high>>>0};L.getLowBits=function(){return this.low};L.getLowBitsUnsigned=function(){return this.low>>>0};L.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Re)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,r=31;r>0&&!(e&1<<r);r--);return this.high!=0?r+33:r+1};L.isZero=function(){return this.high===0&&this.low===0};L.eqz=L.isZero;L.isNegative=function(){return!this.unsigned&&this.high<0};L.isPositive=function(){return this.unsigned||this.high>=0};L.isOdd=function(){return(this.low&1)===1};L.isEven=function(){return(this.low&1)===0};L.equals=function(e){return Te(e)||(e=ot(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};L.eq=L.equals;L.notEquals=function(e){return!this.eq(e)};L.neq=L.notEquals;L.ne=L.notEquals;L.lessThan=function(e){return this.comp(e)<0};L.lt=L.lessThan;L.lessThanOrEqual=function(e){return this.comp(e)<=0};L.lte=L.lessThanOrEqual;L.le=L.lessThanOrEqual;L.greaterThan=function(e){return this.comp(e)>0};L.gt=L.greaterThan;L.greaterThanOrEqual=function(e){return this.comp(e)>=0};L.gte=L.greaterThanOrEqual;L.ge=L.greaterThanOrEqual;L.compare=function(e){if(Te(e)||(e=ot(e)),this.eq(e))return 0;var r=this.isNegative(),n=e.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};L.comp=L.compare;L.negate=function(){return!this.unsigned&&this.eq(Re)?Re:this.not().add(Mn)};L.neg=L.negate;L.add=function(e){Te(e)||(e=ot(e));var r=this.high>>>16,n=this.high&65535,s=this.low>>>16,i=this.low&65535,o=e.high>>>16,a=e.high&65535,c=e.low>>>16,u=e.low&65535,l=0,f=0,h=0,d=0;return d+=i+u,h+=d>>>16,d&=65535,h+=s+c,f+=h>>>16,h&=65535,f+=n+a,l+=f>>>16,f&=65535,l+=r+o,l&=65535,q(h<<16|d,l<<16|f,this.unsigned)};L.subtract=function(e){return Te(e)||(e=ot(e)),this.add(e.neg())};L.sub=L.subtract;L.multiply=function(e){if(this.isZero())return this;if(Te(e)||(e=ot(e)),We){var r=We.mul(this.low,this.high,e.low,e.high);return q(r,We.get_high(),this.unsigned)}if(e.isZero())return this.unsigned?Ft:it;if(this.eq(Re))return e.isOdd()?Re:it;if(e.eq(Re))return this.isOdd()?Re:it;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Xy)&&e.lt(Xy))return Xe(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,s=this.high&65535,i=this.low>>>16,o=this.low&65535,a=e.high>>>16,c=e.high&65535,u=e.low>>>16,l=e.low&65535,f=0,h=0,d=0,p=0;return p+=o*l,d+=p>>>16,p&=65535,d+=i*l,h+=d>>>16,d&=65535,d+=o*u,h+=d>>>16,d&=65535,h+=s*l,f+=h>>>16,h&=65535,h+=i*u,f+=h>>>16,h&=65535,h+=o*c,f+=h>>>16,h&=65535,f+=n*l+s*u+i*c+o*a,f&=65535,q(d<<16|p,f<<16|h,this.unsigned)};L.mul=L.multiply;L.divide=function(e){if(Te(e)||(e=ot(e)),e.isZero())throw Error("division by zero");if(We){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var r=(this.unsigned?We.div_u:We.div_s)(this.low,this.high,e.low,e.high);return q(r,We.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Ft:it;var n,s,i;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ft;if(e.gt(this.shru(1)))return Yy;i=Ft}else{if(this.eq(Re)){if(e.eq(Mn)||e.eq(Sf))return Re;if(e.eq(Re))return Mn;var o=this.shr(1);return n=o.div(e).shl(1),n.eq(it)?e.isNegative()?Mn:Sf:(s=this.sub(e.mul(n)),i=n.add(s.div(e)),i)}else if(e.eq(Re))return this.unsigned?Ft:it;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();i=it}for(s=this;s.gte(e);){n=Math.max(1,Math.floor(s.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),c=a<=48?1:_a(2,a-48),u=Xe(n),l=u.mul(e);l.isNegative()||l.gt(s);)n-=c,u=Xe(n,this.unsigned),l=u.mul(e);u.isZero()&&(u=Mn),i=i.add(u),s=s.sub(l)}return i};L.div=L.divide;L.modulo=function(e){if(Te(e)||(e=ot(e)),We){var r=(this.unsigned?We.rem_u:We.rem_s)(this.low,this.high,e.low,e.high);return q(r,We.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};L.mod=L.modulo;L.rem=L.modulo;L.not=function(){return q(~this.low,~this.high,this.unsigned)};L.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};L.clz=L.countLeadingZeros;L.countTrailingZeros=function(){return this.low?zy(this.low):zy(this.high)+32};L.ctz=L.countTrailingZeros;L.and=function(e){return Te(e)||(e=ot(e)),q(this.low&e.low,this.high&e.high,this.unsigned)};L.or=function(e){return Te(e)||(e=ot(e)),q(this.low|e.low,this.high|e.high,this.unsigned)};L.xor=function(e){return Te(e)||(e=ot(e)),q(this.low^e.low,this.high^e.high,this.unsigned)};L.shiftLeft=function(e){return Te(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?q(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):q(0,this.low<<e-32,this.unsigned)};L.shl=L.shiftLeft;L.shiftRight=function(e){return Te(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?q(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):q(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};L.shr=L.shiftRight;L.shiftRightUnsigned=function(e){return Te(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?q(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):e===32?q(this.high,0,this.unsigned):q(this.high>>>e-32,0,this.unsigned)};L.shru=L.shiftRightUnsigned;L.shr_u=L.shiftRightUnsigned;L.rotateLeft=function(e){var r;return Te(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?q(this.high,this.low,this.unsigned):e<32?(r=32-e,q(this.low<<e|this.high>>>r,this.high<<e|this.low>>>r,this.unsigned)):(e-=32,r=32-e,q(this.high<<e|this.low>>>r,this.low<<e|this.high>>>r,this.unsigned))};L.rotl=L.rotateLeft;L.rotateRight=function(e){var r;return Te(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?q(this.high,this.low,this.unsigned):e<32?(r=32-e,q(this.high<<r|this.low>>>e,this.low<<r|this.high>>>e,this.unsigned)):(e-=32,r=32-e,q(this.low<<r|this.high>>>e,this.high<<r|this.low>>>e,this.unsigned))};L.rotr=L.rotateRight;L.toSigned=function(){return this.unsigned?q(this.low,this.high,!1):this};L.toUnsigned=function(){return this.unsigned?this:q(this.low,this.high,!0)};L.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};L.toBytesLE=function(){var e=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};L.toBytesBE=function(){var e=this.high,r=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};re.fromBytes=function(e,r,n){return n?re.fromBytesLE(e,r):re.fromBytesBE(e,r)};re.fromBytesLE=function(e,r){return new re(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,r)};re.fromBytesBE=function(e,r){return new re(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],r)};var On=re;var kI=16;function Ls(t){t==="X"&&(t="");let e=t.padEnd(kI,"0");return On.fromString(e,!0,16)}function Cf(t){if(t.isZero())return"X";let e=t.countTrailingZeros(),r=e%4;e=(e-r)/4;let n=e;e*=4;let i=t.shiftRightUnsigned(e).toString(16).replace(/0+$/,"");return Array(17-n-i.length).join("0")+i}function Mf(t,e){let r=HI(t).shiftRightUnsigned(2);return t.add(On.fromNumber(2*e+1-4).multiply(r))}function HI(t){return t.and(t.not().add(1))}var VI=3,zI=30,jI=2*zI+1,$y=180/Math.PI;function t_(t){if(t.length===0)throw new Error(`Invalid Hilbert quad key ${t}`);let e=t.split("/"),r=parseInt(e[0],10),n=e[1],s=n.length,i=0,o=[0,0];for(let a=s-1;a>=0;a--){i=s-a;let c=n[a],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);let f=Math.pow(2,i-1);qI(f,o,u,l),o[0]+=f*u,o[1]+=f*l}if(r%2===1){let a=o[0];o[0]=o[1],o[1]=a}return{face:r,ij:o,level:i}}function r_(t){if(t.isZero())return"";let e=t.toString(2);for(;e.length<VI+jI;)e="0"+e;let r=e.lastIndexOf("1"),n=e.substring(0,3),s=e.substring(3,r),i=s.length/2,o=On.fromString(n,!0,2).toString(10),a="";if(i!==0)for(a=On.fromString(s,!0,2).toString(4);a.length<i;)a="0"+a;return`${o}/${a}`}function If(t,e,r){let n=1<<e;return[(t[0]+r[0])/n,(t[1]+r[1])/n]}function e_(t){return t>=.5?1/3*(4*t*t-1):1/3*(1-4*(1-t)*(1-t))}function Of(t){return[e_(t[0]),e_(t[1])]}function Rf(t,e){let[r,n]=e;switch(t){case 0:return[1,r,n];case 1:return[-r,1,n];case 2:return[-r,-n,1];case 3:return[-1,-n,-r];case 4:return[n,-1,-r];case 5:return[n,r,-1];default:throw new Error("Invalid face")}}function Lf(t){let[e,r,n]=t,s=Math.atan2(n,Math.sqrt(e*e+r*r));return[Math.atan2(r,e)*$y,s*$y]}function qI(t,e,r,n){if(n===0){r===1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let s=e[0];e[0]=e[1],e[1]=s}}function n_(t){let e=If(t.ij,t.level,[.5,.5]),r=Of(e),n=Rf(t.face,r);return Lf(n)}var JI=100;function Pf(t){let{face:e,ij:r,level:n}=t,s=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(JI*Math.pow(2,-n))),o=new Float64Array(4*i*2+2),a=0,c=0;for(let u=0;u<4;u++){let l=s[u].slice(0),f=s[u+1],h=(f[0]-l[0])/i,d=(f[1]-l[1])/i;for(let p=0;p<i;p++){l[0]+=h,l[1]+=d;let g=If(r,n,l),m=Of(g),A=Rf(e,m),v=Lf(A);Math.abs(v[1])>89.999&&(v[0]=c);let x=v[0]-c;v[0]+=x>180?-360:x<-180?360:0,o[a++]=v[0],o[a++]=v[1],c=v[0]}}return o[a++]=o[0],o[a++]=o[1],o}function Rn(t){let e=WI(t);return t_(e)}function WI(t){if(t.indexOf("/")>0)return t;let e=Ls(t);return r_(e)}function Ff(t){let e=Rn(t);return n_(e)}function i_(t){let e;if(t.face===2||t.face===5){let r=null,n=0;for(let s=0;s<4;s++){let i=`${t.face}/${s}`,o=Rn(i),a=Pf(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}e=s_(r)}else{let r=Pf(t);e=s_(r)}return e}function s_(t){if(t.length%2!==0)throw new Error("Invalid corners");let e=[],r=[];for(let n=0;n<t.length;n+=2)e.push(t[n]),r.push(t[n+1]);return e.sort((n,s)=>n-s),r.sort((n,s)=>n-s),{west:e[0],east:e[e.length-1],north:r[r.length-1],south:r[0]}}function Nf(t,e){let r=e?.minimumHeight||0,n=e?.maximumHeight||0,s=Rn(t),i=i_(s),o=i.west,a=i.south,c=i.east,u=i.north,l=[];return l.push(new w(o,u,r)),l.push(new w(c,u,r)),l.push(new w(c,a,r)),l.push(new w(o,a,r)),l.push(new w(o,u,n)),l.push(new w(c,u,n)),l.push(new w(c,a,n)),l.push(new w(o,a,n)),l}function Aa(t){let e=t.token,r={minimumHeight:t.minimumHeight,maximumHeight:t.maximumHeight},n=Nf(e,r),s=Ff(e),i=s[0],o=s[1],a=V.WGS84.cartographicToCartesian([i,o,r.maximumHeight]),c=new w(a[0],a[1],a[2]);n.push(c);let u=is(n);return[...u.center,...u.halfAxes]}var XI=4,KI=8,YI={QUADTREE:XI,OCTREE:KI};function ZI(t,e,r){if(t!=null&&t.box){let n=Ls(t.s2VolumeInfo.token),s=Mf(n,e),i=Cf(s),o={...t.s2VolumeInfo};switch(o.token=i,r){case"OCTREE":let u=t.s2VolumeInfo,l=u.maximumHeight-u.minimumHeight,f=l/2,h=u.minimumHeight+l/2;u.minimumHeight=h-f,u.maximumHeight=h+f;break;default:break}return{box:Aa(o),s2VolumeInfo:o}}}async function Uf(t){let{implicitOptions:e,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:s,loaderOptions:i}=t,{subtree:o,level:a=0,globalData:c={level:0,mortonIndex:0,x:0,y:0,z:0}}=t,{subdivisionScheme:u,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:h,subtreesUriTemplate:d,basePath:p}=e,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return wf.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),g;let m=a+c.level;if(m>f)return g;let A=YI[u],v=Math.log2(A),x=n&1,b=n>>1&1,M=n>>2&1,C=(A**a-1)/(A-1),I=Gr(r.mortonIndex,n,v),B=C+I,S=Gr(r.x,x,1),y=Gr(r.y,b,1),R=Gr(r.z,M,1),P=!1;a>=l&&(P=Df(o.childSubtreeAvailability,I));let F=Gr(c.x,S,a),N=Gr(c.y,y,a),G=Gr(c.z,R,a);if(P){let $=`${p}/${d}`,oe=va($,m,F,N,G);o=await(0,o_.load)(oe,pa,i),c={mortonIndex:I,x:S,y,z:R,level:a},I=0,B=0,S=0,y=0,R=0,a=0}if(!Df(o.tileAvailability,B))return g;Df(o.contentAvailability,B)&&(g.contentUrl=va(h,m,F,N,G));let ne=a+1,Z={mortonIndex:I,x:S,y,z:R};for(let $=0;$<A;$++){let oe=ZI(s,$,u),Be=await Uf({subtree:o,implicitOptions:e,loaderOptions:i,parentData:Z,childIndex:$,level:ne,globalData:{...c},s2VolumeBox:oe});if(Be.contentUrl||Be.children.length){let bA=m+1,TA=QI(Be,bA,{childTileX:S,childTileY:y,childTileZ:R},e,s);g.children.push(TA)}}return g}function Df(t,e){let r;return Array.isArray(t)?(r=t[0],t.length>1&&wf.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=t,"constant"in r?Boolean(r.constant):r.explicitBitstream?t2(e,r.explicitBitstream):!1}function QI(t,e,r,n,s){let{basePath:i,refine:o,getRefine:a,lodMetricType:c,getTileType:u,rootLodMetricValue:l,rootBoundingVolume:f}=n,h=t.contentUrl&&t.contentUrl.replace(`${i}/`,""),d=l/2**e,p=s!=null&&s.box?{box:s.box}:f,g=$I(e,p,r);return{children:t.children,contentUrl:t.contentUrl,content:{uri:h},id:t.contentUrl,refine:a(o),type:u(t),lodMetricType:c,lodMetricValue:d,geometricError:d,transform:t.transform,boundingVolume:g}}function $I(t,e,r){if(e.region){let{childTileX:n,childTileY:s,childTileZ:i}=r,[o,a,c,u,l,f]=e.region,h=2**t,d=(c-o)/h,p=(u-a)/h,g=(f-l)/h,[m,A]=[o+d*n,o+d*(n+1)],[v,x]=[a+p*s,a+p*(s+1)],[b,M]=[l+g*i,l+g*(i+1)];return{region:[m,v,A,x,b,M]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${e}`)}function Gr(t,e,r){return(t<<r)+e}function va(t,e,r,n,s){let i=e2({level:e,x:r,y:n,z:s});return t.replace(/{level}|{x}|{y}|{z}/gi,o=>i[o])}function e2(t){let e={};for(let r in t)e[`{${r}}`]=t[r];return e}function t2(t,e){let r=Math.floor(t/8),n=t%8;return(e[r]>>n&1)===1}function kf(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(!e)return _t.EMPTY;let n=e.split("?")[0].split(".").pop();switch(n){case"pnts":return _t.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return _t.SCENEGRAPH;default:return n||_t.EMPTY}}function Hf(t){switch(t){case"REPLACE":case"replace":return Me.REPLACE;case"ADD":case"add":return Me.ADD;default:return t}}function Gf(t,e){if(/^[a-z][0-9a-z+.-]*:/i.test(e)){let n=new URL(t,`${e}/`);return decodeURI(n.toString())}else if(t.startsWith("/"))return t;return Vt.resolve(e,t)}function a_(t,e){if(!t)return null;let r;if(t.content){var n;let i=t.content.uri||((n=t.content)===null||n===void 0?void 0:n.url);typeof i<"u"&&(r=Gf(i,e))}return{...t,id:r,contentUrl:r,lodMetricType:Mr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:kf(t,r),refine:Hf(t.refine)}}async function f_(t,e,r){let n=null,s=u_(t.root);s&&t.root?n=await c_(t.root,t,e,s,r):n=a_(t.root,e);let i=[];for(i.push(n);i.length>0;){let o=i.pop()||{},a=o.children||[],c=[];for(let u of a){let l=u_(u),f;l?f=await c_(u,t,e,l,r):f=a_(u,e),f&&(c.push(f),i.push(f))}o.children=c}return n}async function c_(t,e,r,n,s){var i,o,a;let{subdivisionScheme:c,maximumLevel:u,availableLevels:l,subtreeLevels:f,subtrees:{uri:h}}=n,d=va(h,0,0,0,0),p=Gf(d,r),g=await(0,l_.load)(p,pa,s),m=(i=t.content)===null||i===void 0?void 0:i.uri,A=m?Gf(m,r):"",v=e==null||(o=e.root)===null||o===void 0?void 0:o.refine,x=t.geometricError,b=(a=t.boundingVolume.extensions)===null||a===void 0?void 0:a["3DTILES_bounding_volume_S2"];if(b){let B={box:Aa(b),s2VolumeInfo:b};t.boundingVolume=B}let M=t.boundingVolume,C={contentUrlTemplate:A,subtreesUriTemplate:h,subdivisionScheme:c,subtreeLevels:f,maximumLevel:Number.isFinite(l)?l-1:u,refine:v,basePath:r,lodMetricType:Mr.GEOMETRIC_ERROR,rootLodMetricValue:x,rootBoundingVolume:M,getTileType:kf,getRefine:Hf};return await r2(t,r,g,C,s)}async function r2(t,e,r,n,s){if(!t)return null;let{children:i,contentUrl:o}=await Uf({subtree:r,implicitOptions:n,loaderOptions:s}),a,c=null;return o&&(a=o,c={uri:o.replace(`${e}/`,"")}),{...t,id:a,contentUrl:a,lodMetricType:Mr.GEOMETRIC_ERROR,lodMetricValue:t.geometricError,transformMatrix:t.transform,type:kf(t,a),refine:Hf(t.refine),content:c||t.content,children:i}}function u_(t){var e;return(t==null||(e=t.extensions)===null||e===void 0?void 0:e["3DTILES_implicit_tiling"])||t?.implicitTiling}var xa={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Yo,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:n2,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function n2(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,n=e["3d-tiles"]||{},s;return n.isTileset==="auto"?s=r?.url&&r.url.indexOf(".json")!==-1:s=n.isTileset,s?s2(t,e,r):i2(t,e,r)}async function s2(t,e,r){var n;let s=JSON.parse(new TextDecoder().decode(t)),i=r?.url||"",o=o2(i),a=await f_(s,o,e||{});return{...s,shape:"tileset3d",loader:xa,url:i,queryString:r?.queryString||"",basePath:o,root:a||s.root,type:ve.TILES3D,lodMetricType:Mr.GEOMETRIC_ERROR,lodMetricValue:((n=s.root)===null||n===void 0?void 0:n.geometricError)||0}}async function i2(t,e,r){let n={content:{shape:"tile3d",featureIds:null}};return await Tf(t,0,e,r,n.content),n.content}function o2(t){return Vt.dirname(t)}function ba(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ba=function(r){return typeof r}:ba=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ba(t)}function h_(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function Ln(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?h_(Object(r),!0).forEach(function(n){a2(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):h_(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function a2(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function d_(t,e,r,n,s,i,o){try{var a=t[i](o),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,s)}function c2(t){return function(){var e=this,r=arguments;return new Promise(function(n,s){var i=t.apply(e,r);function o(c){d_(i,n,s,o,a,"next",c)}function a(c){d_(i,n,s,o,a,"throw",c)}o(void 0)})}}function u2(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function p_(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l2(t,e,r){return e&&p_(t.prototype,e),r&&p_(t,r),t}function Ta(t,e,r){return typeof Reflect<"u"&&Reflect.get?Ta=Reflect.get:Ta=function(s,i,o){var a=f2(s,i);if(a){var c=Object.getOwnPropertyDescriptor(a,i);return c.get?c.get.call(o):c.value}},Ta(t,e,r||t)}function f2(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Pn(t),t!==null););return t}function h2(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Vf(t,e)}function Vf(t,e){return Vf=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},Vf(t,e)}function d2(t){var e=g2();return function(){var n=Pn(t),s;if(e){var i=Pn(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return p2(this,s)}}function p2(t,e){if(e&&(ba(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return m2(t)}function m2(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function g2(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Pn(t){return Pn=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Pn(t)}var m_=[0],y2={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:"",loader:xa,onTilesetLoad:{type:"function",value:function(e){}},onTileLoad:{type:"function",value:function(e){}},onTileUnload:{type:"function",value:function(e){}},onTileError:{type:"function",value:function(e,r,n){}},_getMeshColor:{type:"function",value:function(e){return[255,255,255]}}},Ea=function(t){h2(r,t);var e=d2(r);function r(){var s;u2(this,r);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return s=e.call.apply(e,[this].concat(o)),s.state=void 0,s}var n=r.prototype;return n.initializeState=function(){"onTileLoadFail"in this.props&&ur.log.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}},n.shouldUpdateState=function(i){var o=i.changeFlags;return o.somethingChanged},n.updateState=function(i){var o=i.props,a=i.oldProps,c=i.changeFlags;if(o.data&&o.data!==a.data&&this._loadTileset(o.data),c.viewportChanged){var u=this.state.activeViewports,l=Object.keys(u).length;l&&(this._updateTileset(u),this.state.lastUpdatedViewports=u,this.state.activeViewports={})}if(c.propsChanged){var f=this.state.layerMap;for(var h in f)f[h].needsUpdate=!0}},n.activateViewport=function(i){var o=this.state,a=o.activeViewports,c=o.lastUpdatedViewports;this.internalState.viewport=i,a[i.id]=i;var u=c?.[i.id];(!u||!i.equals(u))&&(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())},n.getPickingInfo=function(i){var o=i.info,a=i.sourceLayer,c=a&&a.props.tile;return o.picked&&(o.object=c),o.sourceTile=c,o},n.filterSubLayer=function(i){var o=i.layer,a=i.viewport,c=o.props,u=c.tile,l=a.id;return u.selected&&u.viewportIds.includes(l)},n._updateAutoHighlight=function(i){var o=i.sourceTile,a=this.state.layerMap[o?.id];a&&a.layer&&a.layer.updateAutoHighlight(i)},n._loadTileset=function(){var s=c2(regeneratorRuntime.mark(function o(a){var c,u,l,f,h,d,p,g,m;return regeneratorRuntime.wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(c=this.props.loadOptions,u=c===void 0?{}:c,l=this.props.loader||this.props.loaders,f=Array.isArray(l)?l[0]:l,h={loadOptions:Ln({},u)},d=a,!f.preload){v.next=12;break}return v.next=8,f.preload(a,u);case 8:p=v.sent,p.url&&(d=p.url),p.headers&&(h.loadOptions.fetch=Ln(Ln({},h.loadOptions.fetch),{},{headers:p.headers})),Object.assign(h,p);case 12:return v.next=14,(0,__.load)(d,f,h.loadOptions);case 14:g=v.sent,m=new Ts(g,Ln({onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileError:this.props.onTileError},h)),this.setState({tileset3d:m,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(m);case 19:case"end":return v.stop()}},o,this)}));function i(o){return s.apply(this,arguments)}return i}(),n._onTileLoad=function(i){var o=this.state.lastUpdatedViewports;this.props.onTileLoad(i),this._updateTileset(o),this.setNeedsUpdate()},n._onTileUnload=function(i){delete this.state.layerMap[i.id],this.props.onTileUnload(i)},n._updateTileset=function(i){var o=this;if(i){var a=this.state.tileset3d,c=this.context.timeline,u=Object.keys(i).length;!c||!u||!a||a.selectTiles(Object.values(i)).then(function(l){var f=o.state.frameNumber!==l;f&&o.setState({frameNumber:l})})}},n._getSubLayer=function(i,o){if(!i.content)return null;switch(i.type){case _t.POINTCLOUD:return this._makePointCloudLayer(i,o);case _t.SCENEGRAPH:return this._make3DModelLayer(i);case _t.MESH:return this._makeSimpleMeshLayer(i,o);default:throw new Error("Tile3DLayer: Failed to render layer of type ".concat(i.content.type))}},n._makePointCloudLayer=function(i,o){var a=i.content,c=a.attributes,u=a.pointCount,l=a.constantRGBA,f=a.cartographicOrigin,h=a.modelMatrix,d=c.positions,p=c.normals,g=c.colors;if(!d)return null;var m=o&&o.props.data||{header:{vertexCount:u},attributes:{POSITION:d,NORMAL:p,COLOR_0:g}},A=this.props,v=A.pointSize,x=A.getPointColor,b=this.getSubLayerClass("pointcloud",g_.PointCloudLayer);return new b({pointSize:v},this.getSubLayerProps({id:"pointcloud"}),{id:"".concat(this.id,"-pointcloud-").concat(i.id),tile:i,data:m,coordinateSystem:ur.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:f,modelMatrix:h,getColor:l||x,_offset:0})},n._make3DModelLayer=function(i){var o=i.content,a=o.gltf,c=o.instances,u=o.cartographicOrigin,l=o.modelMatrix,f=this.getSubLayerClass("scenegraph",y_.ScenegraphLayer);return new f({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:"".concat(this.id,"-scenegraph-").concat(i.id),tile:i,data:c||m_,scenegraph:a,coordinateSystem:ur.COORDINATE_SYSTEM.METER_OFFSETS,coordinateOrigin:u,modelMatrix:l,getTransformMatrix:function(d){return d.modelMatrix},getPosition:[0,0,0],_offset:0})},n._makeSimpleMeshLayer=function(i,o){var a=i.content,c=a.attributes,u=a.indices,l=a.modelMatrix,f=a.cartographicOrigin,h=a.coordinateSystem,d=h===void 0?ur.COORDINATE_SYSTEM.METER_OFFSETS:h,p=a.material,g=a.featureIds,m=this.props._getMeshColor,A=o&&o.props.mesh||new As({topology:"triangle-list",attributes:_2(c),indices:u}),v=this.getSubLayerClass("mesh",Fo);return new v(this.getSubLayerProps({id:"mesh"}),{id:"".concat(this.id,"-mesh-").concat(i.id),tile:i,mesh:A,data:m_,getColor:m(i),pbrMaterial:p,modelMatrix:l,coordinateOrigin:f,coordinateSystem:d,featureIds:g,_offset:0})},n.renderLayers=function(){var i=this,o=this.state,a=o.tileset3d,c=o.layerMap;return a?a.tiles.map(function(u){var l=c[u.id]=c[u.id]||{tile:u},f=l.layer;return u.selected&&(f?l.needsUpdate&&(f=i._getSubLayer(u,f),l.needsUpdate=!1):f=i._getSubLayer(u)),l.layer=f,f}).filter(Boolean):null},l2(r,[{key:"isLoaded",get:function(){var i,o;return Boolean(((i=this.state)===null||i===void 0||(o=i.tileset3d)===null||o===void 0?void 0:o.isLoaded())&&Ta(Pn(r.prototype),"isLoaded",this))}}]),r}(ur.CompositeLayer);Ea.defaultProps=y2;Ea.layerName="Tile3DLayer";function _2(t){var e={};return e.positions=Ln(Ln({},t.positions),{},{value:new Float32Array(t.positions.value)}),t.normals&&(e.normals=t.normals),t.texCoords&&(e.texCoords=t.texCoords),t.colors&&(e.colors=t.colors),t.uvRegions&&(e.uvRegions=t.uvRegions),e}var Oa=U(Ze()),Kf=U(Mo()),C_=U(Ze());var A2=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function zf(t){return t>>1^-(t&1)}function v2(t){let e=0,r={};for(let[n,s]of A2){let i=s===8?t.getFloat64:t.getFloat32;r[n]=i.call(t,e,!0),e+=s}return{header:r,headerEndPosition:e}}function x2(t,e){let r=e,n=3,s=t.getUint32(r,!0),i=new Uint16Array(s*n);r+=Uint32Array.BYTES_PER_ELEMENT;let o=Uint16Array.BYTES_PER_ELEMENT,a=s*o,c=r,u=c+a,l=u+a,f=0,h=0,d=0;for(let p=0;p<s;p++)f+=zf(t.getUint16(c+o*p,!0)),h+=zf(t.getUint16(u+o*p,!0)),d+=zf(t.getUint16(l+o*p,!0)),i[p]=f,i[p+s]=h,i[p+s*2]=d;return r+=a*3,{vertexData:i,vertexDataEndPosition:r}}function Ps(t,e,r,n){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i;if(n===2?i=new Uint16Array(t,e,r):i=new Uint32Array(t,e,r),!s)return i;let o=0;for(let a=0;a<i.length;++a){let c=i[a];i[a]=o-c,c===0&&++o}return i}function b2(t,e,r){let n=r,s=3,o=e.length/s>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;n%o!==0&&(n+=o-n%o);let a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=a*3,u=Ps(t.buffer,n,c,o);return n+=c*o,{triangleIndicesEndPosition:n,triangleIndices:u}}function T2(t,e,r){let n=r,s=3,o=e.length/s>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,a=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let c=Ps(t.buffer,n,a,o,!1);n+=a*o;let u=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let l=Ps(t.buffer,n,u,o,!1);n+=u*o;let f=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let h=Ps(t.buffer,n,f,o,!1);n+=f*o;let d=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let p=Ps(t.buffer,n,d,o,!1);return n+=d*o,{edgeIndicesEndPosition:n,westIndices:c,southIndices:l,eastIndices:h,northIndices:p}}function E2(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function w2(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function S2(t,e){let r={};if(t.byteLength<=e)return{extensions:r,extensionsEndPosition:e};let n=e;for(;n<t.byteLength;){let s=t.getUint8(n,!0);n+=Uint8Array.BYTES_PER_ELEMENT;let i=t.getUint32(n,!0);n+=Uint32Array.BYTES_PER_ELEMENT;let o=new DataView(t.buffer,n,i);switch(s){case 1:{r.vertexNormals=E2(o);break}case 2:{r.waterMask=w2(o);break}default:}n+=i}return{extensions:r,extensionsEndPosition:n}}var kr={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},B2={maxDecodingStep:kr.extensions};function jf(t,e){let r=Object.assign({},B2,e),n=new DataView(t),{header:s,headerEndPosition:i}=v2(n);if(r.maxDecodingStep<kr.vertices)return{header:s};let{vertexData:o,vertexDataEndPosition:a}=x2(n,i);if(r.maxDecodingStep<kr.triangleIndices)return{header:s,vertexData:o};let{triangleIndices:c,triangleIndicesEndPosition:u}=b2(n,o,a);if(r.maxDecodingStep<kr.edgeIndices)return{header:s,vertexData:o,triangleIndices:c};let{westIndices:l,southIndices:f,eastIndices:h,northIndices:d,edgeIndicesEndPosition:p}=T2(n,o,u);if(r.maxDecodingStep<kr.extensions)return{header:s,vertexData:o,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f};let{extensions:g}=S2(n,p);return{header:s,vertexData:o,triangleIndices:c,westIndices:l,northIndices:d,eastIndices:h,southIndices:f,extensions:g}}function wa(t,e,r,n){let s=n?M2(n,t.POSITION.value):C2(e),i=new t.POSITION.value.constructor(s.length*6),o=new t.TEXCOORD_0.value.constructor(s.length*4),a=new e.constructor(s.length*6);for(let u=0;u<s.length;u++){let l=s[u];I2({edge:l,edgeIndex:u,attributes:t,skirtHeight:r,newPosition:i,newTexcoord0:o,newTriangles:a})}t.POSITION.value=Vn(t.POSITION.value,i),t.TEXCOORD_0.value=Vn(t.TEXCOORD_0.value,o);let c=e instanceof Array?e.concat(a):Vn(e,a);return{attributes:t,triangles:c}}function C2(t){let e=[];for(let o=0;o<t.length;o+=3)e.push([t[o],t[o+1]]),e.push([t[o+1],t[o+2]]),e.push([t[o+2],t[o]]);e.sort((o,a)=>Math.min(...o)-Math.min(...a)||Math.max(...o)-Math.max(...a));let r=[],n=0;for(;n<e.length;){var s,i;e[n][0]===((s=e[n+1])===null||s===void 0?void 0:s[1])&&e[n][1]===((i=e[n+1])===null||i===void 0?void 0:i[0])?n+=2:(r.push(e[n]),n++)}return r}function M2(t,e){t.westIndices.sort((n,s)=>e[3*n+1]-e[3*s+1]),t.eastIndices.sort((n,s)=>e[3*s+1]-e[3*n+1]),t.southIndices.sort((n,s)=>e[3*s]-e[3*n]),t.northIndices.sort((n,s)=>e[3*n]-e[3*s]);let r=[];for(let n in t){let s=t[n];for(let i=0;i<s.length-1;i++)r.push([s[i],s[i+1]])}return r}function I2(t){let{edge:e,edgeIndex:r,attributes:n,skirtHeight:s,newPosition:i,newTexcoord0:o,newTriangles:a}=t,c=n.POSITION.value.length,u=r*2,l=r*2+1;i.set(n.POSITION.value.subarray(e[0]*3,e[0]*3+3),u*3),i[u*3+2]=i[u*3+2]-s,i.set(n.POSITION.value.subarray(e[1]*3,e[1]*3+3),l*3),i[l*3+2]=i[l*3+2]-s,o.set(n.TEXCOORD_0.value.subarray(e[0]*2,e[0]*2+2),u*2),o.set(n.TEXCOORD_0.value.subarray(e[1]*2,e[1]*2+2),l*2);let f=r*2*3;a[f]=e[0],a[f+1]=c/3+l,a[f+2]=e[1],a[f+3]=c/3+l,a[f+4]=e[0],a[f+5]=c/3+u}function qf(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{bounds:r}=e,{header:n,vertexData:s,triangleIndices:i,westIndices:o,northIndices:a,eastIndices:c,southIndices:u}=jf(t,kr.triangleIndices),l=i,f=O2(s,n,r),h=Lr(f);if(e!=null&&e.skirtHeight){let{attributes:d,triangles:p}=wa(f,l,e.skirtHeight,{westIndices:o,northIndices:a,eastIndices:c,southIndices:u});f=d,l=p}return{loaderData:{header:{}},header:{vertexCount:l.length,boundingBox:h},schema:void 0,topology:"triangle-list",mode:4,indices:{value:l,size:1},attributes:f}}function O2(t,e,r){let{minHeight:n,maxHeight:s}=e,[i,o,a,c]=r||[0,0,1,1],u=a-i,l=c-o,f=s-n,h=t.length/3,d=new Float32Array(h*3),p=new Float32Array(h*2);for(let g=0;g<h;g++){let m=t[g]/32767,A=t[g+h]/32767,v=t[g+h*2]/32767;d[3*g+0]=m*u+i,d[3*g+1]=A*l+o,d[3*g+2]=v*f+n,p[2*g+0]=m,p[2*g+1]=A}return{POSITION:{value:d,size:3},TEXCOORD_0:{value:p,size:2}}}var Fs=class{constructor(e=257){this.gridSize=e;let r=e-1;if(r&r-1)throw new Error(`Expected grid size to be 2^n+1, got ${e}.`);this.numTriangles=r*r*2-2,this.numParentTriangles=this.numTriangles-r*r,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(this.numTriangles*4);for(let n=0;n<this.numTriangles;n++){let s=n+2,i=0,o=0,a=0,c=0,u=0,l=0;for(s&1?a=c=u=r:i=o=l=r;(s>>=1)>1;){let h=i+a>>1,d=o+c>>1;s&1?(a=i,c=o,i=u,o=l):(i=a,o=c,a=u,c=l),u=h,l=d}let f=n*4;this.coords[f+0]=i,this.coords[f+1]=o,this.coords[f+2]=a,this.coords[f+3]=c}}createTile(e){return new Jf(e,this)}},Jf=class{constructor(e,r){let n=r.gridSize;if(e.length!==n*n)throw new Error(`Expected terrain data of length ${n*n} (${n} x ${n}), got ${e.length}.`);this.terrain=e,this.martini=r,this.errors=new Float32Array(e.length),this.update()}update(){let{numTriangles:e,numParentTriangles:r,coords:n,gridSize:s}=this.martini,{terrain:i,errors:o}=this;for(let a=e-1;a>=0;a--){let c=a*4,u=n[c+0],l=n[c+1],f=n[c+2],h=n[c+3],d=u+f>>1,p=l+h>>1,g=d+p-l,m=p+u-d,A=(i[l*s+u]+i[h*s+f])/2,v=p*s+d,x=Math.abs(A-i[v]);if(o[v]=Math.max(o[v],x),a<r){let b=(l+m>>1)*s+(u+g>>1),M=(h+m>>1)*s+(f+g>>1);o[v]=Math.max(o[v],o[b],o[M])}}}getMesh(e=0){let{gridSize:r,indices:n}=this.martini,{errors:s}=this,i=0,o=0,a=r-1;n.fill(0);function c(d,p,g,m,A,v){let x=d+g>>1,b=p+m>>1;Math.abs(d-A)+Math.abs(p-v)>1&&s[b*r+x]>e?(c(A,v,d,p,x,b),c(g,m,A,v,x,b)):(n[p*r+d]=n[p*r+d]||++i,n[m*r+g]=n[m*r+g]||++i,n[v*r+A]=n[v*r+A]||++i,o++)}c(0,0,a,a,a,0),c(a,a,0,0,0,a);let u=new Uint16Array(i*2),l=new Uint32Array(o*3),f=0;function h(d,p,g,m,A,v){let x=d+g>>1,b=p+m>>1;if(Math.abs(d-A)+Math.abs(p-v)>1&&s[b*r+x]>e)h(A,v,d,p,x,b),h(g,m,A,v,x,b);else{let M=n[p*r+d]-1,C=n[m*r+g]-1,I=n[v*r+A]-1;u[2*M]=d,u[2*M+1]=p,u[2*C]=g,u[2*C+1]=m,u[2*I]=A,u[2*I+1]=v,l[f++]=M,l[f++]=C,l[f++]=I}}return h(0,0,a,a,a,0),h(a,a,0,0,0,a),{vertices:u,triangles:l}}};var Ns=class{constructor(e,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r;this.data=e,this.width=r,this.height=n,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;let s=r-1,i=n-1,o=this._addPoint(0,0),a=this._addPoint(s,0),c=this._addPoint(0,i),u=this._addPoint(s,i),l=this._addTriangle(u,o,c,-1,-1,-1);this._addTriangle(o,u,a,l,-1,-1),this._flush()}run(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;for(;this.getMaxError()>e;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(e,r){return this.data[this.width*r+e]}_flush(){let e=this.coords;for(let r=0;r<this._pendingLen;r++){let n=this._pending[r],s=2*this.triangles[n*3+0],i=2*this.triangles[n*3+1],o=2*this.triangles[n*3+2];this._findCandidate(e[s],e[s+1],e[i],e[i+1],e[o],e[o+1],n)}this._pendingLen=0}_findCandidate(e,r,n,s,i,o,a){let c=Math.min(e,n,i),u=Math.min(r,s,o),l=Math.max(e,n,i),f=Math.max(r,s,o),h=Hr(n,s,i,o,c,u),d=Hr(i,o,e,r,c,u),p=Hr(e,r,n,s,c,u),g=s-r,m=e-n,A=o-s,v=n-i,x=r-o,b=i-e,M=Hr(e,r,n,s,i,o),C=this.heightAt(e,r)/M,I=this.heightAt(n,s)/M,B=this.heightAt(i,o)/M,S=0,y=0,R=0,P=0;for(let F=u;F<=f;F++){let N=0;h<0&&A!==0&&(N=Math.max(N,Math.floor(-h/A))),d<0&&x!==0&&(N=Math.max(N,Math.floor(-d/x))),p<0&&g!==0&&(N=Math.max(N,Math.floor(-p/g)));let G=h+A*N,Q=d+x*N,J=p+g*N,ne=!1;for(let Z=c+N;Z<=l;Z++){if(G>=0&&Q>=0&&J>=0){ne=!0;let $=C*G+I*Q+B*J,oe=Math.abs($-this.heightAt(Z,F));P+=oe*oe,oe>S&&(S=oe,y=Z,R=F)}else if(ne)break;G+=A,Q+=x,J+=g}h+=v,d+=b,p+=m}(y===e&&R===r||y===n&&R===s||y===i&&R===o)&&(S=0),this._candidates[2*a]=y,this._candidates[2*a+1]=R,this._rms[a]=P,this._queuePush(a,S,P)}_step(){let e=this._queuePop(),r=e*3+0,n=e*3+1,s=e*3+2,i=this.triangles[r],o=this.triangles[n],a=this.triangles[s],c=this.coords[2*i],u=this.coords[2*i+1],l=this.coords[2*o],f=this.coords[2*o+1],h=this.coords[2*a],d=this.coords[2*a+1],p=this._candidates[2*e],g=this._candidates[2*e+1],m=this._addPoint(p,g);if(Hr(c,u,l,f,p,g)===0)this._handleCollinear(m,r);else if(Hr(l,f,h,d,p,g)===0)this._handleCollinear(m,n);else if(Hr(h,d,c,u,p,g)===0)this._handleCollinear(m,s);else{let A=this._halfedges[r],v=this._halfedges[n],x=this._halfedges[s],b=this._addTriangle(i,o,m,A,-1,-1,r),M=this._addTriangle(o,a,m,v,-1,b+1),C=this._addTriangle(a,i,m,x,b+2,M+1);this._legalize(b),this._legalize(M),this._legalize(C)}}_addPoint(e,r){let n=this.coords.length>>1;return this.coords.push(e,r),n}_addTriangle(e,r,n,s,i,o){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this.triangles.length,c=a/3;return this.triangles[a+0]=e,this.triangles[a+1]=r,this.triangles[a+2]=n,this._halfedges[a+0]=s,this._halfedges[a+1]=i,this._halfedges[a+2]=o,s>=0&&(this._halfedges[s]=a+0),i>=0&&(this._halfedges[i]=a+1),o>=0&&(this._halfedges[o]=a+2),this._candidates[2*c+0]=0,this._candidates[2*c+1]=0,this._queueIndices[c]=-1,this._rms[c]=0,this._pending[this._pendingLen++]=c,a}_legalize(e){let r=this._halfedges[e];if(r<0)return;let n=e-e%3,s=r-r%3,i=n+(e+1)%3,o=n+(e+2)%3,a=s+(r+2)%3,c=s+(r+1)%3,u=this.triangles[o],l=this.triangles[e],f=this.triangles[i],h=this.triangles[a],d=this.coords;if(!R2(d[2*u],d[2*u+1],d[2*l],d[2*l+1],d[2*f],d[2*f+1],d[2*h],d[2*h+1]))return;let p=this._halfedges[i],g=this._halfedges[o],m=this._halfedges[a],A=this._halfedges[c];this._queueRemove(n/3),this._queueRemove(s/3);let v=this._addTriangle(u,h,f,-1,m,p,n),x=this._addTriangle(h,u,l,v,g,A,s);this._legalize(v+1),this._legalize(x+2)}_handleCollinear(e,r){let n=r-r%3,s=n+(r+1)%3,i=n+(r+2)%3,o=this.triangles[i],a=this.triangles[r],c=this.triangles[s],u=this._halfedges[s],l=this._halfedges[i],f=this._halfedges[r];if(f<0){let C=this._addTriangle(e,o,a,-1,l,-1,n),I=this._addTriangle(o,e,c,C,-1,u);this._legalize(C+1),this._legalize(I+2);return}let h=f-f%3,d=h+(f+2)%3,p=h+(f+1)%3,g=this.triangles[d],m=this._halfedges[d],A=this._halfedges[p];this._queueRemove(h/3);let v=this._addTriangle(o,a,e,l,-1,-1,n),x=this._addTriangle(a,g,e,A,-1,v+1,h),b=this._addTriangle(g,c,e,m,-1,x+1),M=this._addTriangle(c,o,e,u,v+2,b+1);this._legalize(v),this._legalize(x),this._legalize(b),this._legalize(M)}_queuePush(e,r,n){let s=this._queue.length;this._queueIndices[e]=s,this._queue.push(e),this._errors.push(r),this._rmsSum+=n,this._queueUp(s)}_queuePop(){let e=this._queue.length-1;return this._queueSwap(0,e),this._queueDown(0,e),this._queuePopBack()}_queuePopBack(){let e=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[e],this._queueIndices[e]=-1,e}_queueRemove(e){let r=this._queueIndices[e];if(r<0){let s=this._pending.indexOf(e);if(s!==-1)this._pending[s]=this._pending[--this._pendingLen];else throw new Error("Broken triangulation (something went wrong).");return}let n=this._queue.length-1;n!==r&&(this._queueSwap(r,n),this._queueDown(r,n)||this._queueUp(r)),this._queuePopBack()}_queueLess(e,r){return this._errors[e]>this._errors[r]}_queueSwap(e,r){let n=this._queue[e],s=this._queue[r];this._queue[e]=s,this._queue[r]=n,this._queueIndices[n]=r,this._queueIndices[s]=e;let i=this._errors[e];this._errors[e]=this._errors[r],this._errors[r]=i}_queueUp(e){let r=e;for(;;){let n=r-1>>1;if(n===r||!this._queueLess(r,n))break;this._queueSwap(n,r),r=n}}_queueDown(e,r){let n=e;for(;;){let s=2*n+1;if(s>=r||s<0)break;let i=s+1,o=s;if(i<r&&this._queueLess(i,s)&&(o=i),!this._queueLess(o,n))break;this._queueSwap(n,o),n=o}return n>e}};function Hr(t,e,r,n,s,i){return(r-s)*(e-i)-(n-i)*(t-s)}function R2(t,e,r,n,s,i,o,a){let c=t-o,u=e-a,l=r-o,f=n-a,h=s-o,d=i-a,p=c*c+u*u,g=l*l+f*f,m=h*h+d*d;return c*(f*m-g*d)-u*(l*m-g*h)+p*(l*d-f*h)<0}function x_(t,e){let{meshMaxError:r,bounds:n,elevationDecoder:s}=e,{data:i,width:o,height:a}=t,c,u;switch(e.tesselator){case"martini":c=Sa(i,o,a,s,e.tesselator),u=A_(r,o,c);break;case"delatin":c=Sa(i,o,a,s,e.tesselator),u=v_(r,o,a,c);break;default:o===a&&!(a&o-1)?(c=Sa(i,o,a,s,"martini"),u=A_(r,o,c)):(c=Sa(i,o,a,s,"delatin"),u=v_(r,o,a,c));break}let{vertices:l}=u,{triangles:f}=u,h=L2(l,c,o,a,n),d=Lr(h);if(e.skirtHeight){let{attributes:p,triangles:g}=wa(h,f,e.skirtHeight);h=p,f=g}return{loaderData:{header:{}},header:{vertexCount:f.length,boundingBox:d},mode:4,indices:{value:Uint32Array.from(f),size:1},attributes:h}}function A_(t,e,r){let n=e+1,i=new Fs(n).createTile(r),{vertices:o,triangles:a}=i.getMesh(t);return{vertices:o,triangles:a}}function v_(t,e,r,n){let s=new Ns(n,e+1,r+1);s.run(t);let{coords:i,triangles:o}=s;return{vertices:i,triangles:o}}function Sa(t,e,r,n,s){let{rScaler:i,bScaler:o,gScaler:a,offset:c}=n,u=new Float32Array((e+1)*(r+1));for(let l=0,f=0;f<r;f++)for(let h=0;h<e;h++,l++){let d=l*4,p=t[d+0],g=t[d+1],m=t[d+2];u[l+f]=p*i+g*a+m*o+c}if(s==="martini"){for(let l=(e+1)*e,f=0;f<e;f++,l++)u[l]=u[l-e-1];for(let l=r,f=0;f<r+1;f++,l+=r+1)u[l]=u[l-1]}return u}function L2(t,e,r,n,s){let i=r+1,o=t.length/2,a=new Float32Array(o*3),c=new Float32Array(o*2),[u,l,f,h]=s||[0,0,r,n],d=(f-u)/r,p=(h-l)/n;for(let g=0;g<o;g++){let m=t[g*2],A=t[g*2+1],v=A*i+m;a[3*g+0]=m*d+u,a[3*g+1]=-A*p+h,a[3*g+2]=e[v],c[2*g+0]=m/r,c[2*g+1]=A/n}return{POSITION:{value:a,size:3},TEXCOORD_0:{value:c,size:2}}}var Ba="4.1.0-alpha.9";var Ca={name:"Terrain",id:"terrain",module:"terrain",version:Ba,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};var b_={name:"Quantized Mesh",id:"quantized-mesh",module:"terrain",version:Ba,worker:!0,extensions:["terrain"],mimeTypes:["application/vnd.quantized-mesh"],options:{"quantized-mesh":{bounds:[0,0,1,1],skirtHeight:null}}};var P2={...Ca,parse:F2};async function F2(t,e,r){let n={...e,mimeType:"application/x.image",image:{...e?.image,type:"data"}},s=await Le(t,[],n,r),i={...P2.options.terrain,...e?.terrain};return x_(s,i)}var lq={...b_,parseSync:(t,e)=>qf(t,e?.["quantized-mesh"]),parse:async(t,e)=>qf(t,e?.["quantized-mesh"])};function Ma(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ma=function(r){return typeof r}:Ma=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ma(t)}function T_(t){return U2(t)||D2(t)||B_(t)||N2()}function N2(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
766
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function D2(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function U2(t){if(Array.isArray(t))return Wf(t)}function G2(t,e){return V2(t)||H2(t,e)||B_(t,e)||k2()}function k2(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
767
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function B_(t,e){if(t){if(typeof t=="string")return Wf(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wf(t,e)}}function Wf(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function H2(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function V2(t){if(Array.isArray(t))return t}function z2(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function j2(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Xf(t,e)}function Xf(t,e){return Xf=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},Xf(t,e)}function q2(t){var e=X2();return function(){var n=Ia(t),s;if(e){var i=Ia(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return J2(this,s)}}function J2(t,e){if(e&&(Ma(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return W2(t)}function W2(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function X2(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ia(t){return Ia=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ia(t)}function E_(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function lr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?E_(Object(r),!0).forEach(function(n){K2(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):E_(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function K2(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var w_=[1],Y2=lr(lr({},Bt.defaultProps),{},{elevationData:Yt,texture:lr(lr({},Yt),{},{optional:!0}),meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[Ca]});function S_(t){return Array.isArray(t)?t.join(";"):t||""}var Ra=function(t){j2(r,t);var e=q2(r);function r(){var s;z2(this,r);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return s=e.call.apply(e,[this].concat(o)),s.state=void 0,s}var n=r.prototype;return n.updateState=function(i){var o=i.props,a=i.oldProps,c=o.elevationData!==a.elevationData;if(c){var u=o.elevationData,l=u&&(Array.isArray(u)||u.includes("{x}")&&u.includes("{y}"));this.setState({isTiled:l})}var f=c||o.meshMaxError!==a.meshMaxError||o.elevationDecoder!==a.elevationDecoder||o.bounds!==a.bounds;if(!this.state.isTiled&&f){var h=this.loadTerrain(o);this.setState({terrain:h})}o.workerUrl&&Oa.log.removed("workerUrl","loadOptions.terrain.workerUrl")()},n.loadTerrain=function(i){var o,a=i.elevationData,c=i.bounds,u=i.elevationDecoder,l=i.meshMaxError,f=i.signal;if(!a)return null;var h=this.getLoadOptions();h=lr(lr({},h),{},{terrain:lr(lr({skirtHeight:this.state.isTiled?l*2:0},(o=h)===null||o===void 0?void 0:o.terrain),{},{bounds:c,meshMaxError:l,elevationDecoder:u})});var d=this.props.fetch;return d(a,{propName:"elevationData",layer:this,loadOptions:h,signal:f})},n.getTiledTerrainData=function(i){var o=this.props,a=o.elevationData,c=o.fetch,u=o.texture,l=o.elevationDecoder,f=o.meshMaxError,h=this.context.viewport,d=pt(a,i),p=u&&pt(u,i),g=i.signal,m=[0,0],A=[0,0];if(h.isGeospatial){var v=i.bbox;m=h.projectFlat([v.west,v.south]),A=h.projectFlat([v.east,v.north])}else{var x=i.bbox;m=[x.left,x.bottom],A=[x.right,x.top]}var b=[m[0],m[1],A[0],A[1]],M=this.loadTerrain({elevationData:d,bounds:b,elevationDecoder:l,meshMaxError:f,signal:g}),C=p?c(p,{propName:"texture",layer:this,loaders:[],signal:g}).catch(function(I){return null}):Promise.resolve(null);return Promise.all([M,C])},n.renderSubLayers=function(i){var o=this.getSubLayerClass("mesh",Kf.SimpleMeshLayer),a=this.props,c=a.color,u=a.wireframe,l=a.material,f=i.data;if(!f)return null;var h=G2(f,2),d=h[0],p=h[1];return new o(i,{data:w_,mesh:d,texture:p,_instanced:!1,coordinateSystem:C_.COORDINATE_SYSTEM.CARTESIAN,getPosition:function(m){return[0,0,0]},getColor:c,wireframe:u,material:l})},n.onViewportLoad=function(i){if(i){var o=this.state.zRange,a=i.map(function(l){return l.content}).filter(Boolean).map(function(l){var f=l[0].header.boundingBox;return f.map(function(h){return h[2]})});if(a.length!==0){var c=Math.min.apply(Math,T_(a.map(function(l){return l[0]}))),u=Math.max.apply(Math,T_(a.map(function(l){return l[1]})));(!o||c<o[0]||u>o[1])&&this.setState({zRange:[c,u]})}}},n.renderLayers=function(){var i=this.props,o=i.color,a=i.material,c=i.elevationData,u=i.texture,l=i.wireframe,f=i.meshMaxError,h=i.elevationDecoder,d=i.tileSize,p=i.maxZoom,g=i.minZoom,m=i.extent,A=i.maxRequests,v=i.onTileLoad,x=i.onTileUnload,b=i.onTileError,M=i.maxCacheSize,C=i.maxCacheByteSize,I=i.refinementStrategy;if(this.state.isTiled)return new Bt(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:S_(c),texture:S_(u),meshMaxError:f,elevationDecoder:h}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:d,maxZoom:p,minZoom:g,extent:m,maxRequests:A,onTileLoad:v,onTileUnload:x,onTileError:b,maxCacheSize:M,maxCacheByteSize:C,refinementStrategy:I});var B=this.getSubLayerClass("mesh",Kf.SimpleMeshLayer);return new B(this.getSubLayerProps({id:"mesh"}),{data:w_,mesh:this.state.terrain,texture:u,_instanced:!1,getPosition:function(y){return[0,0,0]},getColor:o,material:a,wireframe:l})},r}(Oa.CompositeLayer);Ra.defaultProps=Y2;Ra.layerName="TerrainLayer";var qa=U(Ze()),mh=U(Ye()),yA=U(I_());var Ds={x:0,y:1,z:2};function Vr(t,e={}){let{start:r=0,end:n=t.length,plane:s="xy"}=e,i=e.size||2,o=0,a=Ds[s[0]],c=Ds[s[1]];for(let u=r,l=n-i;u<n;u+=i)o+=(t[u+a]-t[l+a])*(t[u+c]+t[l+c]),l=u;return o/2}function Zf(t,e,r=2,n,s="xy"){let i=e&&e.length,o=i?e[0]*r:t.length,a=R_(t,0,o,r,!0,n&&n[0],s),c=[];if(!a||a.next===a.prev)return c;let u,l,f,h,d,p,g;if(i&&(a=nO(t,e,a,r,n,s)),t.length>80*r){h=l=t[0],d=f=t[1];for(let m=r;m<o;m+=r)p=t[m],g=t[m+1],p<h&&(h=p),g<d&&(d=g),p>l&&(l=p),g>f&&(f=g);u=Math.max(l-h,f-d),u=u!==0?32767/u:0}return Us(a,c,r,h,d,u,0),c}function R_(t,e,r,n,s,i,o){let a,c;i===void 0&&(i=Vr(t,{start:e,end:r,size:n,plane:o}));let u=Ds[o[0]],l=Ds[o[1]];if(s===i<0)for(a=e;a<r;a+=n)c=O_(a,t[a+u],t[a+l],c);else for(a=r-n;a>=e;a-=n)c=O_(a,t[a+u],t[a+l],c);return c&&Fa(c,c.next)&&(ks(c),c=c.next),c}function zr(t,e){if(!t)return t;e||(e=t);let r=t,n;do if(n=!1,!r.steiner&&(Fa(r,r.next)||ae(r.prev,r,r.next)===0)){if(ks(r),r=e=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==e);return e}function Us(t,e,r,n,s,i,o){if(!t)return;!o&&i&&cO(t,n,s,i);let a=t,c,u;for(;t.prev!==t.next;){if(c=t.prev,u=t.next,i?eO(t,n,s,i):$2(t)){e.push(c.i/r|0),e.push(t.i/r|0),e.push(u.i/r|0),ks(t),t=u.next,a=u.next;continue}if(t=u,t===a){o?o===1?(t=tO(zr(t),e,r),Us(t,e,r,n,s,i,2)):o===2&&rO(t,e,r,n,s,i):Us(zr(t),e,r,n,s,i,1);break}}}function $2(t){let e=t.prev,r=t,n=t.next;if(ae(e,r,n)>=0)return!1;let s=e.x,i=r.x,o=n.x,a=e.y,c=r.y,u=n.y,l=s<i?s<o?s:o:i<o?i:o,f=a<c?a<u?a:u:c<u?c:u,h=s>i?s>o?s:o:i>o?i:o,d=a>c?a>u?a:u:c>u?c:u,p=n.next;for(;p!==e;){if(p.x>=l&&p.x<=h&&p.y>=f&&p.y<=d&&Fn(s,a,i,c,o,u,p.x,p.y)&&ae(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function eO(t,e,r,n){let s=t.prev,i=t,o=t.next;if(ae(s,i,o)>=0)return!1;let a=s.x,c=i.x,u=o.x,l=s.y,f=i.y,h=o.y,d=a<c?a<u?a:u:c<u?c:u,p=l<f?l<h?l:h:f<h?f:h,g=a>c?a>u?a:u:c>u?c:u,m=l>f?l>h?l:h:f>h?f:h,A=Yf(d,p,e,r,n),v=Yf(g,m,e,r,n),x=t.prevZ,b=t.nextZ;for(;x&&x.z>=A&&b&&b.z<=v;){if(x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==s&&x!==o&&Fn(a,l,c,f,u,h,x.x,x.y)&&ae(x.prev,x,x.next)>=0||(x=x.prevZ,b.x>=d&&b.x<=g&&b.y>=p&&b.y<=m&&b!==s&&b!==o&&Fn(a,l,c,f,u,h,b.x,b.y)&&ae(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;x&&x.z>=A;){if(x.x>=d&&x.x<=g&&x.y>=p&&x.y<=m&&x!==s&&x!==o&&Fn(a,l,c,f,u,h,x.x,x.y)&&ae(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;b&&b.z<=v;){if(b.x>=d&&b.x<=g&&b.y>=p&&b.y<=m&&b!==s&&b!==o&&Fn(a,l,c,f,u,h,b.x,b.y)&&ae(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function tO(t,e,r){let n=t;do{let s=n.prev,i=n.next.next;!Fa(s,i)&&L_(s,n,n.next,i)&&Gs(s,i)&&Gs(i,s)&&(e.push(s.i/r|0),e.push(n.i/r|0),e.push(i.i/r|0),ks(n),ks(n.next),n=t=i),n=n.next}while(n!==t);return zr(n)}function rO(t,e,r,n,s,i){let o=t;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&fO(o,a)){let c=P_(o,a);o=zr(o,o.next),c=zr(c,c.next),Us(o,e,r,n,s,i,0),Us(c,e,r,n,s,i,0);return}a=a.next}o=o.next}while(o!==t)}function nO(t,e,r,n,s,i){let o=[],a,c,u,l,f;for(a=0,c=e.length;a<c;a++)u=e[a]*n,l=a<c-1?e[a+1]*n:t.length,f=R_(t,u,l,n,!1,s&&s[a+1],i),f===f.next&&(f.steiner=!0),o.push(lO(f));for(o.sort(sO),a=0;a<o.length;a++)r=iO(o[a],r);return r}function sO(t,e){return t.x-e.x}function iO(t,e){let r=oO(t,e);if(!r)return e;let n=P_(r,t);return zr(n,n.next),zr(r,r.next)}function oO(t,e){let r=e,n=t.x,s=t.y,i=-1/0,o;do{if(s<=r.y&&s>=r.next.y&&r.next.y!==r.y){let h=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(h<=n&&h>i&&(i=h,o=r.x<r.next.x?r:r.next,h===n))return o}r=r.next}while(r!==e);if(!o)return null;let a=o,c=o.x,u=o.y,l=1/0,f;r=o;do n>=r.x&&r.x>=c&&n!==r.x&&Fn(s<u?n:i,s,c,u,s<u?i:n,s,r.x,r.y)&&(f=Math.abs(s-r.y)/(n-r.x),Gs(r,t)&&(f<l||f===l&&(r.x>o.x||r.x===o.x&&aO(o,r)))&&(o=r,l=f)),r=r.next;while(r!==a);return o}function aO(t,e){return ae(t.prev,t,e.prev)<0&&ae(e.next,t,t.next)<0}function cO(t,e,r,n){let s=t;do s.z===0&&(s.z=Yf(s.x,s.y,e,r,n)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==t);s.prevZ.nextZ=null,s.prevZ=null,uO(s)}function uO(t){let e,r,n=1,s,i,o,a,c,u;do{for(i=t,t=null,u=null,s=0;i;){for(s++,a=i,o=0,r=0;r<n&&(o++,a=a.nextZ,!!a);r++);for(c=n;o>0||c>0&&a;)o!==0&&(c===0||!a||i.z<=a.z)?(e=i,i=i.nextZ,o--):(e=a,a=a.nextZ,c--),u?u.nextZ=e:t=e,e.prevZ=u,u=e;i=a}u.nextZ=null,n*=2}while(s>1);return t}function Yf(t,e,r,n,s){return t=(t-r)*s|0,e=(e-n)*s|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function lO(t){let e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}function Fn(t,e,r,n,s,i,o,a){return(s-o)*(e-a)>=(t-o)*(i-a)&&(t-o)*(n-a)>=(r-o)*(e-a)&&(r-o)*(i-a)>=(s-o)*(n-a)}function fO(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!hO(t,e)&&(Gs(t,e)&&Gs(e,t)&&dO(t,e)&&(ae(t.prev,t,e.prev)||ae(t,e.prev,e))||Fa(t,e)&&ae(t.prev,t,t.next)>0&&ae(e.prev,e,e.next)>0)}function ae(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Fa(t,e){return t.x===e.x&&t.y===e.y}function L_(t,e,r,n){let s=Pa(ae(t,e,r)),i=Pa(ae(t,e,n)),o=Pa(ae(r,n,t)),a=Pa(ae(r,n,e));return!!(s!==i&&o!==a||s===0&&La(t,r,e)||i===0&&La(t,n,e)||o===0&&La(r,t,n)||a===0&&La(r,e,n))}function La(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Pa(t){return t>0?1:t<0?-1:0}function hO(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&L_(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function Gs(t,e){return ae(t.prev,t,t.next)<0?ae(t,e,t.next)>=0&&ae(t,t.prev,e)>=0:ae(t,e,t.prev)<0||ae(t,t.next,e)<0}function dO(t,e){let r=t,n=!1,s=(t.x+e.x)/2,i=(t.y+e.y)/2;do r.y>i!=r.next.y>i&&r.next.y!==r.y&&s<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==t);return n}function P_(t,e){let r=new Hs(t.i,t.x,t.y),n=new Hs(e.i,e.x,e.y),s=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=s,s.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function O_(t,e,r,n){let s=new Hs(t,e,r);return n?(s.next=n.next,s.prev=n,n.next.prev=s,n.next=s):(s.prev=s,s.next=s),s}function ks(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}var Hs=class{constructor(e,r,n){D(this,"i",void 0),D(this,"x",void 0),D(this,"y",void 0),D(this,"prev",null),D(this,"next",null),D(this,"z",0),D(this,"prevZ",null),D(this,"nextZ",null),D(this,"steiner",!1),this.i=e,this.x=r,this.y=n}};function eh(t,e,r){let n=_O(t),s=Object.keys(n).filter(i=>n[i]!==Array);return AO(t,{propArrayTypes:n,...e},{numericPropKeys:r&&r.numericPropKeys||s,PositionDataType:r?r.PositionDataType:Float32Array,triangulate:r?r.triangulate:!0})}function _O(t){let e={};for(let r of t)if(r.properties)for(let n in r.properties){let s=r.properties[n];e[n]=wO(s,e[n])}return e}function AO(t,e,r){let{pointPositionsCount:n,pointFeaturesCount:s,linePositionsCount:i,linePathsCount:o,lineFeaturesCount:a,polygonPositionsCount:c,polygonObjectsCount:u,polygonRingsCount:l,polygonFeaturesCount:f,propArrayTypes:h,coordLength:d}=e,{numericPropKeys:p=[],PositionDataType:g=Float32Array,triangulate:m=!0}=r,A=t[0]&&"id"in t[0],v=t.length>65535?Uint32Array:Uint16Array,x={type:"Point",positions:new g(n*d),globalFeatureIds:new v(n),featureIds:s>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},b={type:"LineString",pathIndices:i>65535?new Uint32Array(o+1):new Uint16Array(o+1),positions:new g(i*d),globalFeatureIds:new v(i),featureIds:a>65535?new Uint32Array(i):new Uint16Array(i),numericProps:{},properties:[],fields:[]},M={type:"Polygon",polygonIndices:c>65535?new Uint32Array(u+1):new Uint16Array(u+1),primitivePolygonIndices:c>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new g(c*d),globalFeatureIds:new v(c),featureIds:f>65535?new Uint32Array(c):new Uint16Array(c),numericProps:{},properties:[],fields:[]};m&&(M.triangles=[]);for(let I of[x,b,M])for(let B of p){let S=h[B];I.numericProps[B]=new S(I.positions.length/d)}b.pathIndices[o]=i,M.polygonIndices[u]=c,M.primitivePolygonIndices[l]=c;let C={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let I of t){let B=I.geometry,S=I.properties||{};switch(B.type){case"Point":vO(B,x,C,d,S),x.properties.push($f(S,p)),A&&x.fields.push({id:I.id}),C.pointFeature++;break;case"LineString":xO(B,b,C,d,S),b.properties.push($f(S,p)),A&&b.fields.push({id:I.id}),C.lineFeature++;break;case"Polygon":bO(B,M,C,d,S),M.properties.push($f(S,p)),A&&M.fields.push({id:I.id}),C.polygonFeature++;break;default:throw new Error("Invalid geometry type")}C.feature++}return EO(x,b,M,d)}function vO(t,e,r,n,s){e.positions.set(t.data,r.pointPosition*n);let i=t.data.length/n;th(e,s,r.pointPosition,i),e.globalFeatureIds.fill(r.feature,r.pointPosition,r.pointPosition+i),e.featureIds.fill(r.pointFeature,r.pointPosition,r.pointPosition+i),r.pointPosition+=i}function xO(t,e,r,n,s){e.positions.set(t.data,r.linePosition*n);let i=t.data.length/n;th(e,s,r.linePosition,i),e.globalFeatureIds.fill(r.feature,r.linePosition,r.linePosition+i),e.featureIds.fill(r.lineFeature,r.linePosition,r.linePosition+i);for(let o=0,a=t.indices.length;o<a;++o){let c=t.indices[o],u=o===a-1?t.data.length:t.indices[o+1];e.pathIndices[r.linePath++]=r.linePosition,r.linePosition+=(u-c)/n}}function bO(t,e,r,n,s){e.positions.set(t.data,r.polygonPosition*n);let i=t.data.length/n;th(e,s,r.polygonPosition,i),e.globalFeatureIds.fill(r.feature,r.polygonPosition,r.polygonPosition+i),e.featureIds.fill(r.polygonFeature,r.polygonPosition,r.polygonPosition+i);for(let o=0,a=t.indices.length;o<a;++o){let c=r.polygonPosition;e.polygonIndices[r.polygonObject++]=c;let u=t.areas[o],l=t.indices[o],f=t.indices[o+1];for(let d=0,p=l.length;d<p;++d){let g=l[d],m=d===p-1?f===void 0?t.data.length:f[0]:l[d+1];e.primitivePolygonIndices[r.polygonRing++]=r.polygonPosition,r.polygonPosition+=(m-g)/n}let h=r.polygonPosition;TO(e,u,l,{startPosition:c,endPosition:h,coordLength:n})}}function TO(t,e,r,n){let{startPosition:s,endPosition:i,coordLength:o}=n;if(!t.triangles)return;let a=s*o,c=i*o,u=t.positions.subarray(a,c),l=r[0],f=r.slice(1).map(d=>(d-l)/o),h=Zf(u,f,o,e);for(let d=0,p=h.length;d<p;++d)t.triangles.push(s+h[d])}function Qf(t,e){let r={};for(let n in t)r[n]={value:t[n],size:e};return r}function EO(t,e,r,n){let s={shape:"binary-feature-collection",points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:Qf(t.numericProps,1)},lines:{...e,positions:{value:e.positions,size:n},pathIndices:{value:e.pathIndices,size:1},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:Qf(e.numericProps,1)},polygons:{...r,positions:{value:r.positions,size:n},polygonIndices:{value:r.polygonIndices,size:1},primitivePolygonIndices:{value:r.primitivePolygonIndices,size:1},globalFeatureIds:{value:r.globalFeatureIds,size:1},featureIds:{value:r.featureIds,size:1},numericProps:Qf(r.numericProps,1)}};return s.polygons&&r.triangles&&(s.polygons.triangles={value:new Uint32Array(r.triangles),size:1}),s}function th(t,e,r,n){for(let s in t.numericProps)if(s in e){let i=e[s];t.numericProps[s].fill(i,r,r+n)}}function $f(t,e){let r={};for(let n in t)e.includes(n)||(r[n]=t[n]);return r}function wO(t,e){return e===Array||!Number.isFinite(t)?Array:e===Float64Array||Math.fround(t)!==t?Float64Array:Float32Array}function Ua(t,e){let r=e?.globalFeatureId;return r!==void 0?SO(t,r):BO(t,e?.type)}function SO(t,e){let r=U_(t);for(let n of r){let s=0,i=n.featureIds.value[0];for(let o=0;o<n.featureIds.value.length;o++){let a=n.featureIds.value[o];if(a!==i){if(e===n.globalFeatureIds.value[s])return Na(n,s,o);s=o,i=a}}if(e===n.globalFeatureIds.value[s])return Na(n,s,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function BO(t,e){let r=U_(t,e);return CO(r)}function D_(t,e,r){switch(t.type){case"Point":return RO(t,e,r);case"LineString":return OO(t,e,r);case"Polygon":return G_(t,e,r);default:let n=t;throw new Error(`Unsupported geometry type: ${n?.type}`)}}function U_(t,e){let r=[];return t.points&&(t.points.type="Point",r.push(t.points)),t.lines&&(t.lines.type="LineString",r.push(t.lines)),t.polygons&&(t.polygons.type="Polygon",r.push(t.polygons)),r}function CO(t){let e=[];for(let r of t){if(r.featureIds.value.length===0)continue;let n=0,s=r.featureIds.value[0];for(let i=0;i<r.featureIds.value.length;i++){let o=r.featureIds.value[i];o!==s&&(e.push(Na(r,n,i)),n=i,s=o)}e.push(Na(r,n,r.featureIds.value.length))}return e}function Na(t,e,r){let n=D_(t,e,r),s=IO(t,e,r),i=MO(t,e,r);return{type:"Feature",geometry:n,properties:s,...i}}function MO(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return t.fields&&t.fields[t.featureIds.value[e]]}function IO(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,n=Object.assign({},t.properties[t.featureIds.value[e]]);for(let s in t.numericProps)n[s]=t.numericProps[s].value[e];return n}function G_(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,s=t.polygonIndices.value.filter(c=>c>=e&&c<=r),i=t.primitivePolygonIndices.value.filter(c=>c>=e&&c<=r);if(!(s.length>2)){let c=[];for(let u=0;u<i.length-1;u++){let l=i[u],f=i[u+1],h=Da(n,l,f);c.push(h)}return{type:"Polygon",coordinates:c}}let a=[];for(let c=0;c<s.length-1;c++){let u=s[c],l=s[c+1],f=G_(t,u,l).coordinates;a.push(f)}return{type:"MultiPolygon",coordinates:a}}function OO(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1/0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1/0,{positions:n}=t,s=t.pathIndices.value.filter(a=>a>=e&&a<=r);if(!(s.length>2))return{type:"LineString",coordinates:Da(n,s[0],s[1])};let o=[];for(let a=0;a<s.length-1;a++){let c=Da(n,s[a],s[a+1]);o.push(c)}return{type:"MultiLineString",coordinates:o}}function RO(t,e,r){let{positions:n}=t,s=Da(n,e,r);return s.length>1?{type:"MultiPoint",coordinates:s}:{type:"Point",coordinates:s[0]}}function Da(t,e,r){e=e||0,r=r||t.value.length/t.size;let n=[];for(let s=e;s<r;s++){let i=Array();for(let o=s*t.size;o<(s+1)*t.size;o++)i.push(Number(t.value[o]));n.push(i)}return n}var ch=U(J_(),1);function W_(t){let e=t.length;if(e<=1)return[t];let r=[],n,s;for(let i=0;i<e;i++){let o=YO(t[i]);o!==0&&(s===void 0&&(s=o<0),s===o<0?(n&&r.push(n),n=[t[i]]):n&&n.push(t[i]))}return n&&r.push(n),r}function YO(t){let e=0;for(let r=0,n=t.length-1,s,i;r<t.length;n=r++)s=t[r],i=t[n],e+=(i[0]-s[0])*(s[1]+i[1]);return e}function X_(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?ZO(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function ZO(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],s=e._values[t.readVarint()];e.properties[n]=s}}var jr=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(e,r,n,s,i){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=s,this._values=i,e.readFields(X_,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,s=0,i=0,o=0,a=[],c;for(;e.pos<r;){if(s<=0){let u=e.readVarint();n=u&7,s=u>>3}if(s--,n===1||n===2)i+=e.readSVarint(),o+=e.readSVarint(),n===1&&(c&&a.push(c),c=[]),c&&c.push([i,o]);else if(n===7)c&&c.push(c[0].slice());else throw new Error(`unknown command ${n}`)}return c&&a.push(c),a}bbox(){let e=this._pbf;e.pos=this._geometry;let r=e.readVarint()+e.pos,n=1,s=0,i=0,o=0,a=1/0,c=-1/0,u=1/0,l=-1/0;for(;e.pos<r;){if(s<=0){let f=e.readVarint();n=f&7,s=f>>3}if(s--,n===1||n===2)i+=e.readSVarint(),o+=e.readSVarint(),i<a&&(a=i),i>c&&(c=i),o<u&&(u=o),o>l&&(l=o);else if(n!==7)throw new Error(`unknown command ${n}`)}return[a,u,c,l]}_toGeoJSON(e){let r=this.loadGeometry(),n=jr.types[this.type],s,i;switch(this.type){case 1:let a=[];for(s=0;s<r.length;s++)a[s]=r[s][0];r=a,e(r,this);break;case 2:for(s=0;s<r.length;s++)e(r[s],this);break;case 3:for(r=W_(r),s=0;s<r.length;s++)for(i=0;i<r[s].length;i++)e(r[s][i],this);break}r.length===1?r=r[0]:n=`Multi${n}`;let o={type:"Feature",geometry:{type:n,coordinates:r},properties:this.properties};return this.id!==null&&(o.id=this.id),o}toGeoJSON(e){if(typeof e=="function")return this._toGeoJSON(e);let{x:r,y:n,z:s}=e,i=this.extent*Math.pow(2,s),o=this.extent*r,a=this.extent*n;function c(u){for(let l=0;l<u.length;l++){let f=u[l];f[0]=(f[0]+o)*360/i-180;let h=180-(f[1]+a)*360/i;f[1]=360/Math.PI*Math.atan(Math.exp(h*Math.PI/180))-90}}return this._toGeoJSON(c)}};var Vs=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(QO,this,r),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let r=this._pbf.readVarint()+this._pbf.pos;return new jr(this._pbf,r,this.extent,this._keys,this._values)}};function QO(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push($O(r)))}function $O(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var zs=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(eR,{},r)}};function eR(t,e,r){if(t===3&&r){let n=new Vs(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function K_(t){let e=t.indices.length,r="Polygon";if(e<=1)return{type:r,data:t.data,areas:[[Vr(t.data)]],indices:[t.indices]};let n=[],s=[],i=[],o=[],a,c=0;for(let u,l=0,f;l<e;l++){f=t.indices[l]-c,u=t.indices[l+1]-c||t.data.length;let h=t.data.slice(f,u),d=Vr(h);if(d===0){let p=t.data.slice(0,f),g=t.data.slice(u);t.data=p.concat(g),c+=u-f;continue}a===void 0&&(a=d<0),a===d<0?(o.length&&(n.push(i),s.push(o)),o=[f],i=[d]):(i.push(d),o.push(f))}return i&&n.push(i),o.length&&s.push(o),{type:r,areas:n,indices:s,data:t.data}}function Y_(t,e,r,n){for(let s=0,i=t.length;s<i;s+=2){t[s]=(t[s]+e)*360/n-180;let o=180-(t[s+1]+r)*360/n;t[s+1]=360/Math.PI*Math.atan(Math.exp(o*Math.PI/180))-90}}function Z_(t,e,r){e&&r&&(t===1?e.id=r.readVarint():t===2?tR(r,e):t===3?e.type=r.readVarint():t===4&&(e._geometry=r.pos))}function tR(t,e){let r=t.readVarint()+t.pos;for(;t.pos<r;){let n=e._keys[t.readVarint()],s=e._values[t.readVarint()];e.properties[n]=s}}var Q_,qr,sh,Ha,ih,oh,js;var qs=class{constructor(e,r,n,s,i,o){this.properties=void 0,this.extent=void 0,this.type=void 0,this.id=void 0,this._pbf=void 0,this._geometry=void 0,this._keys=void 0,this._values=void 0,this._geometryInfo=void 0,this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=s,this._values=i,this._geometryInfo=o,e.readFields(Z_,this,r)}loadGeometry(){let e=this._pbf;e.pos=this._geometry,Q_=e.readVarint()+e.pos,qr=1,Ha=0,ih=0,oh=0,js=0;let r=[],n=[];for(;e.pos<Q_;)if(Ha<=0&&(sh=e.readVarint(),qr=sh&7,Ha=sh>>3),Ha--,qr===1||qr===2)ih+=e.readSVarint(),oh+=e.readSVarint(),qr===1&&r.push(js),n.push(ih,oh),js+=2;else if(qr===7){if(js>0){let s=r[r.length-1];n.push(n[s],n[s+1]),js+=2}}else throw new Error(`unknown command ${qr}`);return{data:n,indices:r}}_toBinaryCoordinates(e){let r=this.loadGeometry(),n;e(r.data,this);let s=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=r.indices.length,n={type:"Point",...r};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=r.indices.length,this._geometryInfo.linePositionsCount+=r.data.length/s,n={type:"LineString",...r};break;case 3:n=K_(r),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=n.indices.length;for(let o of n.indices)this._geometryInfo.polygonRingsCount+=o.length;this._geometryInfo.polygonPositionsCount+=n.data.length/s;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let i={type:"Feature",geometry:n,properties:this.properties};return this.id!==null&&(i.id=this.id),i}toBinaryCoordinates(e){if(typeof e=="function")return this._toBinaryCoordinates(e);let{x:r,y:n,z:s}=e,i=this.extent*Math.pow(2,s),o=this.extent*r,a=this.extent*n;return this._toBinaryCoordinates(c=>Y_(c,o,a,i))}};var Js=class{constructor(e,r){this.version=void 0,this.name=void 0,this.extent=void 0,this.length=void 0,this._pbf=void 0,this._keys=void 0,this._values=void 0,this._features=void 0,this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(rR,this,r),this.length=this._features.length}feature(e,r){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let n=this._pbf.readVarint()+this._pbf.pos;return new qs(this._pbf,n,this.extent,this._keys,this._values,r)}};function rR(t,e,r){e&&r&&(t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(nR(r)))}function nR(t){let e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){let n=t.readVarint()>>3;e=n===1?t.readString():n===2?t.readFloat():n===3?t.readDouble():n===4?t.readVarint64():n===5?t.readVarint():n===6?t.readSVarint():n===7?t.readBoolean():null}return e}var Ws=class{constructor(e,r){this.layers=void 0,this.layers=e.readFields(sR,{},r)}};function sR(t,e,r){if(t===3&&r){let n=new Js(r,r.readVarint()+r.pos);n.length&&e&&(e[n.name]=n)}}function Va(t,e){var r,n;let s=oR(e),i=(e==null||(r=e.gis)===null||r===void 0?void 0:r.format)||(e==null||(n=e.mvt)===null||n===void 0?void 0:n.shape)||e?.shape;switch(i){case"columnar-table":return{shape:"columnar-table",data:ah(t,s)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:$_(t,s)};case"geojson":return $_(t,s);case"binary-geometry":return ah(t,s);case"binary":return ah(t,s);default:throw new Error(i||"undefined shape")}}function ah(t,e){let[r,n]=iR(t,e),s=eh(r,n);return s.byteLength=t.byteLength,s}function iR(t,e){let r=[],n={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength<=0)return[r,n];let s=new Ws(new ch.default(t));return(e&&Array.isArray(e.layers)?e.layers:Object.keys(s.layers)).forEach(o=>{let a=s.layers[o];if(a)for(let c=0;c<a.length;c++){let u=a.feature(c,n),l=cR(u,e,o);r.push(l)}}),[r,n]}function $_(t,e){if(t.byteLength<=0)return[];let r=[],n=new zs(new ch.default(t));return(Array.isArray(e.layers)?e.layers:Object.keys(n.layers)).forEach(i=>{let o=n.layers[i];if(o)for(let a=0;a<o.length;a++){let c=o.feature(a),u=aR(c,e,i);r.push(u)}}),r}function oR(t){var e;if(!(t!=null&&t.mvt))throw new Error("mvt options required");let r=((e=t.mvt)===null||e===void 0?void 0:e.coordinates)==="wgs84",{tileIndex:n}=t.mvt,s=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(r&&!s)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return t.mvt}function aR(t,e,r){let n=t.toGeoJSON(e.coordinates==="wgs84"?e.tileIndex:uR);return e.layerProperty&&(n.properties[e.layerProperty]=r),n}function cR(t,e,r){let n=t.toBinaryCoordinates(e.coordinates==="wgs84"?e.tileIndex:lR);return e.layerProperty&&n.properties&&(n.properties[e.layerProperty]=r),n}function uR(t,e){let{extent:r}=e;for(let n=0;n<t.length;n++){let s=t[n];s[0]/=r,s[1]/=r}}function lR(t,e){let{extent:r}=e;for(let n=0,s=t.length;n<s;++n)t[n]/=r}var fR="4.1.0-alpha.9",za={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:fR,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}},hR={...za,parse:async(t,e)=>Va(t,e),parseSync:Va,binary:!0};function eA(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function tA(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?eA(Object(r),!0).forEach(function(n){dR(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):eA(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function dR(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function rA(t,e){return yR(t)||gR(t,e)||mR(t,e)||pR()}function pR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
768
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mR(t,e){if(t){if(typeof t=="string")return nA(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return nA(t,e)}}function nA(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function gR(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function yR(t){if(Array.isArray(t))return t}var _R={Point:sA,MultiPoint:AR,LineString:iA,MultiLineString:vR,Polygon:oA,MultiPolygon:xR};function sA(t,e,r){var n=rA(t,2),s=n[0],i=n[1],o=rA(e,2),a=o[0],c=o[1],u=jt(a[0],c[0],s),l=jt(a[1],c[1],i);return r.unprojectFlat([u,l])}function uh(t,e,r){return t.map(function(n){return sA(n,e,r)})}function AR(t,e,r){return uh(t,e,r)}function iA(t,e,r){return uh(t,e,r)}function vR(t,e,r){return t.map(function(n){return iA(n,e,r)})}function oA(t,e,r){return t.map(function(n){return uh(n,e,r)})}function xR(t,e,r){return t.map(function(n){return oA(n,e,r)})}function aA(t,e,r){var n=r.projectFlat([e.west,e.north]),s=r.projectFlat([e.east,e.south]),i=[n,s];return tA(tA({},t),{},{coordinates:_R[t.type](t.coordinates,i,r)})}function bR(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=TR(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
769
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function TR(t,e){if(t){if(typeof t=="string")return cA(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cA(t,e)}}function cA(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var ER=["points","lines","polygons"];function lh(t,e,r,n){var s=bR(ER),i;try{for(s.s();!(i=s.n()).done;){var o=i.value,a=t[o]&&wR(t[o],e,r,n);if(a>=0)return a}}catch(c){s.e(c)}finally{s.f()}return-1}function wR(t,e,r,n){var s=t.featureIds.value;if(!s.length)return-1;var i=0,o=s[s.length-1]+1;if(n){var a=SR(t,n);if(a)i=a[0],o=a[1]+1;else return-1}var c=-1;if(e in t.numericProps){var u=t.numericProps[e].value.findIndex(function(l,f){return l===r&&s[f]>=i&&s[f]<o});return u>=0?t.globalFeatureIds.value[u]:-1}else e?c=uA(t.properties,function(l){return l[e]===r},i,o):t.fields&&(c=uA(t.fields,function(l){return l.id===r},i,o));return c>=0?BR(t,c):-1}function SR(t,e){if(!t.__layers){for(var r={},n=t.properties,s=0;s<n.length;s++){var i=n[s],o=i.layerName;o&&(r[o]?r[o][1]=s:r[o]=[s,s])}t.__layers=r}return t.__layers[e]}function BR(t,e){if(!t.__ids){for(var r=[],n=t.featureIds.value,s=t.globalFeatureIds.value,i=0;i<n.length;i++)r[n[i]]=s[i];t.__ids=r}return t.__ids[e]}function uA(t,e,r,n){for(var s=r;s<n;s++)if(e(t[s],s))return s;return-1}function ja(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ja=function(r){return typeof r}:ja=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ja(t)}function CR(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=gA(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,s=function(){};return{s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
770
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,a;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,a=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw a}}}}function MR(t){return RR(t)||OR(t)||gA(t)||IR()}function IR(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
771
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gA(t,e){if(t){if(typeof t=="string")return dh(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return dh(t,e)}}function OR(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function RR(t){if(Array.isArray(t))return dh(t)}function dh(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function lA(t,e,r,n,s,i,o){try{var a=t[i](o),c=a.value}catch(u){r(u);return}a.done?e(c):Promise.resolve(c).then(n,s)}function LR(t){return function(){var e=this,r=arguments;return new Promise(function(n,s){var i=t.apply(e,r);function o(c){lA(i,n,s,o,a,"next",c)}function a(c){lA(i,n,s,o,a,"throw",c)}o(void 0)})}}function PR(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fA(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function FR(t,e,r){return e&&fA(t.prototype,e),r&&fA(t,r),t}function xt(t,e,r){return typeof Reflect<"u"&&Reflect.get?xt=Reflect.get:xt=function(s,i,o){var a=NR(s,i);if(a){var c=Object.getOwnPropertyDescriptor(a,i);return c.get?c.get.call(o):c.value}},xt(t,e,r||t)}function NR(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&(t=Ke(t),t!==null););return t}function DR(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ph(t,e)}function ph(t,e){return ph=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},ph(t,e)}function UR(t){var e=HR();return function(){var n=Ke(t),s;if(e){var i=Ke(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return GR(this,s)}}function GR(t,e){if(e&&(ja(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return kR(t)}function kR(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function HR(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ke(t){return Ke=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ke(t)}function hA(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function fr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?hA(Object(r),!0).forEach(function(n){VR(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):hA(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function VR(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var fh=512,zR=fr(fr({},mh.GeoJsonLayer.defaultProps),{},{data:Yt,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[za],binary:!0}),Ja=function(t){DR(r,t);var e=UR(r);function r(){var s;PR(this,r);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return s=e.call.apply(e,[this].concat(o)),s.state=void 0,s}var n=r.prototype;return n.initializeState=function(){xt(Ke(r.prototype),"initializeState",this).call(this);var i=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:i,data:null,tileJSON:null})},n.updateState=function(i){var o,a=i.props,c=i.oldProps,u=i.context,l=i.changeFlags;l.dataChanged&&this._updateTileData(),(o=this.state)!==null&&o!==void 0&&o.data&&(xt(Ke(r.prototype),"updateState",this).call(this,{props:a,oldProps:c,context:u,changeFlags:l}),this._setWGS84PropertyForTiles());var f=a.highlightColor;f!==c.highlightColor&&Array.isArray(f)&&this.setState({highlightColor:f})},n._updateTileData=function(){var s=LR(regeneratorRuntime.mark(function o(){var a,c,u,l,f;return regeneratorRuntime.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(a=this.props.data,c=null,!(typeof a=="string"&&!Tu(a))){d.next=18;break}return u=this.props,l=u.onDataLoad,f=u.fetch,this.setState({data:null,tileJSON:null}),d.prev=5,d.next=8,f(a,{propName:"data",layer:this,loaders:[]});case 8:c=d.sent,d.next=15;break;case 11:d.prev=11,d.t0=d.catch(5),this.raiseError(d.t0,"loading TileJSON"),a=null;case 15:l&&l(c,{propName:"data",layer:this}),d.next=19;break;case 18:a.tilejson&&(c=a);case 19:c&&(a=c.tiles),this.setState({data:a,tileJSON:c});case 21:case"end":return d.stop()}},o,this,[[5,11]])}));function i(){return s.apply(this,arguments)}return i}(),n._getTilesetOptions=function(){var i=xt(Ke(r.prototype),"_getTilesetOptions",this).call(this),o=this.state.tileJSON,a=this.props,c=a.minZoom,u=a.maxZoom;return o&&(Number.isFinite(o.minzoom)&&o.minzoom>c&&(i.minZoom=o.minzoom),Number.isFinite(o.maxzoom)&&(!Number.isFinite(u)||o.maxzoom<u)&&(i.maxZoom=o.maxzoom)),i},n.renderLayers=function(){var i;return(i=this.state)!==null&&i!==void 0&&i.data?xt(Ke(r.prototype),"renderLayers",this).call(this):null},n.getTileData=function(i){var o,a=this.state,c=a.data,u=a.binary,l=i.index,f=i.signal,h=pt(c,i);if(!h)return Promise.reject("Invalid URL");var d=this.getLoadOptions(),p=this.props.fetch;return d=fr(fr({},d),{},{mimeType:"application/x-protobuf",mvt:fr(fr({},(o=d)===null||o===void 0?void 0:o.mvt),{},{coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:l}),gis:u?{format:"binary"}:{}}),p(h,{propName:"data",layer:this,loadOptions:d,signal:f})},n.renderSubLayers=function(i){var o=i.tile.index,a=o.x,c=o.y,u=o.z,l=Math.pow(2,u),f=fh/l,h=-f,d=fh*a/l,p=fh*(1-c/l),g=new k().scale([f,h,1]);i.autoHighlight=!1,this.context.viewport.resolution||(i.modelMatrix=g,i.coordinateOrigin=[d,p,0],i.coordinateSystem=qa.COORDINATE_SYSTEM.CARTESIAN,i.extensions=[].concat(MR(i.extensions||[]),[new yA.ClipExtension]));var m=xt(Ke(r.prototype),"renderSubLayers",this).call(this,i);return this.state.binary&&!(m instanceof mh.GeoJsonLayer)&&qa.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),m},n._updateAutoHighlight=function(i){var o=this.props.uniqueIdProperty,a=this.state,c=a.hoveredFeatureId,u=a.hoveredFeatureLayerName,l=i.object,f,h;l&&(f=hh(l,o),h=dA(l));var d=this.props.highlightColor;typeof d=="function"&&(d=d(i)),(c!==f||u!==h)&&this.setState({highlightColor:d,hoveredFeatureId:f,hoveredFeatureLayerName:h})},n.getPickingInfo=function(i){var o=xt(Ke(r.prototype),"getPickingInfo",this).call(this,i),a=Boolean(this.context.viewport.resolution);if(this.state.binary&&o.index!==-1){var c=i.sourceLayer.props.data;o.object=Ua(c,{globalFeatureId:o.index})}return o.object&&!a&&(o.object=mA(o.object,o.tile.bbox,this.context.viewport)),o},n.getSubLayerPropsByTile=function(i){return{highlightedObjectIndex:this.getHighlightedObjectIndex(i),highlightColor:this.state.highlightColor}},n.getHighlightedObjectIndex=function(i){var o=this.state,a=o.hoveredFeatureId,c=o.hoveredFeatureLayerName,u=o.binary,l=this.props,f=l.uniqueIdProperty,h=l.highlightedFeatureId,d=i.content,p=pA(h),g=pA(a)||p;if(!g)return-1;var m=p?h:a;return Array.isArray(d)?d.findIndex(function(A){var v=hh(A,f)===m,x=p||dA(A)===c;return v&&x}):d&&u?lh(d,f,m,p?"":c):-1},n._pickObjects=function(i){var o=this.context,a=o.deck,c=o.viewport,u=c.width,l=c.height,f=c.x,h=c.y,d=[this.id];return a.pickObjects({x:f,y:h,width:u,height:l,layerIds:d,maxObjects:i})},n.getRenderedFeatures=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,o=this._pickObjects(i),a=new Set,c=[],u=CR(o),l;try{for(u.s();!(l=u.n()).done;){var f=l.value,h=hh(f.object,this.props.uniqueIdProperty);h===void 0?c.push(f.object):a.has(h)||(a.add(h),c.push(f.object))}}catch(d){u.e(d)}finally{u.f()}return c},n._setWGS84PropertyForTiles=function(){var i=this,o="dataInWGS84",a=this.state.tileset;a.selectedTiles.forEach(function(c){c.hasOwnProperty(o)||Object.defineProperty(c,o,{get:function(){if(!c.content)return null;if(i.state.binary&&Array.isArray(c.content)&&!c.content.length)return[];var l=c.bbox;if(c._contentWGS84===void 0&&Eu(l)){var f=i.state.binary?Ua(c.content):c.content;c._contentWGS84=f.map(function(h){return mA(h,l,i.context.viewport)})}return c._contentWGS84}})})},FR(r,[{key:"isLoaded",get:function(){return Boolean(this.state&&this.state.data&&this.state.tileset&&xt(Ke(r.prototype),"isLoaded",this))}}]),r}(Bt);Ja.layerName="MVTLayer";Ja.defaultProps=zR;function hh(t,e){if(t.properties&&e)return t.properties[e];if("id"in t)return t.id}function dA(t){var e;return((e=t.properties)===null||e===void 0?void 0:e.layerName)||null}function pA(t){return t!=null&&t!==""}function mA(t,e,r){var n=fr(fr({},t),{},{geometry:{type:t.geometry.type}});return Object.defineProperty(n.geometry,"coordinates",{get:function(){var i=aA(t.geometry,e,r);return i.coordinates}}),n}function jR(t,e){return XR(t)||WR(t,e)||JR(t,e)||qR()}function qR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
772
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JR(t,e){if(t){if(typeof t=="string")return _A(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _A(t,e)}}function _A(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function WR(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],s=!0,i=!1,o,a;try{for(r=r.call(t);!(s=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));s=!0);}catch(c){i=!0,a=c}finally{try{!s&&r.return!=null&&r.return()}finally{if(i)throw a}}return n}}function XR(t){if(Array.isArray(t))return t}var AA="0123456789bcdefghjkmnpqrstuvwxyz",vA={};for(Xs=0;Xs<AA.length;Xs++)vA[AA.charAt(Xs)]=Xs;var Xs,KR=-90,YR=90,ZR=-180,QR=180;function $R(t){for(var e=!0,r=YR,n=KR,s=QR,i=ZR,o,a=0,c=0,u=t.length;c<u;c++){var l=t[c].toLowerCase();a=vA[l];for(var f=4;f>=0;f--){var h=a>>f&1;e?(o=(s+i)/2,h===1?i=o:s=o):(o=(r+n)/2,h===1?n=o:r=o),e=!e}}return[n,i,r,s]}function xA(t){var e=$R(t),r=jR(e,4),n=r[0],s=r[1],i=r[2],o=r[3];return[o,i,o,n,s,n,s,i,o,i]}function Wa(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Wa=function(r){return typeof r}:Wa=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Wa(t)}function eL(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function tL(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&gh(t,e)}function gh(t,e){return gh=Object.setPrototypeOf||function(n,s){return n.__proto__=s,n},gh(t,e)}function rL(t){var e=iL();return function(){var n=Xa(t),s;if(e){var i=Xa(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return nL(this,s)}}function nL(t,e){if(e&&(Wa(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return sL(t)}function sL(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function iL(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Xa(t){return Xa=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Xa(t)}var oL={getGeohash:{type:"accessor",value:function(e){return e.geohash}}},Ka=function(t){tL(r,t);var e=rL(r);function r(){return eL(this,r),e.apply(this,arguments)}var n=r.prototype;return n.indexToBounds=function(){var i=this.props,o=i.data,a=i.getGeohash;return{data:o,_normalize:!1,positionFormat:"XY",getPolygon:function(u,l){return xA(a(u,l))}}},r}(Ge);Ka.layerName="GeohashLayer";Ka.defaultProps=oL;return MA(Ks);})();
770
773
  return __exports__;
771
774
  });