UNPKG

@loaders.gl/mvt

Version:

Loader for Mapbox Vector Tiles

7 lines 76 kB
(function webpackUniversalModuleDefinition(root, factory) { if (typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if (typeof define === 'function' && define.amd) define([], factory); else if (typeof exports === 'object') exports['loaders'] = factory(); else root['loaders'] = factory();})(globalThis, function () { "use strict";var __exports__=(()=>{var Zr=Object.create;var ne=Object.defineProperty;var Yr=Object.getOwnPropertyDescriptor;var Kr=Object.getOwnPropertyNames;var Xr=Object.getPrototypeOf,Qr=Object.prototype.hasOwnProperty;var qr=(e,t,r)=>t in e?ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ze=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),en=(e,t)=>{for(var r in t)ne(e,r,{get:t[r],enumerable:!0})},xe=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Kr(t))!Qr.call(e,o)&&o!==r&&ne(e,o,{get:()=>t[o],enumerable:!(n=Yr(t,o))||n.enumerable});return e},we=(e,t,r)=>(xe(e,t,"default"),r&&xe(r,t,"default")),We=(e,t,r)=>(r=e!=null?Zr(Xr(e)):{},xe(t||!e||!e.__esModule?ne(r,"default",{value:e,enumerable:!0}):r,e)),tn=e=>xe(ne({},"__esModule",{value:!0}),e);var J=(e,t,r)=>(qr(e,typeof t!="symbol"?t+"":t,r),r);var Vt=ze((ji,Mt)=>{Mt.exports=globalThis.loaders});var ar=ze(it=>{it.read=function(e,t,r,n,o){var i,s,a=o*8-n-1,l=(1<<a)-1,c=l>>1,f=-7,u=r?o-1:0,h=r?-1:1,p=e[t+u];for(u+=h,i=p&(1<<-f)-1,p>>=-f,f+=a;f>0;i=i*256+e[t+u],u+=h,f-=8);for(s=i&(1<<-f)-1,i>>=-f,f+=n;f>0;s=s*256+e[t+u],u+=h,f-=8);if(i===0)i=1-c;else{if(i===l)return s?NaN:(p?-1:1)*(1/0);s=s+Math.pow(2,n),i=i-c}return(p?-1:1)*s*Math.pow(2,i-n)};it.write=function(e,t,r,n,o,i){var s,a,l,c=i*8-o-1,f=(1<<c)-1,u=f>>1,h=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+u>=1?t+=h/l:t+=h*Math.pow(2,1-u),t*l>=2&&(s++,l/=2),s+u>=f?(a=0,s=f):s+u>=1?(a=(t*l-1)*Math.pow(2,o),s=s+u):(a=t*Math.pow(2,u-1)*Math.pow(2,o),s=0));o>=8;e[r+p]=a&255,p+=d,a/=256,o-=8);for(s=s<<o|a,c+=o;c>0;e[r+p]=s&255,p+=d,s/=256,c-=8);e[r+p-d]|=y*128}});var at=ze((Za,hr)=>{"use strict";hr.exports=x;var Me=ar();function x(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||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 st=(1<<16)*(1<<16),lr=1/st,ho=12,ur=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");x.prototype={destroy:function(){this.buf=null},readFields:function(e,t,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),o=n>>3,i=this.pos;this.type=n&7,e(o,t,this),this.pos===i&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Ve(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=fr(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Ve(this.buf,this.pos)+Ve(this.buf,this.pos+4)*st;return this.pos+=8,e},readSFixed64:function(){var e=Ve(this.buf,this.pos)+fr(this.buf,this.pos+4)*st;return this.pos+=8,e},readFloat:function(){var e=Me.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=Me.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t=this.buf,r,n;return n=t[this.pos++],r=n&127,n<128||(n=t[this.pos++],r|=(n&127)<<7,n<128)||(n=t[this.pos++],r|=(n&127)<<14,n<128)||(n=t[this.pos++],r|=(n&127)<<21,n<128)?r:(n=t[this.pos],r|=(n&15)<<28,po(r,e,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2===1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=ho&&ur?Ao(this.buf,t,e):_o(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==x.Bytes)return e.push(this.readVarint(t));var r=N(this);for(e=e||[];this.pos<r;)e.push(this.readVarint(t));return e},readPackedSVarint:function(e){if(this.type!==x.Bytes)return e.push(this.readSVarint());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(e){if(this.type!==x.Bytes)return e.push(this.readBoolean());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(e){if(this.type!==x.Bytes)return e.push(this.readFloat());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(e){if(this.type!==x.Bytes)return e.push(this.readDouble());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(e){if(this.type!==x.Bytes)return e.push(this.readFixed32());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(e){if(this.type!==x.Bytes)return e.push(this.readSFixed32());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(e){if(this.type!==x.Bytes)return e.push(this.readFixed64());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(e){if(this.type!==x.Bytes)return e.push(this.readSFixed64());var t=N(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(e){var t=e&7;if(t===x.Varint)for(;this.buf[this.pos++]>127;);else if(t===x.Bytes)this.pos=this.readVarint()+this.pos;else if(t===x.Fixed32)this.pos+=4;else if(t===x.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+t)},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t<this.pos+e;)t*=2;if(t!==this.length){var r=new Uint8Array(t);r.set(this.buf),this.buf=r,this.length=t}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(e){this.realloc(4),q(this.buf,e,this.pos),this.pos+=4},writeSFixed32:function(e){this.realloc(4),q(this.buf,e,this.pos),this.pos+=4},writeFixed64:function(e){this.realloc(8),q(this.buf,e&-1,this.pos),q(this.buf,Math.floor(e*lr),this.pos+4),this.pos+=8},writeSFixed64:function(e){this.realloc(8),q(this.buf,e&-1,this.pos),q(this.buf,Math.floor(e*lr),this.pos+4),this.pos+=8},writeVarint:function(e){if(e=+e||0,e>268435455||e<0){mo(e,this);return}this.realloc(4),this.buf[this.pos++]=e&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=e>>>7&127)))},writeSVarint:function(e){this.writeVarint(e<0?-e*2-1:e*2)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(e.length*4),this.pos++;var t=this.pos;this.pos=Bo(this.buf,e,this.pos);var r=this.pos-t;r>=128&&cr(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),Me.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),Me.write(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r<t;r++)this.buf[this.pos++]=e[r]},writeRawMessage:function(e,t){this.pos++;var r=this.pos;e(t,this);var n=this.pos-r;n>=128&&cr(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,x.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,xo,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,wo,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Fo,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,To,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,bo,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,Po,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,vo,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Io,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,So,t)},writeBytesField:function(e,t){this.writeTag(e,x.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,x.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,x.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,x.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,x.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,x.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,x.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,x.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,x.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,x.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};function po(e,t,r){var n=r.buf,o,i;if(i=n[r.pos++],o=(i&112)>>4,i<128||(i=n[r.pos++],o|=(i&127)<<3,i<128)||(i=n[r.pos++],o|=(i&127)<<10,i<128)||(i=n[r.pos++],o|=(i&127)<<17,i<128)||(i=n[r.pos++],o|=(i&127)<<24,i<128)||(i=n[r.pos++],o|=(i&1)<<31,i<128))return Q(e,o,t);throw new Error("Expected varint not more than 10 bytes")}function N(e){return e.type===x.Bytes?e.readVarint()+e.pos:e.pos+1}function Q(e,t,r){return r?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function mo(e,t){var r,n;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(r=~(-e%4294967296),n=~(-e/4294967296),r^4294967295?r=r+1|0:(r=0,n=n+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),go(r,n,t),yo(n,t)}function go(e,t,r){r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos]=e&127}function yo(e,t){var r=(e&7)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127)))))}function cr(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));r.realloc(n);for(var o=r.pos-1;o>=e;o--)r.buf[o+n]=r.buf[o]}function xo(e,t){for(var r=0;r<e.length;r++)t.writeVarint(e[r])}function wo(e,t){for(var r=0;r<e.length;r++)t.writeSVarint(e[r])}function To(e,t){for(var r=0;r<e.length;r++)t.writeFloat(e[r])}function bo(e,t){for(var r=0;r<e.length;r++)t.writeDouble(e[r])}function Fo(e,t){for(var r=0;r<e.length;r++)t.writeBoolean(e[r])}function Po(e,t){for(var r=0;r<e.length;r++)t.writeFixed32(e[r])}function vo(e,t){for(var r=0;r<e.length;r++)t.writeSFixed32(e[r])}function Io(e,t){for(var r=0;r<e.length;r++)t.writeFixed64(e[r])}function So(e,t){for(var r=0;r<e.length;r++)t.writeSFixed64(e[r])}function Ve(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+e[t+3]*16777216}function q(e,t,r){e[r]=t,e[r+1]=t>>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function fr(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function _o(e,t,r){for(var n="",o=t;o<r;){var i=e[o],s=null,a=i>239?4:i>223?3:i>191?2:1;if(o+a>r)break;var l,c,f;a===1?i<128&&(s=i):a===2?(l=e[o+1],(l&192)===128&&(s=(i&31)<<6|l&63,s<=127&&(s=null))):a===3?(l=e[o+1],c=e[o+2],(l&192)===128&&(c&192)===128&&(s=(i&15)<<12|(l&63)<<6|c&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):a===4&&(l=e[o+1],c=e[o+2],f=e[o+3],(l&192)===128&&(c&192)===128&&(f&192)===128&&(s=(i&15)<<18|(l&63)<<12|(c&63)<<6|f&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),o+=a}return n}function Ao(e,t,r){return ur.decode(e.subarray(t,r))}function Bo(e,t,r){for(var n=0,o,i;n<t.length;n++){if(o=t.charCodeAt(n),o>55295&&o<57344)if(i)if(o<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=o;continue}else o=i-55296<<10|o-56320|65536,i=null;else{o>56319||n+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=o;continue}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);o<128?e[r++]=o:(o<2048?e[r++]=o>>6|192:(o<65536?e[r++]=o>>12|224:(e[r++]=o>>18|240,e[r++]=o>>12&63|128),e[r++]=o>>6&63|128),e[r++]=o&63|128)}return r}});var ye={};en(ye,{MVTLoader:()=>Le,MVTSource:()=>Ft,MVTWorkerLoader:()=>ut,MVTWriter:()=>Sr,TableTileSource:()=>Bt,TileJSONLoader:()=>H});we(ye,We(Vt(),1));function Et(e){let t=[];if(e.fields)for(let r of e.fields)t.push({name:r.name,type:nn(r),metadata:on(r)});return{metadata:rn(e),fields:t}}function rn(e){let t={};for(let[r,n]of Object.entries(e))r!=="fields"&&n&&(t[r]=JSON.stringify(n));return t}function nn(e){switch(e.type.toLowerCase()){case"float32":return"float32";case"number":case"float64":return"float64";case"string":case"utf8":return"utf8";case"boolean":return"bool";default:return"null"}}function on(e){let t={};for(let[r,n]of Object.entries(e))r!=="name"&&n&&(t[r]=JSON.stringify(n));return t}var kt=e=>e!==null&&typeof e=="object";function $e(e,t){if(!e||!kt(e))return null;let r={name:e.name||"",description:e.description||""};if(typeof e.generator=="string"&&(r.generator=e.generator),typeof e.generator_options=="string"&&(r.generatorOptions=e.generator_options),r.boundingBox=Lt(e.bounds)||Lt(e.antimeridian_adjusted_bounds),r.center=un(e.center),r.maxZoom=Nt(e.maxzoom),r.minZoom=Nt(e.minzoom),typeof e?.json=="string")try{r.metaJson=JSON.parse(e.json)}catch(a){console.warn("Failed to parse tilejson.json field",a)}let n=e.tilestats||r.metaJson?.tilestats,o=ln(n,t),i=sn(e.vector_layers),s=fn(i,o);return r={...r,layers:s},r.maxZoom===null&&s.length>0&&(r.maxZoom=s[0].maxZoom||null),r.minZoom===null&&s.length>0&&(r.minZoom=s[0].minZoom||null),r}function sn(e){return Array.isArray(e)?e.map(t=>an(t)):[]}function an(e){let t=Object.entries(e.fields||[]).map(([n,o])=>({name:n,...Ut(String(o))})),r={...e};return delete r.fields,{name:e.id||"",...r,fields:t}}function ln(e,t){return kt(e)&&Array.isArray(e.layers)?e.layers.map(r=>cn(r,t)):[]}function cn(e,t){let r=[],n={},o=e.attributes||[];for(let i of o){let s=i.attribute;if(typeof s=="string")if(s.split("|").length>1){let a=s.split("|")[0];n[a]=n[a]||[],n[a].push(i),console.warn("ignoring tilestats indexed field",a)}else r[s]||r.push(pn(i,t))}return{name:e.layer||"",dominantGeometry:e.geometry,fields:r}}function fn(e,t){return e.map(r=>{let n=t.find(s=>s.name===r.name),o=n?.fields||r.fields||[],i={...r,...n,fields:o};return i.schema=Et(i),i})}function Lt(e){let t=Gt(e);if(Array.isArray(t)&&t.length===4&&[t[0],t[2]].every(Dt)&&[t[1],t[3]].every(Ot))return[[t[0],t[1]],[t[2],t[3]]]}function un(e){let t=Gt(e);return Array.isArray(t)&&t.length===3&&Dt(t[0])&&Ot(t[1])&&hn(t[2])?t:null}function Nt(e){let t=typeof e=="string"?parseFloat(e):typeof e=="number"?e:null;return t===null||isNaN(t)?null:t}function Ot(e){return Number.isFinite(e)&&e<=90&&e>=-90}function Dt(e){return Number.isFinite(e)&&e<=180&&e>=-180}function hn(e){return Number.isFinite(e)&&e>=0&&e<=22}function Gt(e){return typeof e=="string"?e.split(",").map(parseFloat):Array.isArray(e)?e:null}var Ct={number:{type:"float32"},numeric:{type:"float32"},string:{type:"utf8"},vachar:{type:"utf8"},float:{type:"float32"},int:{type:"int32"},int4:{type:"int32"},boolean:{type:"boolean"},bool:{type:"boolean"}};function pn(e={},t){let r=Ut(e.type),n={name:e.attribute,...r};return typeof e.min=="number"&&(n.min=e.min),typeof e.max=="number"&&(n.max=e.max),typeof e.count=="number"&&(n.uniqueValueCount=e.count),e.values&&(n.values=e.values),n.values&&typeof t.maxValues=="number"&&(n.values=n.values?.slice(0,t.maxValues)),n}function Ut(e){let t=e.toLowerCase();return!t||Ct[t],Ct[t]||{type:"string"}}var dn="4.4.2",H={dataType:null,batchType:null,name:"TileJSON",id:"tilejson",module:"pmtiles",version:dn,worker:!0,extensions:["json"],mimeTypes:["application/json"],text:!0,options:{tilejson:{maxValues:void 0}},parse:async(e,t)=>{let r=new TextDecoder().decode(e),n=JSON.parse(r),o={...H.options.tilejson,...t?.tilejson};return $e(n,o)},parseTextSync:(e,t)=>{let r=JSON.parse(e),n={...H.options.tilejson,...t?.tilejson};return $e(r,n)}};function Te(e,t="float32"){return e instanceof Date?"date-millisecond":e instanceof Number?t:typeof e=="string"?"utf8":(e===null||e==="undefined","null")}function jt(e){let t=mn(e);return t!=="null"?{type:t,nullable:!1}:e.length>0?(t=Te(e[0]),{type:t,nullable:!0}):{type:"null",nullable:!0}}function mn(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function Je(e){switch(e.shape){case"array-row-table":case"object-row-table":return yn(e.data);case"geojson-table":return xn(e.features);case"columnar-table":return gn(e.data);case"arrow-table":default:throw new Error("Deduce schema")}}function gn(e){let t=[];for(let[r,n]of Object.entries(e)){let o=wn(n,r);t.push(o)}return{fields:t,metadata:{}}}function yn(e){if(!e.length)throw new Error("deduce from empty table");let t=[],r=e[0];for(let[n,o]of Object.entries(r))t.push(Rt(o,n));return{fields:t,metadata:{}}}function xn(e){if(!e.length)throw new Error("deduce from empty table");let t=[],r=e[0].properties||{};for(let[n,o]of Object.entries(r))t.push(Rt(o,n));return{fields:t,metadata:{}}}function wn(e,t){if(ArrayBuffer.isView(e)){let r=jt(e);return{name:t,type:r.type||"null",nullable:r.nullable}}if(Array.isArray(e)&&e.length>0){let r=e[0],n=Te(r);return{name:t,type:n,nullable:!0}}throw new Error("empty table")}function Rt(e,t){let r=Te(e);return{name:t,type:r,nullable:!0}}var oe={x:0,y:1,z:2};function D(e,t={}){let{start:r=0,end:n=e.length,plane:o="xy"}=t,i=t.size||2,s=0,a=oe[o[0]],l=oe[o[1]];for(let c=r,f=n-i;c<n;c+=i)s+=(e[c+a]-e[f+a])*(e[c+l]+e[f+l]),f=c;return s/2}function Ze(e,t,r=2,n,o="xy"){let i=t&&t.length,s=i?t[0]*r:e.length,a=Wt(e,0,s,r,!0,n&&n[0],o),l=[];if(!a||a.next===a.prev)return l;let c,f,u,h,p,d,y;if(i&&(a=Sn(e,t,a,r,n,o)),e.length>80*r){h=f=e[0],p=u=e[1];for(let w=r;w<s;w+=r)d=e[w],y=e[w+1],d<h&&(h=d),y<p&&(p=y),d>f&&(f=d),y>u&&(u=y);c=Math.max(f-h,u-p),c=c!==0?32767/c:0}return ie(a,l,r,h,p,c,0),l}function Wt(e,t,r,n,o,i,s){let a,l;i===void 0&&(i=D(e,{start:t,end:r,size:n,plane:s}));let c=oe[s[0]],f=oe[s[1]];if(o===i<0)for(a=t;a<r;a+=n)l=zt(a,e[a+c],e[a+f],l);else for(a=r-n;a>=t;a-=n)l=zt(a,e[a+c],e[a+f],l);return l&&Pe(l,l.next)&&(ae(l),l=l.next),l}function G(e,t){if(!e)return e;t||(t=e);let r=e,n;do if(n=!1,!r.steiner&&(Pe(r,r.next)||T(r.prev,r,r.next)===0)){if(ae(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function ie(e,t,r,n,o,i,s){if(!e)return;!s&&i&&Vn(e,n,o,i);let a=e,l,c;for(;e.prev!==e.next;){if(l=e.prev,c=e.next,i?Pn(e,n,o,i):Fn(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(c.i/r|0),ae(e),e=c.next,a=c.next;continue}if(e=c,e===a){s?s===1?(e=vn(G(e),t,r),ie(e,t,r,n,o,i,2)):s===2&&In(e,t,r,n,o,i):ie(G(e),t,r,n,o,i,1);break}}}function Fn(e){let t=e.prev,r=e,n=e.next;if(T(t,r,n)>=0)return!1;let o=t.x,i=r.x,s=n.x,a=t.y,l=r.y,c=n.y,f=o<i?o<s?o:s:i<s?i:s,u=a<l?a<c?a:c:l<c?l:c,h=o>i?o>s?o:s:i>s?i:s,p=a>l?a>c?a:c:l>c?l:c,d=n.next;for(;d!==t;){if(d.x>=f&&d.x<=h&&d.y>=u&&d.y<=p&&Z(o,a,i,l,s,c,d.x,d.y)&&T(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function Pn(e,t,r,n){let o=e.prev,i=e,s=e.next;if(T(o,i,s)>=0)return!1;let a=o.x,l=i.x,c=s.x,f=o.y,u=i.y,h=s.y,p=a<l?a<c?a:c:l<c?l:c,d=f<u?f<h?f:h:u<h?u:h,y=a>l?a>c?a:c:l>c?l:c,w=f>u?f>h?f:h:u>h?u:h,I=He(p,d,t,r,n),S=He(y,w,t,r,n),m=e.prevZ,g=e.nextZ;for(;m&&m.z>=I&&g&&g.z<=S;){if(m.x>=p&&m.x<=y&&m.y>=d&&m.y<=w&&m!==o&&m!==s&&Z(a,f,l,u,c,h,m.x,m.y)&&T(m.prev,m,m.next)>=0||(m=m.prevZ,g.x>=p&&g.x<=y&&g.y>=d&&g.y<=w&&g!==o&&g!==s&&Z(a,f,l,u,c,h,g.x,g.y)&&T(g.prev,g,g.next)>=0))return!1;g=g.nextZ}for(;m&&m.z>=I;){if(m.x>=p&&m.x<=y&&m.y>=d&&m.y<=w&&m!==o&&m!==s&&Z(a,f,l,u,c,h,m.x,m.y)&&T(m.prev,m,m.next)>=0)return!1;m=m.prevZ}for(;g&&g.z<=S;){if(g.x>=p&&g.x<=y&&g.y>=d&&g.y<=w&&g!==o&&g!==s&&Z(a,f,l,u,c,h,g.x,g.y)&&T(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function vn(e,t,r){let n=e;do{let o=n.prev,i=n.next.next;!Pe(o,i)&&$t(o,n,n.next,i)&&se(o,i)&&se(i,o)&&(t.push(o.i/r|0),t.push(n.i/r|0),t.push(i.i/r|0),ae(n),ae(n.next),n=e=i),n=n.next}while(n!==e);return G(n)}function In(e,t,r,n,o,i){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&Nn(s,a)){let l=Jt(s,a);s=G(s,s.next),l=G(l,l.next),ie(s,t,r,n,o,i,0),ie(l,t,r,n,o,i,0);return}a=a.next}s=s.next}while(s!==e)}function Sn(e,t,r,n,o,i){let s=[],a,l,c,f,u;for(a=0,l=t.length;a<l;a++)c=t[a]*n,f=a<l-1?t[a+1]*n:e.length,u=Wt(e,c,f,n,!1,o&&o[a+1],i),u===u.next&&(u.steiner=!0),s.push(Ln(u));for(s.sort(_n),a=0;a<s.length;a++)r=An(s[a],r);return r}function _n(e,t){return e.x-t.x}function An(e,t){let r=Bn(e,t);if(!r)return t;let n=Jt(r,e);return G(n,n.next),G(r,r.next)}function Bn(e,t){let r=t,n=e.x,o=e.y,i=-1/0,s;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){let h=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(h<=n&&h>i&&(i=h,s=r.x<r.next.x?r:r.next,h===n))return s}r=r.next}while(r!==t);if(!s)return null;let a=s,l=s.x,c=s.y,f=1/0,u;r=s;do n>=r.x&&r.x>=l&&n!==r.x&&Z(o<c?n:i,o,l,c,o<c?i:n,o,r.x,r.y)&&(u=Math.abs(o-r.y)/(n-r.x),se(r,e)&&(u<f||u===f&&(r.x>s.x||r.x===s.x&&Mn(s,r)))&&(s=r,f=u)),r=r.next;while(r!==a);return s}function Mn(e,t){return T(e.prev,e,t.prev)<0&&T(t.next,e,e.next)<0}function Vn(e,t,r,n){let o=e;do o.z===0&&(o.z=He(o.x,o.y,t,r,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,En(o)}function En(e){let t,r,n=1,o,i,s,a,l,c;do{for(i=e,e=null,c=null,o=0;i;){for(o++,a=i,s=0,r=0;r<n&&(s++,a=a.nextZ,!!a);r++);for(l=n;s>0||l>0&&a;)s!==0&&(l===0||!a||i.z<=a.z)?(t=i,i=i.nextZ,s--):(t=a,a=a.nextZ,l--),c?c.nextZ=t:e=t,t.prevZ=c,c=t;i=a}c.nextZ=null,n*=2}while(o>1);return e}function He(e,t,r,n,o){return e=(e-r)*o|0,t=(t-n)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Ln(e){let t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function Z(e,t,r,n,o,i,s,a){return(o-s)*(t-a)>=(e-s)*(i-a)&&(e-s)*(n-a)>=(r-s)*(t-a)&&(r-s)*(i-a)>=(o-s)*(n-a)}function Nn(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!Cn(e,t)&&(se(e,t)&&se(t,e)&&kn(e,t)&&(T(e.prev,e,t.prev)||T(e,t.prev,t))||Pe(e,t)&&T(e.prev,e,e.next)>0&&T(t.prev,t,t.next)>0)}function T(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function Pe(e,t){return e.x===t.x&&e.y===t.y}function $t(e,t,r,n){let o=Fe(T(e,t,r)),i=Fe(T(e,t,n)),s=Fe(T(r,n,e)),a=Fe(T(r,n,t));return!!(o!==i&&s!==a||o===0&&be(e,r,t)||i===0&&be(e,n,t)||s===0&&be(r,e,n)||a===0&&be(r,t,n))}function be(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function Fe(e){return e>0?1:e<0?-1:0}function Cn(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&$t(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function se(e,t){return T(e.prev,e,e.next)<0?T(e,t,e.next)>=0&&T(e,e.prev,t)>=0:T(e,t,e.prev)<0||T(e,e.next,t)<0}function kn(e,t){let r=e,n=!1,o=(e.x+t.x)/2,i=(e.y+t.y)/2;do r.y>i!=r.next.y>i&&r.next.y!==r.y&&o<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function Jt(e,t){let r=new le(e.i,e.x,e.y),n=new le(t.i,t.x,t.y),o=e.next,i=t.prev;return e.next=t,t.prev=e,r.next=o,o.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function zt(e,t,r,n){let o=new le(e,t,r);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o}function ae(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}var le=class{constructor(t,r,n){this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1,this.i=t,this.x=r,this.y=n}};function ve(e,t,r){let n=jn(e),o=Object.keys(n).filter(i=>n[i]!==Array);return Rn(e,{propArrayTypes:n,...t},{numericPropKeys:r&&r.numericPropKeys||o,PositionDataType:r?r.PositionDataType:Float32Array,triangulate:r?r.triangulate:!0})}function jn(e){let t={};for(let r of e)if(r.properties)for(let n in r.properties){let o=r.properties[n];t[n]=Zn(o,t[n])}return t}function Rn(e,t,r){let{pointPositionsCount:n,pointFeaturesCount:o,linePositionsCount:i,linePathsCount:s,lineFeaturesCount:a,polygonPositionsCount:l,polygonObjectsCount:c,polygonRingsCount:f,polygonFeaturesCount:u,propArrayTypes:h,coordLength:p}=t,{numericPropKeys:d=[],PositionDataType:y=Float32Array,triangulate:w=!0}=r,I=e[0]&&"id"in e[0],S=e.length>65535?Uint32Array:Uint16Array,m={type:"Point",positions:new y(n*p),globalFeatureIds:new S(n),featureIds:o>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},g={type:"LineString",pathIndices:i>65535?new Uint32Array(s+1):new Uint16Array(s+1),positions:new y(i*p),globalFeatureIds:new S(i),featureIds:a>65535?new Uint32Array(i):new Uint16Array(i),numericProps:{},properties:[],fields:[]},P={type:"Polygon",polygonIndices:l>65535?new Uint32Array(c+1):new Uint16Array(c+1),primitivePolygonIndices:l>65535?new Uint32Array(f+1):new Uint16Array(f+1),positions:new y(l*p),globalFeatureIds:new S(l),featureIds:u>65535?new Uint32Array(l):new Uint16Array(l),numericProps:{},properties:[],fields:[]};w&&(P.triangles=[]);for(let F of[m,g,P])for(let _ of d){let A=h[_];F.numericProps[_]=new A(F.positions.length/p)}g.pathIndices[s]=i,P.polygonIndices[c]=l,P.primitivePolygonIndices[f]=l;let v={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let F of e){let _=F.geometry,A=F.properties||{};switch(_.type){case"Point":zn(_,m,v,p,A),m.properties.push(Ke(A,d)),I&&m.fields.push({id:F.id}),v.pointFeature++;break;case"LineString":Wn(_,g,v,p,A),g.properties.push(Ke(A,d)),I&&g.fields.push({id:F.id}),v.lineFeature++;break;case"Polygon":$n(_,P,v,p,A),P.properties.push(Ke(A,d)),I&&P.fields.push({id:F.id}),v.polygonFeature++;break;default:throw new Error("Invalid geometry type")}v.feature++}return Hn(m,g,P,p)}function zn(e,t,r,n,o){t.positions.set(e.data,r.pointPosition*n);let i=e.data.length/n;Xe(t,o,r.pointPosition,i),t.globalFeatureIds.fill(r.feature,r.pointPosition,r.pointPosition+i),t.featureIds.fill(r.pointFeature,r.pointPosition,r.pointPosition+i),r.pointPosition+=i}function Wn(e,t,r,n,o){t.positions.set(e.data,r.linePosition*n);let i=e.data.length/n;Xe(t,o,r.linePosition,i),t.globalFeatureIds.fill(r.feature,r.linePosition,r.linePosition+i),t.featureIds.fill(r.lineFeature,r.linePosition,r.linePosition+i);for(let s=0,a=e.indices.length;s<a;++s){let l=e.indices[s],c=s===a-1?e.data.length:e.indices[s+1];t.pathIndices[r.linePath++]=r.linePosition,r.linePosition+=(c-l)/n}}function $n(e,t,r,n,o){t.positions.set(e.data,r.polygonPosition*n);let i=e.data.length/n;Xe(t,o,r.polygonPosition,i),t.globalFeatureIds.fill(r.feature,r.polygonPosition,r.polygonPosition+i),t.featureIds.fill(r.polygonFeature,r.polygonPosition,r.polygonPosition+i);for(let s=0,a=e.indices.length;s<a;++s){let l=r.polygonPosition;t.polygonIndices[r.polygonObject++]=l;let c=e.areas[s],f=e.indices[s],u=e.indices[s+1];for(let p=0,d=f.length;p<d;++p){let y=f[p],w=p===d-1?u===void 0?e.data.length:u[0]:f[p+1];t.primitivePolygonIndices[r.polygonRing++]=r.polygonPosition,r.polygonPosition+=(w-y)/n}let h=r.polygonPosition;Jn(t,c,f,{startPosition:l,endPosition:h,coordLength:n})}}function Jn(e,t,r,{startPosition:n,endPosition:o,coordLength:i}){if(!e.triangles)return;let s=n*i,a=o*i,l=e.positions.subarray(s,a),c=r[0],f=r.slice(1).map(h=>(h-c)/i),u=Ze(l,f,i,t);for(let h=0,p=u.length;h<p;++h)e.triangles.push(n+u[h])}function Ye(e,t){let r={};for(let n in e)r[n]={value:e[n],size:t};return r}function Hn(e,t,r,n){let o={shape:"binary-feature-collection",points:{...e,positions:{value:e.positions,size:n},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:Ye(e.numericProps,1)},lines:{...t,positions:{value:t.positions,size:n},pathIndices:{value:t.pathIndices,size:1},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:Ye(t.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:Ye(r.numericProps,1)}};return o.polygons&&r.triangles&&(o.polygons.triangles={value:new Uint32Array(r.triangles),size:1}),o}function Xe(e,t,r,n){for(let o in e.numericProps)if(o in t){let i=t[o];e.numericProps[o].fill(i,r,r+n)}}function Ke(e,t){let r={};for(let n in e)t.includes(n)||(r[n]=e[n]);return r}function Zn(e,t){return t===Array||!Number.isFinite(e)?Array:t===Float64Array||Math.fround(e)!==e?Float64Array:Float32Array}function ce(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var V={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Yn=V.self||V.window||V.global||{},Kn=V.window||V.self||V.global||{},Xn=V.global||V.self||V.window||{},Qn=V.document||{};var Qe=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Yt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),qn=Yt&&parseFloat(Yt[1])||0;var Ie=globalThis,eo=globalThis.document||{},Se=globalThis.process||{},to=globalThis.console,Os=globalThis.navigator||{};function Kt(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function U(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Kt()}var qe="4.1.1";function Y(e,t){if(!e)throw new Error(t||"Assertion failed")}function et(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Y(Number.isFinite(t)&&t>=0),t}function Xt(e){let{logLevel:t,message:r}=e;e.logLevel=et(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let o=typeof e.message;return Y(o==="string"||o==="object"),Object.assign(e,{args:n},e.opts)}var j=()=>{},_e=class{constructor({level:t=0}={}){this.userData={},this._onceCache=new Set,this._level=t}set level(t){this.setLevel(t)}get level(){return this.getLevel()}setLevel(t){return this._level=t,this}getLevel(){return this._level}warn(t,...r){return this._log("warn",0,t,r,{once:!0})}error(t,...r){return this._log("error",0,t,r)}log(t,r,...n){return this._log("log",t,r,n)}info(t,r,...n){return this._log("info",t,r,n)}once(t,r,...n){return this._log("once",t,r,n,{once:!0})}_log(t,r,n,o,i={}){let s=Xt({logLevel:r,message:n,args:this._buildArgs(r,n,o),opts:i});return this._createLogFunction(t,s,i)}_buildArgs(t,r,n){return[t,r,...n]}_createLogFunction(t,r,n){if(!this._shouldLog(r.logLevel))return j;let o=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&o!==void 0){if(this._onceCache.has(o))return j;this._onceCache.add(o)}return this._emit(t,r)}_shouldLog(t){return this.getLevel()>=et(t)}_getOnceTag(t){if(t!==void 0)try{return typeof t=="string"?t:String(t)}catch{return}}};function no(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Ae=class{constructor(t,r,n="sessionStorage"){this.storage=no(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Qt(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function qt(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var Be;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Be||(Be={}));var oo=10;function er(e){return typeof e!="string"?e:(e=e.toUpperCase(),Be[e]||Be.WHITE)}function tr(e,t,r){return!U&&typeof e=="string"&&(t&&(e=`\x1B[${er(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${er(r)+oo}m${e}\x1B[49m`)),e}function rr(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),o=e;for(let i of n){let s=o[i];typeof s=="function"&&(t.find(a=>i===a)||(o[i]=s.bind(e)))}}function K(){let e;if(U()&&Ie.performance)e=Ie?.performance?.now?.();else if("hrtime"in Se){let t=Se?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var X={debug:U()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},tt={enabled:!0,level:0},L=class extends _e{constructor({id:t}={id:""}){super({level:0}),this.VERSION=qe,this._startTs=K(),this._deltaTs=K(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Ae(`__probe-${this.id}__`,{[this.id]:tt}),this.timeStamp(`${this.id} started`),rr(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((K()-this._startTs).toPrecision(10))}getDelta(){return Number((K()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._updateConfiguration({enabled:t}),this}setLevel(t){return this._updateConfiguration({level:t}),this}get(t){return this._getConfiguration()[t]}set(t,r){this._updateConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t,...r){return this._log("warn",0,t,r,{method:X.warn,once:!0})}error(t,...r){return this._log("error",0,t,r,{method:X.error})}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r,...n){return this._log("log",t,r,n,{method:X.log,time:!0,once:!0})}log(t,r,...n){return this._log("log",t,r,n,{method:X.debug})}info(t,r,...n){return this._log("info",t,r,n,{method:console.info})}once(t,r,...n){return this._log("once",t,r,n,{method:X.debug||X.info,once:!0})}table(t,r,n){return r?this._log("table",t,r,n&&[n]||[],{method:console.table||j,tag:so(r)}):j}time(t,r){return this._log("time",t,r,[],{method:console.time?console.time:console.info})}timeEnd(t,r){return this._log("time",t,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(t,r){return this._log("time",t,r,[],{method:console.timeStamp||j})}group(t,r,n={collapsed:!1}){let o=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",t,r,[],{method:o})}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._log("groupEnd",t,"",[],{method:console.groupEnd||j})}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&super._shouldLog(t)}_emit(t,r){let n=r.method;Y(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=K();let o=io(this.id,r.message,r);return n.bind(console,o,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(tt),this._storage.config[this.id]}_updateConfiguration(t){let r=this._storage.config[this.id]||{...tt};this._storage.setConfiguration({[this.id]:{...r,...t}})}};L.VERSION=qe;function io(e,t,r){if(typeof t=="string"){let n=r.time?qt(Qt(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=tr(t,r.color,r.background)}return t}function so(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var pa=new L({id:"@probe.gl/log"});var rt="4.4.2",ao=rt[0]>="0"&&rt[0]<="9"?`v${rt}`:"";function lo(){let e=new L({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=ao,globalThis.probe||={},globalThis.probe.loaders=e,e}var b=lo();function nr(e,t){return or(e||{},t)}function or(e,t,r=0){if(r>3)return t;let n={...e};for(let[o,i]of Object.entries(t))i&&typeof i=="object"&&!Array.isArray(i)?n[o]=or(n[o]||{},t[o],r+1):n[o]=t[o];return n}function fe(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var B=class{constructor(t,r){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=t,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(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=fe(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(fe()-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 R=class{constructor(t){this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t,r="count"){return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,o=this.stats[r];return o||(t instanceof B?o=t:o=new B(r,n),this.stats[r]=o),o}};var co="",ir={};function sr(e){for(let t in ir)if(e.startsWith(t)){let r=ir[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${co}${e}`),e}function nt(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}var ot=class{optionsType;options;data;url;loadOptions;fetch;_needsRefresh=!0;constructor(t,r,n){n?this.options=nr({...n,core:ot.defaultOptions},r):this.options={...r},this.data=t,this.url=typeof t=="string"?sr(t):"",this.loadOptions=uo(this.options.core?.loadOptions),this.fetch=fo(this.loadOptions)}setProps(t){this.options=Object.assign(this.options,t),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(t=!0){let r=this._needsRefresh;return t&&(this._needsRefresh=!1),r}},k=ot;J(k,"defaultOptions",{core:{type:"auto",attributions:[],loadOptions:{},loaders:[]}});function fo(e){let t=e?.core?.fetch;if(t&&typeof t=="function")return(n,o)=>t(n,o);let r=e?.fetch;return r&&typeof r!="function"?n=>fetch(n,r):n=>fetch(n)}function uo(e){let t={...e};e?.core&&(t.core={...e.core});let r=typeof t.baseUri=="string"?t.baseUri:void 0,n=typeof t.baseUrl=="string"?t.baseUrl:void 0;return(r!==void 0||n!==void 0)&&(t.core||={},t.core.baseUrl===void 0&&(t.core.baseUrl=n??r),delete t.baseUri,delete t.baseUrl),t}var ct=We(at(),1);function Mo(e){let t=0;for(let r=0,n=e.length-1,o,i;r<e.length;n=r++)o=e[r],i=e[n],t+=(i[0]-o[0])*(o[1]+i[1]);return t}function ue(e,t){if(Array.isArray(e[0])){for(let n of e)ue(n,t);return}let r=e;r[0]/=t,r[1]/=t}function pr(e,t){for(let r=0;r<e.length;++r)e[r]/=t}function he(e,t,r){if(typeof e[0][0]!="number"){for(let s of e)he(s,t,r);return}let n=r*Math.pow(2,t.z),o=r*t.x,i=r*t.y;for(let s=0;s<e.length;s++){let a=e[s];a[0]=(a[0]+o)*360/n-180;let l=180-(a[1]+i)*360/n;a[1]=360/Math.PI*Math.atan(Math.exp(l*Math.PI/180))-90}}function dr(e,t,r){let{x:n,y:o,z:i}=t,s=r*Math.pow(2,i),a=r*n,l=r*o;for(let c=0,f=e.length;c<f;c+=2){e[c]=(e[c]+a)*360/s-180;let u=180-(e[c+1]+l)*360/s;e[c+1]=360/Math.PI*Math.atan(Math.exp(u*Math.PI/180))-90}}function mr(e){let t=e.length;if(t<=1)return[e];let r=[],n,o;for(let i=0;i<t;i++){let s=Mo(e[i]);s!==0&&(o===void 0&&(o=s<0),o===s<0?(n&&r.push(n),n=[e[i]]):n&&n.push(e[i]))}return n&&r.push(n),r}function gr(e){let t=e.indices.length,r="Polygon";if(t<=1)return{type:r,data:e.data,areas:[[D(e.data)]],indices:[e.indices]};let n=[],o=[],i=[],s=[],a,l=0;for(let c,f=0,u;f<t;f++){u=e.indices[f]-l,c=e.indices[f+1]-l||e.data.length;let h=e.data.slice(u,c),p=D(h);if(p===0){let d=e.data.slice(0,u),y=e.data.slice(c);e.data=d.concat(y),l+=c-u;continue}a===void 0&&(a=p<0),a===p<0?(s.length&&(n.push(i),o.push(s)),s=[u],i=[p]):(i.push(p),s.push(u))}return i&&n.push(i),s.length&&o.push(s),{type:r,areas:n,indices:o,data:e.data}}var z=class{properties;extent;type;id;_pbf;_geometry;_keys;_values;_geometryInfo;constructor(t,r,n,o,i,s){this.properties={},this.extent=n,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=o,this._values=i,this._geometryInfo=s,t.readFields(Vo,this,r)}toGeoJSONFeature(t,r){let n=this.loadGeometry();switch(t){case"wgs84":return yr(this,n,o=>he(o,r,this.extent));default:return yr(this,n,ue)}}toBinaryFeature(t,r){let n=this.loadFlatGeometry();switch(t){case"wgs84":return this._toBinaryCoordinates(n,o=>dr(o,r,this.extent));default:return this._toBinaryCoordinates(n,pr)}}bbox(){let t=this._pbf;t.pos=this._geometry;let r=t.readVarint()+t.pos,n=1,o=0,i=0,s=0,a=1/0,l=-1/0,c=1/0,f=-1/0;for(;t.pos<r;){if(o<=0){let u=t.readVarint();n=u&7,o=u>>3}if(o--,n===1||n===2)i+=t.readSVarint(),s+=t.readSVarint(),i<a&&(a=i),i>l&&(l=i),s<c&&(c=s),s>f&&(f=s);else if(n!==7)throw new Error(`unknown command ${n}`)}return[a,c,l,f]}_toBinaryCoordinates(t,r){let n;r(t.data,this.extent);let o=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=t.indices.length,n={type:"Point",...t};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=t.indices.length,this._geometryInfo.linePositionsCount+=t.data.length/o,n={type:"LineString",...t};break;case 3:n=gr(t),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/o;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}loadGeometry(){let t=this._pbf;t.pos=this._geometry;let r=t.readVarint()+t.pos,n=1,o=0,i=0,s=0,a=[],l;for(;t.pos<r;){if(o<=0){let c=t.readVarint();n=c&7,o=c>>3}switch(o--,n){case 1:case 2:i+=t.readSVarint(),s+=t.readSVarint(),n===1&&(l&&a.push(l),l=[]),l&&l.push([i,s]);break;case 7:l&&l.push(l[0].slice());break;default:throw new Error(`unknown command ${n}`)}}return l&&a.push(l),a}loadFlatGeometry(){let t=this._pbf;t.pos=this._geometry;let r=t.readVarint()+t.pos,n=1,o,i=0,s=0,a=0,l=0,c=[],f=[];for(;t.pos<r;)if(i<=0&&(o=t.readVarint(),n=o&7,i=o>>3),i--,n===1||n===2)s+=t.readSVarint(),a+=t.readSVarint(),n===1&&c.push(l),f.push(s,a),l+=2;else if(n===7){if(l>0){let u=c[c.length-1];f.push(f[u],f[u+1]),l+=2}}else throw new Error(`unknown command ${n}`);return{data:f,indices:c}}};J(z,"types",["Unknown","Point","LineString","Polygon"]);function yr(e,t,r){let n=z.types[e.type],o,i,s;switch(e.type){case 1:let l=[];for(o=0;o<t.length;o++)l[o]=t[o][0];s=l,r(s,e.extent);break;case 2:for(s=t,o=0;o<s.length;o++)r(s[o],e.extent);break;case 3:for(s=mr(t),o=0;o<s.length;o++)for(i=0;i<s[o].length;i++)r(s[o][i],e.extent);break;default:throw new Error("illegal vector tile type")}s.length===1?s=s[0]:n=`Multi${n}`;let a={type:"Feature",geometry:{type:n,coordinates:s},properties:e.properties};return e.id!==null&&(a.properties||={},a.properties.id=e.id),a}function Vo(e,t,r){t&&r&&(e===1?t.id=r.readVarint():e===2?Eo(r,t):e===3?t.type=r.readVarint():e===4&&(t._geometry=r.pos))}function Eo(e,t){let r=e.readVarint()+e.pos;for(;e.pos<r;){let n=t._keys[e.readVarint()],o=t._values[e.readVarint()];t.properties[n]=o}}var Ee=class{version;name;extent;length;_pbf;_keys;_values;_features;constructor(t,r){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(Lo,this,r),this.length=this._features.length}getGeoJSONFeature(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];let r=this._pbf.readVarint()+this._pbf.pos;return new z(this._pbf,r,this.extent,this._keys,this._values)}getBinaryFeature(t,r){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];let n=this._pbf.readVarint()+this._pbf.pos;return new z(this._pbf,n,this.extent,this._keys,this._values,r)}};function Lo(e,t,r){t&&r&&(e===15?t.version=r.readVarint():e===1?t.name=r.readString():e===5?t.extent=r.readVarint():e===2?t._features.push(r.pos):e===3?t._keys.push(r.readString()):e===4&&t._values.push(No(r)))}function No(e){let t=null,r=e.readVarint()+e.pos;for(;e.pos<r;){let n=e.readVarint()>>3;t=n===1?e.readString():n===2?e.readFloat():n===3?e.readDouble():n===4?e.readVarint64():n===5?e.readVarint():n===6?e.readSVarint():n===7?e.readBoolean():null}return t}var pe=class{layers;constructor(t,r){this.layers=t.readFields(Co,{},r)}};function Co(e,t,r){if(e===3&&r){let n=new Ee(r,r.readVarint()+r.pos);n.length&&t&&(t[n.name]=n)}}function ft(e,t){let r=Oo(t),n=t?.gis?.format||t?.mvt?.shape||t?.shape;switch(n){case"columnar-table":return{shape:"columnar-table",data:lt(e,r)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:xr(e,r)};case"geojson":return xr(e,r);case"binary-geometry":return lt(e,r);case"binary":return lt(e,r);default:throw new Error(n||"undefined shape")}}function lt(e,t){let[r,n]=ko(e,t),o=ve(r,n);return o.byteLength=e.byteLength,o}function ko(e,t){let r=[],n={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(e.byteLength<=0)return[r,n];let o=new pe(new ct.default(e));return(t&&Array.isArray(t.layers)?t.layers:Object.keys(o.layers)).forEach(s=>{let a=o.layers[s];if(a)for(let l=0;l<a.length;l++){let c=a.getBinaryFeature(l,n),f=Go(c,t,s);r.push(f)}}),[r,n]}function xr(e,t){if(e.byteLength<=0)return[];let r=[],n=new pe(new ct.default(e));return(Array.isArray(t.layers)?t.layers:Object.keys(n.layers)).forEach(i=>{let s=n.layers[i];if(s)for(let a=0;a<s.length;a++){let l=s.getGeoJSONFeature(a),c=Do(l,t,i);r.push(c)}}),r}function Oo(e){if(!e?.mvt)throw new Error("mvt options required");if(e.mvt?.coordinates==="wgs84"&&!e.mvt.tileIndex)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return e.gis&&b.warn('MVTLoader: "options.gis" is deprecated, use "options.mvt.shape" instead')(),e.mvt}function Do(e,t,r){let n=e.toGeoJSONFeature(t.coordinates||"local",t.tileIndex);return t.layerProperty&&(n.properties||={},n.properties[t.layerProperty]=r),n}function Go(e,t,r){let n=e.toBinaryFeature(t.coordinates||"local",t.tileIndex);return t.layerProperty&&n.properties&&(n.properties[t.layerProperty]=r),n}var ee={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],category:"geometry"};var Uo="4.4.2",ut={...ee,dataType:null,batchType:null,version:Uo,worker:!0,options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:void 0}}},Le={...ut,parse:async(e,t)=>ft(e,t),parseSync:ft,binary:!0};var vr=We(at(),1);var Ne;(function(e){e[e.layers=3]="layers"})(Ne||(Ne={}));var C;(function(e){e[e.version=15]="version",e[e.name=1]="name",e[e.features=2]="features",e[e.keys=3]="keys",e[e.values=4]="values",e[e.extent=5]="extent"})(C||(C={}));var W;(function(e){e[e.id=1]="id",e[e.tags=2]="tags",e[e.type=3]="type",e[e.geometry=4