@loaders.gl/mvt 4.2.0-alpha.5 → 4.2.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +55 -9
- package/dist/dist.min.js +1 -1
- package/dist/index.cjs +51 -9
- package/dist/index.cjs.map +2 -2
- package/dist/lib/binary-vector-tile/vector-tile-feature.js +9 -0
- package/dist/lib/binary-vector-tile/vector-tile-layer.js +8 -0
- package/dist/lib/binary-vector-tile/vector-tile.js +1 -0
- package/dist/lib/geojson-tiler/clip.js +3 -0
- package/dist/lib/geojson-tiler/geojson-tiler.js +6 -5
- package/dist/lib/geojson-tiler/wrap.js +3 -0
- package/dist/lib/mapbox-vector-tile/vector-tile-feature.js +8 -0
- package/dist/lib/mapbox-vector-tile/vector-tile-layer.js +8 -0
- package/dist/lib/mapbox-vector-tile/vector-tile.js +1 -0
- package/dist/mvt-loader.js +1 -1
- package/dist/mvt-source.js +8 -3
- package/dist/mvt-worker.js +39 -2
- package/dist/tilejson-loader.js +1 -1
- package/package.json +6 -6
package/dist/dist.dev.js
CHANGED
|
@@ -1703,6 +1703,14 @@ var __exports__ = (() => {
|
|
|
1703
1703
|
|
|
1704
1704
|
// src/lib/mapbox-vector-tile/vector-tile-feature.ts
|
|
1705
1705
|
var VectorTileFeature = class {
|
|
1706
|
+
properties;
|
|
1707
|
+
extent;
|
|
1708
|
+
type;
|
|
1709
|
+
id;
|
|
1710
|
+
_pbf;
|
|
1711
|
+
_geometry;
|
|
1712
|
+
_keys;
|
|
1713
|
+
_values;
|
|
1706
1714
|
static get types() {
|
|
1707
1715
|
return ["Unknown", "Point", "LineString", "Polygon"];
|
|
1708
1716
|
}
|
|
@@ -1862,6 +1870,14 @@ var __exports__ = (() => {
|
|
|
1862
1870
|
|
|
1863
1871
|
// src/lib/mapbox-vector-tile/vector-tile-layer.ts
|
|
1864
1872
|
var VectorTileLayer = class {
|
|
1873
|
+
version;
|
|
1874
|
+
name;
|
|
1875
|
+
extent;
|
|
1876
|
+
length;
|
|
1877
|
+
_pbf;
|
|
1878
|
+
_keys;
|
|
1879
|
+
_values;
|
|
1880
|
+
_features;
|
|
1865
1881
|
constructor(pbf, end) {
|
|
1866
1882
|
this.version = 1;
|
|
1867
1883
|
this.name = "";
|
|
@@ -1916,6 +1932,7 @@ var __exports__ = (() => {
|
|
|
1916
1932
|
|
|
1917
1933
|
// src/lib/mapbox-vector-tile/vector-tile.ts
|
|
1918
1934
|
var VectorTile = class {
|
|
1935
|
+
layers;
|
|
1919
1936
|
constructor(pbf, end) {
|
|
1920
1937
|
this.layers = pbf.readFields(readTile, {}, end);
|
|
1921
1938
|
}
|
|
@@ -2018,6 +2035,15 @@ var __exports__ = (() => {
|
|
|
2018
2035
|
var y;
|
|
2019
2036
|
var i;
|
|
2020
2037
|
var VectorTileFeature2 = class {
|
|
2038
|
+
properties;
|
|
2039
|
+
extent;
|
|
2040
|
+
type;
|
|
2041
|
+
id;
|
|
2042
|
+
_pbf;
|
|
2043
|
+
_geometry;
|
|
2044
|
+
_keys;
|
|
2045
|
+
_values;
|
|
2046
|
+
_geometryInfo;
|
|
2021
2047
|
// eslint-disable-next-line max-params
|
|
2022
2048
|
constructor(pbf, end, extent, keys, values, geometryInfo) {
|
|
2023
2049
|
this.properties = {};
|
|
@@ -2124,6 +2150,14 @@ var __exports__ = (() => {
|
|
|
2124
2150
|
|
|
2125
2151
|
// src/lib/binary-vector-tile/vector-tile-layer.ts
|
|
2126
2152
|
var VectorTileLayer2 = class {
|
|
2153
|
+
version;
|
|
2154
|
+
name;
|
|
2155
|
+
extent;
|
|
2156
|
+
length;
|
|
2157
|
+
_pbf;
|
|
2158
|
+
_keys;
|
|
2159
|
+
_values;
|
|
2160
|
+
_features;
|
|
2127
2161
|
constructor(pbf, end) {
|
|
2128
2162
|
this.version = 1;
|
|
2129
2163
|
this.name = "";
|
|
@@ -2187,6 +2221,7 @@ var __exports__ = (() => {
|
|
|
2187
2221
|
|
|
2188
2222
|
// src/lib/binary-vector-tile/vector-tile.ts
|
|
2189
2223
|
var VectorTile2 = class {
|
|
2224
|
+
layers;
|
|
2190
2225
|
constructor(pbf, end) {
|
|
2191
2226
|
this.layers = pbf.readFields(readTile2, {}, end);
|
|
2192
2227
|
}
|
|
@@ -2642,8 +2677,13 @@ var __exports__ = (() => {
|
|
|
2642
2677
|
|
|
2643
2678
|
// ../loader-utils/src/lib/sources/data-source.ts
|
|
2644
2679
|
var DataSource = class {
|
|
2680
|
+
/** A resolved fetch function extracted from loadOptions prop */
|
|
2681
|
+
fetch;
|
|
2682
|
+
/** The actual load options, if calling a loaders.gl loader */
|
|
2683
|
+
loadOptions;
|
|
2684
|
+
_needsRefresh = true;
|
|
2685
|
+
props;
|
|
2645
2686
|
constructor(props) {
|
|
2646
|
-
this._needsRefresh = true;
|
|
2647
2687
|
this.props = { ...props };
|
|
2648
2688
|
this.loadOptions = { ...props.loadOptions };
|
|
2649
2689
|
this.fetch = getFetchFunction(this.loadOptions);
|
|
@@ -3088,11 +3128,16 @@ var __exports__ = (() => {
|
|
|
3088
3128
|
|
|
3089
3129
|
// src/mvt-source.ts
|
|
3090
3130
|
var MVTSource = class extends DataSource {
|
|
3131
|
+
props;
|
|
3132
|
+
url;
|
|
3133
|
+
metadataUrl = null;
|
|
3134
|
+
data;
|
|
3135
|
+
schema = "tms";
|
|
3136
|
+
metadata;
|
|
3137
|
+
extension;
|
|
3138
|
+
mimeType = null;
|
|
3091
3139
|
constructor(props) {
|
|
3092
3140
|
super(props);
|
|
3093
|
-
this.metadataUrl = null;
|
|
3094
|
-
this.schema = "tms";
|
|
3095
|
-
this.mimeType = null;
|
|
3096
3141
|
this.props = props;
|
|
3097
3142
|
this.url = resolvePath(props.url);
|
|
3098
3143
|
this.metadataUrl = props.metadataUrl === void 0 ? `${this.url}/tilejson.json` : props.metadataUrl;
|
|
@@ -3809,12 +3854,13 @@ var __exports__ = (() => {
|
|
|
3809
3854
|
// logging level (0, 1 or 2)
|
|
3810
3855
|
};
|
|
3811
3856
|
var GeoJSONTiler = class {
|
|
3857
|
+
options;
|
|
3858
|
+
// tiles and tileCoords are part of the public API
|
|
3859
|
+
tiles = {};
|
|
3860
|
+
tileCoords = [];
|
|
3861
|
+
stats = {};
|
|
3862
|
+
total = 0;
|
|
3812
3863
|
constructor(data, options) {
|
|
3813
|
-
// tiles and tileCoords are part of the public API
|
|
3814
|
-
this.tiles = {};
|
|
3815
|
-
this.tileCoords = [];
|
|
3816
|
-
this.stats = {};
|
|
3817
|
-
this.total = 0;
|
|
3818
3864
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
3819
3865
|
options = this.options;
|
|
3820
3866
|
const debug = options.debug;
|
package/dist/dist.min.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
5
|
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
6
|
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
-
"use strict";var __exports__=(()=>{var nn=Object.create;var lt=Object.defineProperty;var rn=Object.getOwnPropertyDescriptor;var on=Object.getOwnPropertyNames;var sn=Object.getPrototypeOf,an=Object.prototype.hasOwnProperty;var St=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ln=(t,e)=>{for(var n in e)lt(t,n,{get:e[n],enumerable:!0})},at=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of on(e))!an.call(t,r)&&r!==n&<(t,r,{get:()=>e[r],enumerable:!(i=rn(e,r))||i.enumerable});return t},ft=(t,e,n)=>(at(t,e,"default"),n&&at(n,e,"default")),ie=(t,e,n)=>(n=t!=null?nn(sn(t)):{},at(e||!t||!t.__esModule?lt(n,"default",{value:t,enumerable:!0}):n,t)),fn=t=>at(lt({},"__esModule",{value:!0}),t);var oe=St((yr,re)=>{re.exports=globalThis.loaders});var he=St(Ct=>{Ct.read=function(t,e,n,i,r){var o,s,a=r*8-i-1,l=(1<<a)-1,f=l>>1,c=-7,u=n?r-1:0,p=n?-1:1,h=t[e+u];for(u+=p,o=h&(1<<-c)-1,h>>=-c,c+=a;c>0;o=o*256+t[e+u],u+=p,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=i;c>0;s=s*256+t[e+u],u+=p,c-=8);if(o===0)o=1-f;else{if(o===l)return s?NaN:(h?-1:1)*(1/0);s=s+Math.pow(2,i),o=o-f}return(h?-1:1)*s*Math.pow(2,o-i)};Ct.write=function(t,e,n,i,r,o){var s,a,l,f=o*8-r-1,c=(1<<f)-1,u=c>>1,p=r===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:o-1,d=i?1:-1,x=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=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+u>=1?e+=p/l:e+=p*Math.pow(2,1-u),e*l>=2&&(s++,l/=2),s+u>=c?(a=0,s=c):s+u>=1?(a=(e*l-1)*Math.pow(2,r),s=s+u):(a=e*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;t[n+h]=a&255,h+=d,a/=256,r-=8);for(s=s<<r|a,f+=r;f>0;t[n+h]=s&255,h+=d,s/=256,f-=8);t[n+h-d]|=x*128}});var ye=St((po,xe)=>{"use strict";xe.exports=y;var pt=he();function y(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}y.Varint=0;y.Fixed64=1;y.Bytes=2;y.Fixed32=5;var bt=(1<<16)*(1<<16),pe=1/bt,Un=12,me=typeof TextDecoder>"u"?null:new TextDecoder("utf8");y.prototype={destroy:function(){this.buf=null},readFields:function(t,e,n){for(n=n||this.length;this.pos<n;){var i=this.readVarint(),r=i>>3,o=this.pos;this.type=i&7,t(r,e,this),this.pos===o&&this.skip(i)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=dt(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=ge(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=dt(this.buf,this.pos)+dt(this.buf,this.pos+4)*bt;return this.pos+=8,t},readSFixed64:function(){var t=dt(this.buf,this.pos)+ge(this.buf,this.pos+4)*bt;return this.pos+=8,t},readFloat:function(){var t=pt.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=pt.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,n,i;return i=e[this.pos++],n=i&127,i<128||(i=e[this.pos++],n|=(i&127)<<7,i<128)||(i=e[this.pos++],n|=(i&127)<<14,i<128)||(i=e[this.pos++],n|=(i&127)<<21,i<128)?n:(i=e[this.pos],n|=(i&15)<<28,Gn(n,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>=Un&&me?ti(this.buf,e,t):qn(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!==y.Bytes)return t.push(this.readVarint(e));var n=D(this);for(t=t||[];this.pos<n;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==y.Bytes)return t.push(this.readSVarint());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==y.Bytes)return t.push(this.readBoolean());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==y.Bytes)return t.push(this.readFloat());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==y.Bytes)return t.push(this.readDouble());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==y.Bytes)return t.push(this.readFixed32());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==y.Bytes)return t.push(this.readSFixed32());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==y.Bytes)return t.push(this.readFixed64());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==y.Bytes)return t.push(this.readSFixed64());var e=D(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=t&7;if(e===y.Varint)for(;this.buf[this.pos++]>127;);else if(e===y.Bytes)this.pos=this.readVarint()+this.pos;else if(e===y.Fixed32)this.pos+=4;else if(e===y.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 n=new Uint8Array(e);n.set(this.buf),this.buf=n,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),j(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),j(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),j(this.buf,t&-1,this.pos),j(this.buf,Math.floor(t*pe),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),j(this.buf,t&-1,this.pos),j(this.buf,Math.floor(t*pe),this.pos+4),this.pos+=8},writeVarint:function(t){if(t=+t||0,t>268435455||t<0){Rn(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=ei(this.buf,t,this.pos);var n=this.pos-e;n>=128&&de(e,n,this),this.pos=e-1,this.writeVarint(n),this.pos+=n},writeFloat:function(t){this.realloc(4),pt.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),pt.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 n=0;n<e;n++)this.buf[this.pos++]=t[n]},writeRawMessage:function(t,e){this.pos++;var n=this.pos;t(e,this);var i=this.pos-n;i>=128&&de(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i},writeMessage:function(t,e,n){this.writeTag(t,y.Bytes),this.writeRawMessage(e,n)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,zn,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Jn,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Xn,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Wn,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Yn,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,$n,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Hn,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Kn,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Qn,e)},writeBytesField:function(t,e){this.writeTag(t,y.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,y.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,y.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,y.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,y.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,y.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,y.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,y.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,y.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,y.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Gn(t,e,n){var i=n.buf,r,o;if(o=i[n.pos++],r=(o&112)>>4,o<128||(o=i[n.pos++],r|=(o&127)<<3,o<128)||(o=i[n.pos++],r|=(o&127)<<10,o<128)||(o=i[n.pos++],r|=(o&127)<<17,o<128)||(o=i[n.pos++],r|=(o&127)<<24,o<128)||(o=i[n.pos++],r|=(o&1)<<31,o<128))return R(t,r,e);throw new Error("Expected varint not more than 10 bytes")}function D(t){return t.type===y.Bytes?t.readVarint()+t.pos:t.pos+1}function R(t,e,n){return n?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function Rn(t,e){var n,i;if(t>=0?(n=t%4294967296|0,i=t/4294967296|0):(n=~(-t%4294967296),i=~(-t/4294967296),n^4294967295?n=n+1|0:(n=0,i=i+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),jn(n,i,e),Zn(i,e)}function jn(t,e,n){n.buf[n.pos++]=t&127|128,t>>>=7,n.buf[n.pos++]=t&127|128,t>>>=7,n.buf[n.pos++]=t&127|128,t>>>=7,n.buf[n.pos++]=t&127|128,t>>>=7,n.buf[n.pos]=t&127}function Zn(t,e){var n=(t&7)<<4;e.buf[e.pos++]|=n|((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 de(t,e,n){var i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));n.realloc(i);for(var r=n.pos-1;r>=t;r--)n.buf[r+i]=n.buf[r]}function zn(t,e){for(var n=0;n<t.length;n++)e.writeVarint(t[n])}function Jn(t,e){for(var n=0;n<t.length;n++)e.writeSVarint(t[n])}function Wn(t,e){for(var n=0;n<t.length;n++)e.writeFloat(t[n])}function Yn(t,e){for(var n=0;n<t.length;n++)e.writeDouble(t[n])}function Xn(t,e){for(var n=0;n<t.length;n++)e.writeBoolean(t[n])}function $n(t,e){for(var n=0;n<t.length;n++)e.writeFixed32(t[n])}function Hn(t,e){for(var n=0;n<t.length;n++)e.writeSFixed32(t[n])}function Kn(t,e){for(var n=0;n<t.length;n++)e.writeFixed64(t[n])}function Qn(t,e){for(var n=0;n<t.length;n++)e.writeSFixed64(t[n])}function dt(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216}function j(t,e,n){t[n]=e,t[n+1]=e>>>8,t[n+2]=e>>>16,t[n+3]=e>>>24}function ge(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function qn(t,e,n){for(var i="",r=e;r<n;){var o=t[r],s=null,a=o>239?4:o>223?3:o>191?2:1;if(r+a>n)break;var l,f,c;a===1?o<128&&(s=o):a===2?(l=t[r+1],(l&192)===128&&(s=(o&31)<<6|l&63,s<=127&&(s=null))):a===3?(l=t[r+1],f=t[r+2],(l&192)===128&&(f&192)===128&&(s=(o&15)<<12|(l&63)<<6|f&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):a===4&&(l=t[r+1],f=t[r+2],c=t[r+3],(l&192)===128&&(f&192)===128&&(c&192)===128&&(s=(o&15)<<18|(l&63)<<12|(f&63)<<6|c&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,a=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),r+=a}return i}function ti(t,e,n){return me.decode(t.subarray(e,n))}function ei(t,e,n){for(var i=0,r,o;i<e.length;i++){if(r=e.charCodeAt(i),r>55295&&r<57344)if(o)if(r<56320){t[n++]=239,t[n++]=191,t[n++]=189,o=r;continue}else r=o-55296<<10|r-56320|65536,o=null;else{r>56319||i+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):o=r;continue}else o&&(t[n++]=239,t[n++]=191,t[n++]=189,o=null);r<128?t[n++]=r:(r<2048?t[n++]=r>>6|192:(r<65536?t[n++]=r>>12|224:(t[n++]=r>>18|240,t[n++]=r>>12&63|128),t[n++]=r>>6&63|128),t[n++]=r&63|128)}return n}});var st={};ln(st,{GeoJSONTiler:()=>Tt,MVTLoader:()=>xt,MVTSource:()=>Pt,MVTWorkerLoader:()=>Rt,TileJSONLoader:()=>Z});ft(st,ie(oe(),1));function L(t){return L=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(t)}function Mt(t,e){if(L(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var i=n.call(t,e||"default");if(L(i)!=="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Vt(t){var e=Mt(t,"string");return L(e)==="symbol"?e:String(e)}function _(t,e,n){return e=Vt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var J={x:0,y:1,z:2};function b(t,e={}){let{start:n=0,end:i=t.length,plane:r="xy"}=e,o=e.size||2,s=0,a=J[r[0]],l=J[r[1]];for(let f=n,c=i-o;f<i;f+=o)s+=(t[f+a]-t[c+a])*(t[f+l]+t[c+l]),c=f;return s/2}function Bt(t,e,n=2,i,r="xy"){let o=e&&e.length,s=o?e[0]*n:t.length,a=ae(t,0,s,n,!0,i&&i[0],r),l=[];if(!a||a.next===a.prev)return l;let f,c,u,p,h,d,x;if(o&&(a=mn(t,e,a,n,i,r)),t.length>80*n){p=c=t[0],h=u=t[1];for(let w=n;w<s;w+=n)d=t[w],x=t[w+1],d<p&&(p=d),x<h&&(h=x),d>c&&(c=d),x>u&&(u=x);f=Math.max(c-p,u-h),f=f!==0?32767/f:0}return W(a,l,n,p,h,f,0),l}function ae(t,e,n,i,r,o,s){let a,l;o===void 0&&(o=b(t,{start:e,end:n,size:i,plane:s}));let f=J[s[0]],c=J[s[1]];if(r===o<0)for(a=e;a<n;a+=i)l=se(a,t[a+f],t[a+c],l);else for(a=n-i;a>=e;a-=i)l=se(a,t[a+f],t[a+c],l);return l&&ht(l,l.next)&&(X(l),l=l.next),l}function O(t,e){if(!t)return t;e||(e=t);let n=t,i;do if(i=!1,!n.steiner&&(ht(n,n.next)||P(n.prev,n,n.next)===0)){if(X(n),n=e=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==e);return e}function W(t,e,n,i,r,o,s){if(!t)return;!s&&o&&Fn(t,i,r,o);let a=t,l,f;for(;t.prev!==t.next;){if(l=t.prev,f=t.next,o?pn(t,i,r,o):hn(t)){e.push(l.i/n|0),e.push(t.i/n|0),e.push(f.i/n|0),X(t),t=f.next,a=f.next;continue}if(t=f,t===a){s?s===1?(t=dn(O(t),e,n),W(t,e,n,i,r,o,2)):s===2&&gn(t,e,n,i,r,o):W(O(t),e,n,i,r,o,1);break}}}function hn(t){let e=t.prev,n=t,i=t.next;if(P(e,n,i)>=0)return!1;let r=e.x,o=n.x,s=i.x,a=e.y,l=n.y,f=i.y,c=r<o?r<s?r:s:o<s?o:s,u=a<l?a<f?a:f:l<f?l:f,p=r>o?r>s?r:s:o>s?o:s,h=a>l?a>f?a:f:l>f?l:f,d=i.next;for(;d!==e;){if(d.x>=c&&d.x<=p&&d.y>=u&&d.y<=h&&G(r,a,o,l,s,f,d.x,d.y)&&P(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function pn(t,e,n,i){let r=t.prev,o=t,s=t.next;if(P(r,o,s)>=0)return!1;let a=r.x,l=o.x,f=s.x,c=r.y,u=o.y,p=s.y,h=a<l?a<f?a:f:l<f?l:f,d=c<u?c<p?c:p:u<p?u:p,x=a>l?a>f?a:f:l>f?l:f,w=c>u?c>p?c:p:u>p?u:p,I=_t(h,d,e,n,i),M=_t(x,w,e,n,i),g=t.prevZ,m=t.nextZ;for(;g&&g.z>=I&&m&&m.z<=M;){if(g.x>=h&&g.x<=x&&g.y>=d&&g.y<=w&&g!==r&&g!==s&&G(a,c,l,u,f,p,g.x,g.y)&&P(g.prev,g,g.next)>=0||(g=g.prevZ,m.x>=h&&m.x<=x&&m.y>=d&&m.y<=w&&m!==r&&m!==s&&G(a,c,l,u,f,p,m.x,m.y)&&P(m.prev,m,m.next)>=0))return!1;m=m.nextZ}for(;g&&g.z>=I;){if(g.x>=h&&g.x<=x&&g.y>=d&&g.y<=w&&g!==r&&g!==s&&G(a,c,l,u,f,p,g.x,g.y)&&P(g.prev,g,g.next)>=0)return!1;g=g.prevZ}for(;m&&m.z<=M;){if(m.x>=h&&m.x<=x&&m.y>=d&&m.y<=w&&m!==r&&m!==s&&G(a,c,l,u,f,p,m.x,m.y)&&P(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function dn(t,e,n){let i=t;do{let r=i.prev,o=i.next.next;!ht(r,o)&&le(r,i,i.next,o)&&Y(r,o)&&Y(o,r)&&(e.push(r.i/n|0),e.push(i.i/n|0),e.push(o.i/n|0),X(i),X(i.next),i=t=o),i=i.next}while(i!==t);return O(i)}function gn(t,e,n,i,r,o){let s=t;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&Tn(s,a)){let l=fe(s,a);s=O(s,s.next),l=O(l,l.next),W(s,e,n,i,r,o,0),W(l,e,n,i,r,o,0);return}a=a.next}s=s.next}while(s!==t)}function mn(t,e,n,i,r,o){let s=[],a,l,f,c,u;for(a=0,l=e.length;a<l;a++)f=e[a]*i,c=a<l-1?e[a+1]*i:t.length,u=ae(t,f,c,i,!1,r&&r[a+1],o),u===u.next&&(u.steiner=!0),s.push(vn(u));for(s.sort(xn),a=0;a<s.length;a++)n=yn(s[a],n);return n}function xn(t,e){return t.x-e.x}function yn(t,e){let n=wn(t,e);if(!n)return e;let i=fe(n,t);return O(i,i.next),O(n,n.next)}function wn(t,e){let n=e,i=t.x,r=t.y,o=-1/0,s;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){let p=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(p<=i&&p>o&&(o=p,s=n.x<n.next.x?n:n.next,p===i))return s}n=n.next}while(n!==e);if(!s)return null;let a=s,l=s.x,f=s.y,c=1/0,u;n=s;do i>=n.x&&n.x>=l&&i!==n.x&&G(r<f?i:o,r,l,f,r<f?o:i,r,n.x,n.y)&&(u=Math.abs(r-n.y)/(i-n.x),Y(n,t)&&(u<c||u===c&&(n.x>s.x||n.x===s.x&&Pn(s,n)))&&(s=n,c=u)),n=n.next;while(n!==a);return s}function Pn(t,e){return P(t.prev,t,e.prev)<0&&P(e.next,t,t.next)<0}function Fn(t,e,n,i){let r=t;do r.z===0&&(r.z=_t(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,In(r)}function In(t){let e,n,i=1,r,o,s,a,l,f;do{for(o=t,t=null,f=null,r=0;o;){for(r++,a=o,s=0,n=0;n<i&&(s++,a=a.nextZ,!!a);n++);for(l=i;s>0||l>0&&a;)s!==0&&(l===0||!a||o.z<=a.z)?(e=o,o=o.nextZ,s--):(e=a,a=a.nextZ,l--),f?f.nextZ=e:t=e,e.prevZ=f,f=e;o=a}f.nextZ=null,i*=2}while(r>1);return t}function _t(t,e,n,i,r){return t=(t-n)*r|0,e=(e-i)*r|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 vn(t){let e=t,n=t;do(e.x<n.x||e.x===n.x&&e.y<n.y)&&(n=e),e=e.next;while(e!==t);return n}function G(t,e,n,i,r,o,s,a){return(r-s)*(e-a)>=(t-s)*(o-a)&&(t-s)*(i-a)>=(n-s)*(e-a)&&(n-s)*(o-a)>=(r-s)*(i-a)}function Tn(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!Sn(t,e)&&(Y(t,e)&&Y(e,t)&&Mn(t,e)&&(P(t.prev,t,e.prev)||P(t,e.prev,e))||ht(t,e)&&P(t.prev,t,t.next)>0&&P(e.prev,e,e.next)>0)}function P(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function ht(t,e){return t.x===e.x&&t.y===e.y}function le(t,e,n,i){let r=ut(P(t,e,n)),o=ut(P(t,e,i)),s=ut(P(n,i,t)),a=ut(P(n,i,e));return!!(r!==o&&s!==a||r===0&&ct(t,n,e)||o===0&&ct(t,i,e)||s===0&&ct(n,t,i)||a===0&&ct(n,e,i))}function ct(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function ut(t){return t>0?1:t<0?-1:0}function Sn(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&le(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function Y(t,e){return P(t.prev,t,t.next)<0?P(t,e,t.next)>=0&&P(t,t.prev,e)>=0:P(t,e,t.prev)<0||P(t,t.next,e)<0}function Mn(t,e){let n=t,i=!1,r=(t.x+e.x)/2,o=(t.y+e.y)/2;do n.y>o!=n.next.y>o&&n.next.y!==n.y&&r<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==t);return i}function fe(t,e){let n=new $(t.i,t.x,t.y),i=new $(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,o.next=i,i.prev=o,i}function se(t,e,n,i){let r=new $(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function X(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 $=class{constructor(e,n,i){_(this,"i",void 0),_(this,"x",void 0),_(this,"y",void 0),_(this,"prev",null),_(this,"next",null),_(this,"z",0),_(this,"prevZ",null),_(this,"nextZ",null),_(this,"steiner",!1),this.i=e,this.x=n,this.y=i}};function Dt(t,e,n){let i=En(t),r=Object.keys(i).filter(o=>i[o]!==Array);return Dn(t,{propArrayTypes:i,...e},{numericPropKeys:n&&n.numericPropKeys||r,PositionDataType:n?n.PositionDataType:Float32Array,triangulate:n?n.triangulate:!0})}function En(t){let e={};for(let n of t)if(n.properties)for(let i in n.properties){let r=n.properties[i];e[i]=kn(r,e[i])}return e}function Dn(t,e,n){let{pointPositionsCount:i,pointFeaturesCount:r,linePositionsCount:o,linePathsCount:s,lineFeaturesCount:a,polygonPositionsCount:l,polygonObjectsCount:f,polygonRingsCount:c,polygonFeaturesCount:u,propArrayTypes:p,coordLength:h}=e,{numericPropKeys:d=[],PositionDataType:x=Float32Array,triangulate:w=!0}=n,I=t[0]&&"id"in t[0],M=t.length>65535?Uint32Array:Uint16Array,g={type:"Point",positions:new x(i*h),globalFeatureIds:new M(i),featureIds:r>65535?new Uint32Array(i):new Uint16Array(i),numericProps:{},properties:[],fields:[]},m={type:"LineString",pathIndices:o>65535?new Uint32Array(s+1):new Uint16Array(s+1),positions:new x(o*h),globalFeatureIds:new M(o),featureIds:a>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},v={type:"Polygon",polygonIndices:l>65535?new Uint32Array(f+1):new Uint16Array(f+1),primitivePolygonIndices:l>65535?new Uint32Array(c+1):new Uint16Array(c+1),positions:new x(l*h),globalFeatureIds:new M(l),featureIds:u>65535?new Uint32Array(l):new Uint16Array(l),numericProps:{},properties:[],fields:[]};w&&(v.triangles=[]);for(let T of[g,m,v])for(let S of d){let V=p[S];T.numericProps[S]=new V(T.positions.length/h)}m.pathIndices[s]=o,v.polygonIndices[f]=l,v.primitivePolygonIndices[c]=l;let F={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let T of t){let S=T.geometry,V=T.properties||{};switch(S.type){case"Point":Ln(S,g,F,h,V),g.properties.push(Et(V,d)),I&&g.fields.push({id:T.id}),F.pointFeature++;break;case"LineString":Cn(S,m,F,h,V),m.properties.push(Et(V,d)),I&&m.fields.push({id:T.id}),F.lineFeature++;break;case"Polygon":bn(S,v,F,h,V),v.properties.push(Et(V,d)),I&&v.fields.push({id:T.id}),F.polygonFeature++;break;default:throw new Error("Invalid geometry type")}F.feature++}return Nn(g,m,v,h)}function Ln(t,e,n,i,r){e.positions.set(t.data,n.pointPosition*i);let o=t.data.length/i;Lt(e,r,n.pointPosition,o),e.globalFeatureIds.fill(n.feature,n.pointPosition,n.pointPosition+o),e.featureIds.fill(n.pointFeature,n.pointPosition,n.pointPosition+o),n.pointPosition+=o}function Cn(t,e,n,i,r){e.positions.set(t.data,n.linePosition*i);let o=t.data.length/i;Lt(e,r,n.linePosition,o),e.globalFeatureIds.fill(n.feature,n.linePosition,n.linePosition+o),e.featureIds.fill(n.lineFeature,n.linePosition,n.linePosition+o);for(let s=0,a=t.indices.length;s<a;++s){let l=t.indices[s],f=s===a-1?t.data.length:t.indices[s+1];e.pathIndices[n.linePath++]=n.linePosition,n.linePosition+=(f-l)/i}}function bn(t,e,n,i,r){e.positions.set(t.data,n.polygonPosition*i);let o=t.data.length/i;Lt(e,r,n.polygonPosition,o),e.globalFeatureIds.fill(n.feature,n.polygonPosition,n.polygonPosition+o),e.featureIds.fill(n.polygonFeature,n.polygonPosition,n.polygonPosition+o);for(let s=0,a=t.indices.length;s<a;++s){let l=n.polygonPosition;e.polygonIndices[n.polygonObject++]=l;let f=t.areas[s],c=t.indices[s],u=t.indices[s+1];for(let h=0,d=c.length;h<d;++h){let x=c[h],w=h===d-1?u===void 0?t.data.length:u[0]:c[h+1];e.primitivePolygonIndices[n.polygonRing++]=n.polygonPosition,n.polygonPosition+=(w-x)/i}let p=n.polygonPosition;On(e,f,c,{startPosition:l,endPosition:p,coordLength:i})}}function On(t,e,n,{startPosition:i,endPosition:r,coordLength:o}){if(!t.triangles)return;let s=i*o,a=r*o,l=t.positions.subarray(s,a),f=n[0],c=n.slice(1).map(p=>(p-f)/o),u=Bt(l,c,o,e);for(let p=0,h=u.length;p<h;++p)t.triangles.push(i+u[p])}function At(t,e){let n={};for(let i in t)n[i]={value:t[i],size:e};return n}function Nn(t,e,n,i){let r={shape:"binary-feature-collection",points:{...t,positions:{value:t.positions,size:i},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:At(t.numericProps,1)},lines:{...e,positions:{value:e.positions,size:i},pathIndices:{value:e.pathIndices,size:1},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:At(e.numericProps,1)},polygons:{...n,positions:{value:n.positions,size:i},polygonIndices:{value:n.polygonIndices,size:1},primitivePolygonIndices:{value:n.primitivePolygonIndices,size:1},globalFeatureIds:{value:n.globalFeatureIds,size:1},featureIds:{value:n.featureIds,size:1},numericProps:At(n.numericProps,1)}};return r.polygons&&n.triangles&&(r.polygons.triangles={value:new Uint32Array(n.triangles),size:1}),r}function Lt(t,e,n,i){for(let r in t.numericProps)if(r in e){let o=e[r];t.numericProps[r].fill(o,n,n+i)}}function Et(t,e){let n={};for(let i in t)e.includes(i)||(n[i]=t[i]);return n}function kn(t,e){return e===Array||!Number.isFinite(t)?Array:e===Float64Array||Math.fround(t)!==t?Float64Array:Float32Array}var Gt=ie(ye(),1);function we(t){let e=t.length;if(e<=1)return[t];let n=[],i,r;for(let o=0;o<e;o++){let s=ni(t[o]);s!==0&&(r===void 0&&(r=s<0),r===s<0?(i&&n.push(i),i=[t[o]]):i&&i.push(t[o]))}return i&&n.push(i),n}function ni(t){let e=0;for(let n=0,i=t.length-1,r,o;n<t.length;i=n++)r=t[n],o=t[i],e+=(o[0]-r[0])*(r[1]+o[1]);return e}function Pe(t,e,n){e&&n&&(t===1?e.id=n.readVarint():t===2?ii(n,e):t===3?e.type=n.readVarint():t===4&&(e._geometry=n.pos))}function ii(t,e){let n=t.readVarint()+t.pos;for(;t.pos<n;){let i=e._keys[t.readVarint()],r=e._values[t.readVarint()];e.properties[i]=r}}var N=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(e,n,i,r,o){this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=r,this._values=o,e.readFields(Pe,this,n)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let n=e.readVarint()+e.pos,i=1,r=0,o=0,s=0,a=[],l;for(;e.pos<n;){if(r<=0){let f=e.readVarint();i=f&7,r=f>>3}if(r--,i===1||i===2)o+=e.readSVarint(),s+=e.readSVarint(),i===1&&(l&&a.push(l),l=[]),l&&l.push([o,s]);else if(i===7)l&&l.push(l[0].slice());else throw new Error(`unknown command ${i}`)}return l&&a.push(l),a}bbox(){let e=this._pbf;e.pos=this._geometry;let n=e.readVarint()+e.pos,i=1,r=0,o=0,s=0,a=1/0,l=-1/0,f=1/0,c=-1/0;for(;e.pos<n;){if(r<=0){let u=e.readVarint();i=u&7,r=u>>3}if(r--,i===1||i===2)o+=e.readSVarint(),s+=e.readSVarint(),o<a&&(a=o),o>l&&(l=o),s<f&&(f=s),s>c&&(c=s);else if(i!==7)throw new Error(`unknown command ${i}`)}return[a,f,l,c]}_toGeoJSON(e){let n=this.loadGeometry(),i=N.types[this.type],r,o;switch(this.type){case 1:let a=[];for(r=0;r<n.length;r++)a[r]=n[r][0];n=a,e(n,this);break;case 2:for(r=0;r<n.length;r++)e(n[r],this);break;case 3:for(n=we(n),r=0;r<n.length;r++)for(o=0;o<n[r].length;o++)e(n[r][o],this);break}n.length===1?n=n[0]:i=`Multi${i}`;let s={type:"Feature",geometry:{type:i,coordinates:n},properties:this.properties};return this.id!==null&&(s.id=this.id),s}toGeoJSON(e){if(typeof e=="function")return this._toGeoJSON(e);let{x:n,y:i,z:r}=e,o=this.extent*Math.pow(2,r),s=this.extent*n,a=this.extent*i;function l(f){for(let c=0;c<f.length;c++){let u=f[c];u[0]=(u[0]+s)*360/o-180;let p=180-(u[1]+a)*360/o;u[1]=360/Math.PI*Math.atan(Math.exp(p*Math.PI/180))-90}}return this._toGeoJSON(l)}};var H=class{constructor(e,n){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(ri,this,n),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 n=this._pbf.readVarint()+this._pbf.pos;return new N(this._pbf,n,this.extent,this._keys,this._values)}};function ri(t,e,n){e&&n&&(t===15?e.version=n.readVarint():t===1?e.name=n.readString():t===5?e.extent=n.readVarint():t===2?e._features.push(n.pos):t===3?e._keys.push(n.readString()):t===4&&e._values.push(oi(n)))}function oi(t){let e=null,n=t.readVarint()+t.pos;for(;t.pos<n;){let i=t.readVarint()>>3;e=i===1?t.readString():i===2?t.readFloat():i===3?t.readDouble():i===4?t.readVarint64():i===5?t.readVarint():i===6?t.readSVarint():i===7?t.readBoolean():null}return e}var K=class{constructor(e,n){this.layers=e.readFields(si,{},n)}};function si(t,e,n){if(t===3&&n){let i=new H(n,n.readVarint()+n.pos);i.length&&e&&(e[i.name]=i)}}function Fe(t){let e=t.indices.length,n="Polygon";if(e<=1)return{type:n,data:t.data,areas:[[b(t.data)]],indices:[t.indices]};let i=[],r=[],o=[],s=[],a,l=0;for(let f,c=0,u;c<e;c++){u=t.indices[c]-l,f=t.indices[c+1]-l||t.data.length;let p=t.data.slice(u,f),h=b(p);if(h===0){let d=t.data.slice(0,u),x=t.data.slice(f);t.data=d.concat(x),l+=f-u;continue}a===void 0&&(a=h<0),a===h<0?(s.length&&(i.push(o),r.push(s)),s=[u],o=[h]):(o.push(h),s.push(u))}return o&&i.push(o),s.length&&r.push(s),{type:n,areas:i,indices:r,data:t.data}}function Ie(t,e,n,i){for(let r=0,o=t.length;r<o;r+=2){t[r]=(t[r]+e)*360/i-180;let s=180-(t[r+1]+n)*360/i;t[r+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function ve(t,e,n){e&&n&&(t===1?e.id=n.readVarint():t===2?ai(n,e):t===3?e.type=n.readVarint():t===4&&(e._geometry=n.pos))}function ai(t,e){let n=t.readVarint()+t.pos;for(;t.pos<n;){let i=e._keys[t.readVarint()],r=e._values[t.readVarint()];e.properties[i]=r}}var Te,k,Ot,gt,Nt,kt,Q;var q=class{constructor(e,n,i,r,o,s){this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=e,this._geometry=-1,this._keys=r,this._values=o,this._geometryInfo=s,e.readFields(ve,this,n)}loadGeometry(){let e=this._pbf;e.pos=this._geometry,Te=e.readVarint()+e.pos,k=1,gt=0,Nt=0,kt=0,Q=0;let n=[],i=[];for(;e.pos<Te;)if(gt<=0&&(Ot=e.readVarint(),k=Ot&7,gt=Ot>>3),gt--,k===1||k===2)Nt+=e.readSVarint(),kt+=e.readSVarint(),k===1&&n.push(Q),i.push(Nt,kt),Q+=2;else if(k===7){if(Q>0){let r=n[n.length-1];i.push(i[r],i[r+1]),Q+=2}}else throw new Error(`unknown command ${k}`);return{data:i,indices:n}}_toBinaryCoordinates(e){let n=this.loadGeometry(),i;e(n.data,this);let r=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=n.indices.length,i={type:"Point",...n};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=n.indices.length,this._geometryInfo.linePositionsCount+=n.data.length/r,i={type:"LineString",...n};break;case 3:i=Fe(n),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=i.indices.length;for(let s of i.indices)this._geometryInfo.polygonRingsCount+=s.length;this._geometryInfo.polygonPositionsCount+=i.data.length/r;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let o={type:"Feature",geometry:i,properties:this.properties};return this.id!==null&&(o.id=this.id),o}toBinaryCoordinates(e){if(typeof e=="function")return this._toBinaryCoordinates(e);let{x:n,y:i,z:r}=e,o=this.extent*Math.pow(2,r),s=this.extent*n,a=this.extent*i;return this._toBinaryCoordinates(l=>Ie(l,s,a,o))}};var tt=class{constructor(e,n){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(li,this,n),this.length=this._features.length}feature(e,n){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];let i=this._pbf.readVarint()+this._pbf.pos;return new q(this._pbf,i,this.extent,this._keys,this._values,n)}};function li(t,e,n){e&&n&&(t===15?e.version=n.readVarint():t===1?e.name=n.readString():t===5?e.extent=n.readVarint():t===2?e._features.push(n.pos):t===3?e._keys.push(n.readString()):t===4&&e._values.push(fi(n)))}function fi(t){let e=null,n=t.readVarint()+t.pos;for(;t.pos<n;){let i=t.readVarint()>>3;e=i===1?t.readString():i===2?t.readFloat():i===3?t.readDouble():i===4?t.readVarint64():i===5?t.readVarint():i===6?t.readSVarint():i===7?t.readBoolean():null}return e}var et=class{constructor(e,n){this.layers=e.readFields(ci,{},n)}};function ci(t,e,n){if(t===3&&n){let i=new tt(n,n.readVarint()+n.pos);i.length&&e&&(e[i.name]=i)}}function mt(t,e){let n=hi(e),i=e?.gis?.format||e?.mvt?.shape||e?.shape;switch(i){case"columnar-table":return{shape:"columnar-table",data:Ut(t,n)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:Se(t,n)};case"geojson":return Se(t,n);case"binary-geometry":return Ut(t,n);case"binary":return Ut(t,n);default:throw new Error(i||"undefined shape")}}function Ut(t,e){let[n,i]=ui(t,e),r=Dt(n,i);return r.byteLength=t.byteLength,r}function ui(t,e){let n=[],i={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[n,i];let r=new et(new Gt.default(t));return(e&&Array.isArray(e.layers)?e.layers:Object.keys(r.layers)).forEach(s=>{let a=r.layers[s];if(a)for(let l=0;l<a.length;l++){let f=a.feature(l,i),c=di(f,e,s);n.push(c)}}),[n,i]}function Se(t,e){if(t.byteLength<=0)return[];let n=[],i=new K(new Gt.default(t));return(Array.isArray(e.layers)?e.layers:Object.keys(i.layers)).forEach(o=>{let s=i.layers[o];if(s)for(let a=0;a<s.length;a++){let l=s.feature(a),f=pi(l,e,o);n.push(f)}}),n}function hi(t){if(!t?.mvt)throw new Error("mvt options required");let e=t.mvt?.coordinates==="wgs84",{tileIndex:n}=t.mvt,i=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(e&&!i)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return t.mvt}function pi(t,e,n){let i=t.toGeoJSON(e.coordinates==="wgs84"?e.tileIndex:gi);return e.layerProperty&&(i.properties[e.layerProperty]=n),i}function di(t,e,n){let i=t.toBinaryCoordinates(e.coordinates==="wgs84"?e.tileIndex:mi);return e.layerProperty&&i.properties&&(i.properties[e.layerProperty]=n),i}function gi(t,e){let{extent:n}=e;for(let i=0;i<t.length;i++){let r=t[i];r[0]/=n,r[1]/=n}}function mi(t,e){let{extent:n}=e;for(let i=0,r=t.length;i<r;++i)t[i]/=n}var xi="4.2.0-alpha.4",Rt={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:xi,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}}},xt={...Rt,parse:async(t,e)=>mt(t,e),parseSync:mt,binary:!0};var Be=t=>t!==null&&typeof t=="object";function jt(t,e){if(!t||!Be(t))return null;let n={name:t.name||"",description:t.description||""};if(typeof t.generator=="string"&&(n.generator=t.generator),typeof t.generator_options=="string"&&(n.generatorOptions=t.generator_options),n.boundingBox=Me(t.bounds)||Me(t.antimeridian_adjusted_bounds),n.center=vi(t.center),n.maxZoom=Ve(t.maxzoom),n.minZoom=Ve(t.minzoom),typeof t?.json=="string")try{n.metaJson=JSON.parse(t.json)}catch(a){console.warn("Failed to parse tilejson.json field",a)}let i=t.tilestats||n.metaJson?.tilestats,r=Pi(i,e),o=yi(t.vector_layers),s=Ii(o,r);return n={...n,layers:s},n.maxZoom===null&&s.length>0&&(n.maxZoom=s[0].maxZoom||null),n.minZoom===null&&s.length>0&&(n.minZoom=s[0].minZoom||null),n}function yi(t){return Array.isArray(t)?t.map(e=>wi(e)):[]}function wi(t){let e=Object.entries(t.fields||[]).map(([i,r])=>({name:i,...Le(String(r))})),n={...t};return delete n.fields,{name:t.id||"",...n,fields:e}}function Pi(t,e){return Be(t)&&Array.isArray(t.layers)?t.layers.map(n=>Fi(n,e)):[]}function Fi(t,e){let n=[],i={},r=t.attributes||[];for(let o of r){let s=o.attribute;if(typeof s=="string")if(s.split("|").length>1){let a=s.split("|")[0];i[a]=i[a]||[],i[a].push(o),console.warn("ignoring tilestats indexed field",a)}else n[s]||n.push(Si(o,e))}return{name:t.layer||"",dominantGeometry:t.geometry,fields:n}}function Ii(t,e){return t.map(n=>{let i=e.find(s=>s.name===n.name),r=i?.fields||[],o={...n};return delete o.fields,{...o,...i,fields:r}})}function Me(t){let e=De(t);if(Array.isArray(e)&&e.length===4&&[e[0],e[2]].every(Ee)&&[e[1],e[3]].every(Ae))return[[e[0],e[1]],[e[2],e[3]]]}function vi(t){let e=De(t);return Array.isArray(e)&&e.length===3&&Ee(e[0])&&Ae(e[1])&&Ti(e[2])?e:null}function Ve(t){let e=typeof t=="string"?parseFloat(t):typeof t=="number"?t:null;return e===null||isNaN(e)?null:e}function Ae(t){return Number.isFinite(t)&&t<=90&&t>=-90}function Ee(t){return Number.isFinite(t)&&t<=180&&t>=-180}function Ti(t){return Number.isFinite(t)&&t>=0&&t<=22}function De(t){return typeof t=="string"?t.split(",").map(parseFloat):Array.isArray(t)?t:null}var _e={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 Si(t={},e){let n=Le(t.type),i={name:t.attribute,...n};return typeof t.min=="number"&&(i.min=t.min),typeof t.max=="number"&&(i.max=t.max),typeof t.count=="number"&&(i.uniqueValueCount=t.count),t.values&&(i.values=t.values),i.values&&typeof e.maxValues=="number"&&(i.values=i.values?.slice(0,e.maxValues)),i}function Le(t){let e=t.toLowerCase();return!e||_e[e],_e[e]||{type:"string"}}var Mi="4.2.0-alpha.4",Z={name:"TileJSON",id:"tilejson",module:"pmtiles",version:Mi,worker:!0,extensions:["json"],mimeTypes:["application/json"],text:!0,options:{tilejson:{maxValues:void 0}},parse:async(t,e)=>{let n=new TextDecoder().decode(t),i=JSON.parse(n),r={...Z.options.tilejson,...e?.tilejson};return jt(i,r)},parseTextSync:(t,e)=>{let n=JSON.parse(t),i={...Z.options.tilejson,...e?.tilejson};return jt(n,i)}};function nt(t,e){if(!t)throw new Error(e||"loader assertion failed.")}var A={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Vi=A.self||A.window||A.global||{},_i=A.window||A.self||A.global||{},Bi=A.global||A.self||A.window||{},Ai=A.document||{};var Zt=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Ce=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ei=Ce&&parseFloat(Ce[1])||0;var Di="",be={};function zt(t){for(let e in be)if(t.startsWith(e)){let n=be[e];t=t.replace(e,n)}return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${Di}${t}`),t}var it=class{constructor(e){this._needsRefresh=!0,this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=Li(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(e=!0){let n=this._needsRefresh;return e&&(this._needsRefresh=!1),n}};function Li(t){let e=t?.fetch;if(e&&typeof e=="function")return(i,r)=>e(i,r);let n=t?.fetch;return n&&typeof n!="function"?i=>fetch(i,n):i=>fetch(i)}var Oe="4.2.0-alpha.4";var Ci=globalThis.loaders?.parseImageNode,Jt=typeof Image<"u",Wt=typeof ImageBitmap<"u",bi=Boolean(Ci),Yt=Zt?!0:bi;function Ne(t){switch(t){case"auto":return Wt||Jt||Yt;case"imagebitmap":return Wt;case"image":return Jt;case"data":return Yt;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function ke(){if(Wt)return"imagebitmap";if(Jt)return"image";if(Yt)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Oi(t){let e=Ni(t);if(!e)throw new Error("Not an image");return e}function Ue(t){switch(Oi(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function Ni(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 ki=/^data:image\/svg\+xml/,Ui=/\.svg((\?|#).*)?$/;function yt(t){return t&&(ki.test(t)||Ui.test(t))}function Ge(t,e){if(yt(e)){let i=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(i=unescape(encodeURIComponent(i)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return Xt(t,e)}function Xt(t,e){if(yt(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function wt(t,e,n){let i=Ge(t,n),r=self.URL||self.webkitURL,o=typeof i!="string"&&r.createObjectURL(i);try{return await Gi(o||i,e)}finally{o&&r.revokeObjectURL(o)}}async function Gi(t,e){let n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(await n.decode(),n):await new Promise((i,r)=>{try{n.onload=()=>i(n),n.onerror=o=>{let s=o instanceof Error?o.message:"error";r(new Error(s))}}catch(o){r(o)}})}var Ri={},Re=!0;async function je(t,e,n){let i;yt(n)?i=await wt(t,e,n):i=Xt(t,n);let r=e&&e.imagebitmap;return await ji(i,r)}async function ji(t,e=null){if((Zi(e)||!Re)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(n){console.warn(n),Re=!1}return await createImageBitmap(t)}function Zi(t){for(let e in t||Ri)return!1;return!0}function Ze(t){return!Yi(t,"ftyp",4)||!(t[8]&96)?null:zi(t)}function zi(t){switch(Ji(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Ji(t,e,n){return String.fromCharCode(...t.slice(e,n))}function Wi(t){return[...t].map(e=>e.charCodeAt(0))}function Yi(t,e,n=0){let i=Wi(e);for(let r=0;r<i.length;++r)if(i[r]!==t[r+n])return!1;return!0}var E=!1,rt=!0;function U(t){let e=ot(t);return $i(e)||Qi(e)||Hi(e)||Ki(e)||Xi(e)}function Xi(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),n=Ze(e);return n?{mimeType:n.mimeType,width:0,height:0}:null}function $i(t){let e=ot(t);return e.byteLength>=24&&e.getUint32(0,E)===2303741511?{mimeType:"image/png",width:e.getUint32(16,E),height:e.getUint32(20,E)}:null}function Hi(t){let e=ot(t);return e.byteLength>=10&&e.getUint32(0,E)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,rt),height:e.getUint16(8,rt)}:null}function Ki(t){let e=ot(t);return e.byteLength>=14&&e.getUint16(0,E)===16973&&e.getUint32(2,rt)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,rt),height:e.getUint32(22,rt)}:null}function Qi(t){let e=ot(t);if(!(e.byteLength>=3&&e.getUint16(0,E)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:i,sofMarkers:r}=qi(),o=2;for(;o+9<e.byteLength;){let s=e.getUint16(o,E);if(r.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,E),width:e.getUint16(o+7,E)};if(!i.has(s))return null;o+=2,o+=e.getUint16(o,E)}return null}function qi(){let t=new Set([65499,65476,65484,65501,65534]);for(let n=65504;n<65520;++n)t.add(n);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function ot(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 ze(t,e){let{mimeType:n}=U(t)||{},i=globalThis.loaders?.parseImageNode;return nt(i),await i(t,n)}async function Je(t,e,n){e=e||{};let r=(e.image||{}).type||"auto",{url:o}=n||{},s=tr(r),a;switch(s){case"imagebitmap":a=await je(t,e,o);break;case"image":a=await wt(t,e,o);break;case"data":a=await ze(t,e);break;default:nt(!1)}return r==="data"&&(a=Ue(a)),a}function tr(t){switch(t){case"auto":case"data":return ke();default:return Ne(t),t}}var er=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],nr=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],ir={image:{type:"auto",decode:!0}},$t={id:"image",module:"images",name:"Images",version:Oe,mimeTypes:nr,extensions:er,parse:Je,tests:[t=>Boolean(U(new DataView(t)))],options:ir};var Pt=class extends it{constructor(e){super(e),this.metadataUrl=null,this.schema="tms",this.mimeType=null,this.props=e,this.url=zt(e.url),this.metadataUrl=e.metadataUrl===void 0?`${this.url}/tilejson.json`:e.metadataUrl,this.extension=e.extension||".png",this.data=this.url,this.getTileData=this.getTileData.bind(this),this.metadata=this.getMetadata(),rr(this.url)&&(this.schema="template")}async getMetadata(){if(!this.metadataUrl)return null;let e;try{e=await this.fetch(this.metadataUrl)}catch(r){return console.error(r.message),null}if(!e.ok)return console.error(e.statusText),null;let n=await e.text();return Z.parseTextSync?.(n)||null}getTileMIMEType(){return this.mimeType}async getTile(e){let{x:n,y:i,zoom:r}=e,o=this.getTileURL(n,i,r),s=await this.fetch(o);return s.ok?await s.arrayBuffer():null}async getTileData(e){let{x:n,y:i,z:r}=e.index,o=await this.getTile({x:n,y:i,zoom:r,layers:[]});if(o===null)return null;let s=U(o);switch(this.mimeType=this.mimeType||s?.mimeType||"application/vnd.mapbox-vector-tile",this.mimeType){case"application/vnd.mapbox-vector-tile":return await this._parseVectorTile(o,{x:n,y:i,zoom:r,layers:[]});default:return await this._parseImageTile(o)}}async getImageTile(e){let n=await this.getTile(e);return n?this._parseImageTile(n):null}async _parseImageTile(e){return await $t.parse(e,this.loadOptions)}async getVectorTile(e){let n=await this.getTile(e);return n?this._parseVectorTile(n,e):null}async _parseVectorTile(e,n){let i={shape:"geojson-table",mvt:{coordinates:"wgs84",tileIndex:{x:n.x,y:n.y,z:n.zoom},...this.loadOptions?.mvt},...this.loadOptions};return await xt.parse(e,i)}getMetadataUrl(){return this.metadataUrl}getTileURL(e,n,i){switch(this.schema){case"xyz":return`${this.url}/${e}/${n}/${i}${this.extension}`;case"tms":return`${this.url}/${i}/${e}/${n}${this.extension}`;case"template":return lr(this.url,e,n,i,"0");default:throw new Error(this.schema)}}};function rr(t){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))|(?=.*{x})(?=.*({y}|{-y})(?=.*{z}))/.test(t)}var or=new RegExp("{x}","g"),sr=new RegExp("{y}","g"),ar=new RegExp("{z}","g");function lr(t,e,n,i,r="0"){if(Array.isArray(t)){let s=fr(r)%t.length;t=t[s]}let o=t;return o=o.replace(or,String(e)),o=o.replace(sr,String(n)),o=o.replace(ar,String(i)),Number.isInteger(n)&&Number.isInteger(i)&&(o=o.replace(/\{-y\}/g,String(Math.pow(2,i)-n-1))),o}function fr(t){return Math.abs(t.split("").reduce((e,n)=>(e<<5)-e+n.charCodeAt(0)|0,0))}function Ft(t,e,n,i){let r=i,o=n-e>>1,s=n-e,a,l=t[e],f=t[e+1],c=t[n],u=t[n+1];for(let p=e+3;p<n;p+=3){let h=cr(t[p],t[p+1],l,f,c,u);if(h>r)a=p,r=h;else if(h===r){let d=Math.abs(p-o);d<s&&(a=p,s=d)}}r>i&&(a-e>3&&Ft(t,e,a,i),t[a+2]=r,n-a>3&&Ft(t,a,n,i))}function cr(t,e,n,i,r,o){let s=r-n,a=o-i;if(s!==0||a!==0){let l=((t-n)*s+(e-i)*a)/(s*s+a*a);l>1?(n=r,i=o):l>0&&(n+=s*l,i+=a*l)}return s=t-n,a=e-i,s*s+a*a}function C(t,e,n,i){let r={id:t??null,type:e,geometry:n,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(e==="Point"||e==="MultiPoint"||e==="LineString")It(r,n);else if(e==="Polygon")It(r,n[0]);else if(e==="MultiLineString")for(let o of n)It(r,o);else if(e==="MultiPolygon")for(let o of n)It(r,o[0]);return r}function It(t,e){for(let n=0;n<e.length;n+=3)t.minX=Math.min(t.minX,e[n]),t.minY=Math.min(t.minY,e[n+1]),t.maxX=Math.max(t.maxX,e[n]),t.maxY=Math.max(t.maxY,e[n+1])}function Ye(t,e){let n=[];if(t.type==="FeatureCollection")for(let i=0;i<t.features.length;i++)vt(n,t.features[i],e,i);else t.type==="Feature"?vt(n,t,e):vt(n,{geometry:t},e);return n}function vt(t,e,n,i){if(!e.geometry)return;let r=e.geometry.coordinates,o=e.geometry.type,s=Math.pow(n.tolerance/((1<<n.maxZoom)*n.extent),2),a=[],l=e.id;if(n.promoteId?l=e.properties[n.promoteId]:n.generateId&&(l=i||0),o==="Point")We(r,a);else if(o==="MultiPoint")for(let f of r)We(f,a);else if(o==="LineString")Kt(r,a,s,!1);else if(o==="MultiLineString")if(n.lineMetrics){for(let f of r)a=[],Kt(f,a,s,!1),t.push(C(l,"LineString",a,e.properties));return}else Ht(r,a,s,!1);else if(o==="Polygon")Ht(r,a,s,!0);else if(o==="MultiPolygon")for(let f of r){let c=[];Ht(f,c,s,!0),a.push(c)}else if(o==="GeometryCollection"){for(let f of e.geometry.geometries)vt(t,{id:l,geometry:f,properties:e.properties},n,i);return}else throw new Error("Input data is not a valid GeoJSON object.");t.push(C(l,o,a,e.properties))}function We(t,e){e.push(Xe(t[0]),$e(t[1]),0)}function Kt(t,e,n,i){let r,o,s=0;for(let l=0;l<t.length;l++){let f=Xe(t[l][0]),c=$e(t[l][1]);e.push(f,c,0),l>0&&(i?s+=(r*c-f*o)/2:s+=Math.sqrt(Math.pow(f-r,2)+Math.pow(c-o,2))),r=f,o=c}let a=e.length-3;e[2]=1,Ft(e,0,a,n),e[a+2]=1,e.size=Math.abs(s),e.start=0,e.end=e.size}function Ht(t,e,n,i){for(let r=0;r<t.length;r++){let o=[];Kt(t[r],o,n,i),e.push(o)}}function Xe(t){return t/360+.5}function $e(t){let e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function B(t,e,n,i,r,o,s,a){if(n/=e,i/=e,o>=n&&s<i)return t;if(s<n||o>=i)return null;let l=[];for(let f of t){let c=f.geometry,u=f.type,p=r===0?f.minX:f.minY,h=r===0?f.maxX:f.maxY;if(p>=n&&h<i){l.push(f);continue}else if(h<n||p>=i)continue;let d=[];if(u==="Point"||u==="MultiPoint")ur(c,d,n,i,r);else if(u==="LineString")Ke(c,d,n,i,r,!1,a.lineMetrics);else if(u==="MultiLineString")Qt(c,d,n,i,r,!1);else if(u==="Polygon")Qt(c,d,n,i,r,!0);else if(u==="MultiPolygon")for(let x of c){let w=[];Qt(x,w,n,i,r,!0),w.length&&d.push(w)}if(d.length){if(a.lineMetrics&&u==="LineString"){for(let x of d)l.push(C(f.id,u,x,f.tags));continue}(u==="LineString"||u==="MultiLineString")&&(d.length===1?(u="LineString",d=d[0]):u="MultiLineString"),(u==="Point"||u==="MultiPoint")&&(u=d.length===3?"Point":"MultiPoint"),l.push(C(f.id,u,d,f.tags))}}return l.length?l:null}function ur(t,e,n,i,r){for(let o=0;o<t.length;o+=3){let s=t[o+r];s>=n&&s<=i&&z(e,t[o],t[o+1],t[o+2])}}function Ke(t,e,n,i,r,o,s){let a=He(t),l=r===0?hr:pr,f=t.start,c,u;for(let I=0;I<t.length-3;I+=3){let M=t[I],g=t[I+1],m=t[I+2],v=t[I+3],F=t[I+4],T=r===0?M:g,S=r===0?v:F,V=!1;s&&(c=Math.sqrt(Math.pow(M-v,2)+Math.pow(g-F,2))),T<n?S>n&&(u=l(a,M,g,v,F,n),s&&(a.start=f+c*u)):T>i?S<i&&(u=l(a,M,g,v,F,i),s&&(a.start=f+c*u)):z(a,M,g,m),S<n&&T>=n&&(u=l(a,M,g,v,F,n),V=!0),S>i&&T<=i&&(u=l(a,M,g,v,F,i),V=!0),!o&&V&&(s&&(a.end=f+c*u),e.push(a),a=He(t)),s&&(f+=c)}let p=t.length-3,h=t[p],d=t[p+1],x=t[p+2],w=r===0?h:d;w>=n&&w<=i&&z(a,h,d,x),p=a.length-3,o&&p>=3&&(a[p]!==a[0]||a[p+1]!==a[1])&&z(a,a[0],a[1],a[2]),a.length&&e.push(a)}function He(t){let e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function Qt(t,e,n,i,r,o){for(let s of t)Ke(s,e,n,i,r,o,!1)}function z(t,e,n,i){t.push(e,n,i)}function hr(t,e,n,i,r,o){let s=(o-e)/(i-e);return z(t,o,n+(r-n)*s,1),s}function pr(t,e,n,i,r,o){let s=(o-n)/(r-n);return z(t,e+(i-e)*s,o,1),s}function qe(t,e){let n=e.buffer/e.extent,i=t,r=B(t,1,-1-n,n,0,-1,2,e),o=B(t,1,1-n,2+n,0,-1,2,e);return(r||o)&&(i=B(t,1,-n,1+n,0,-1,2,e)||[],r&&(i=Qe(r,1).concat(i)),o&&(i=i.concat(Qe(o,-1)))),i}function Qe(t,e){let n=[];for(let i=0;i<t.length;i++){let r=t[i],o=r.type,s;if(o==="Point"||o==="MultiPoint"||o==="LineString")s=qt(r.geometry,e);else if(o==="MultiLineString"||o==="Polygon"){s=[];for(let a of r.geometry)s.push(qt(a,e))}else if(o==="MultiPolygon"){s=[];for(let a of r.geometry){let l=[];for(let f of a)l.push(qt(f,e));s.push(l)}}n.push(C(r.id,o,s,r.tags))}return n}function qt(t,e){let n=[];n.size=t.size,t.start!==void 0&&(n.start=t.start,n.end=t.end);for(let i=0;i<t.length;i+=3)n.push(t[i]+e,t[i+1],t[i+2]);return n}function te(t,e){if(t.transformed)return t;let n=1<<t.z,i=t.x,r=t.y;for(let o of t.features){let s=o.geometry,a=o.type;if(o.geometry=[],a===1)for(let l=0;l<s.length;l+=2)o.geometry.push(tn(s[l],s[l+1],e,n,i,r));else for(let l=0;l<s.length;l++){let f=[];for(let c=0;c<s[l].length;c+=2)f.push(tn(s[l][c],s[l][c+1],e,n,i,r));o.geometry.push(f)}}return t.transformed=!0,t}function tn(t,e,n,i,r,o){return[Math.round(n*(t*i-r)),Math.round(n*(e*i-o))]}function en(t,e,n,i,r){let o=e===r.maxZoom?0:r.tolerance/((1<<e)*r.extent),s={features:[],numPoints:0,numSimplified:0,numFeatures:t.length,source:null,x:n,y:i,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let a of t)dr(s,a,o,r);return s}function dr(t,e,n,i){let r=e.geometry,o=e.type,s=[];if(t.minX=Math.min(t.minX,e.minX),t.minY=Math.min(t.minY,e.minY),t.maxX=Math.max(t.maxX,e.maxX),t.maxY=Math.max(t.maxY,e.maxY),o==="Point"||o==="MultiPoint")for(let a=0;a<r.length;a+=3)s.push(r[a],r[a+1]),t.numPoints++,t.numSimplified++;else if(o==="LineString")ee(s,r,t,n,!1,!1);else if(o==="MultiLineString"||o==="Polygon")for(let a=0;a<r.length;a++)ee(s,r[a],t,n,o==="Polygon",a===0);else if(o==="MultiPolygon")for(let a=0;a<r.length;a++){let l=r[a];for(let f=0;f<l.length;f++)ee(s,l[f],t,n,!0,f===0)}if(s.length){let a=e.tags||null;if(o==="LineString"&&i.lineMetrics){a={};for(let f in e.tags)a[f]=e.tags[f];a.mapbox_clip_start=r.start/r.size,a.mapbox_clip_end=r.end/r.size}let l={geometry:s,type:o==="Polygon"||o==="MultiPolygon"?3:o==="LineString"||o==="MultiLineString"?2:1,tags:a};e.id!==null&&(l.id=e.id),t.features.push(l)}}function ee(t,e,n,i,r,o){let s=i*i;if(i>0&&e.size<(r?s:i)){n.numPoints+=e.length/3;return}let a=[];for(let l=0;l<e.length;l+=3)(i===0||e[l+2]>s)&&(n.numSimplified++,a.push(e[l],e[l+1])),n.numPoints++;r&&gr(a,o),t.push(a)}function gr(t,e){let n=0;for(let i=0,r=t.length-2;i<t.length;r=i,i+=2)n+=(t[i]-t[r])*(t[i+1]+t[r+1]);if(n>0===e)for(let i=0,r=t.length;i<r/2;i+=2){let o=t[i],s=t[i+1];t[i]=t[r-2-i],t[i+1]=t[r-1-i],t[r-2-i]=o,t[r-1-i]=s}}var mr={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:void 0,generateId:!1,debug:0},Tt=class{constructor(e,n){this.tiles={},this.tileCoords=[],this.stats={},this.total=0,this.options={...mr,...n},n=this.options;let i=n.debug;if(i&&console.time("preprocess data"),this.options.maxZoom<0||this.options.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(n.promoteId&&this.options.generateId)throw new Error("promoteId and generateId cannot be used together.");let r=Ye(e,n);i&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",n.indexMaxZoom,n.indexMaxPoints),console.time("generate tiles")),r=qe(r,this.options),r.length&&this.splitTile(r,0,0,0),i&&(r.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}getTile(e,n,i){let{extent:r,debug:o}=this.options;if(e<0||e>24)return null;let s=1<<e;n=n+s&s-1;let a=ne(e,n,i);if(this.tiles[a])return te(this.tiles[a],r);o>1&&console.log("drilling down to z%d-%d-%d",e,n,i);let l=e,f=n,c=i,u;for(;!u&&l>0;)l--,f=f>>1,c=c>>1,u=this.tiles[ne(l,f,c)];return!u||!u.source?null:(o>1&&(console.log("found parent tile z%d-%d-%d",l,f,c),console.time("drilling down")),this.splitTile(u.source,l,f,c,e,n,i),o>1&&console.timeEnd("drilling down"),this.tiles[a]?te(this.tiles[a],r):null)}splitTile(e,n,i,r,o,s,a){let l=[e,n,i,r],f=this.options,c=f.debug;for(;l.length;){r=l.pop(),i=l.pop(),n=l.pop(),e=l.pop();let u=1<<n,p=ne(n,i,r),h=this.tiles[p];if(!h&&(c>1&&console.time("creation"),h=this.tiles[p]=en(e,n,i,r,f),this.tileCoords.push({z:n,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",n,i,r,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));let S=`z${n}`;this.stats[S]=(this.stats[S]||0)+1,this.total++}if(h.source=e,o===void 0){if(n===f.indexMaxZoom||h.numPoints<=f.indexMaxPoints)continue}else{if(n===f.maxZoom||n===o)continue;if(o!==void 0){let S=o-n;if(i!==s>>S||r!==a>>S)continue}}if(h.source=null,e.length===0)continue;c>1&&console.time("clipping");let d=.5*f.buffer/f.extent,x=.5-d,w=.5+d,I=1+d,M=null,g=null,m=null,v=null,F=B(e,u,i-d,i+w,0,h.minX,h.maxX,f),T=B(e,u,i+x,i+I,0,h.minX,h.maxX,f);e=null,F&&(M=B(F,u,r-d,r+w,1,h.minY,h.maxY,f),g=B(F,u,r+x,r+I,1,h.minY,h.maxY,f),F=null),T&&(m=B(T,u,r-d,r+w,1,h.minY,h.maxY,f),v=B(T,u,r+x,r+I,1,h.minY,h.maxY,f),T=null),c>1&&console.timeEnd("clipping"),l.push(M||[],n+1,i*2,r*2),l.push(g||[],n+1,i*2,r*2+1),l.push(m||[],n+1,i*2+1,r*2),l.push(v||[],n+1,i*2+1,r*2+1)}}};function ne(t,e,n){return((1<<t)*n+e)*32+t}return fn(st);})();
|
|
7
|
+
"use strict";var __exports__=(()=>{var nn=Object.create;var le=Object.defineProperty;var rn=Object.getOwnPropertyDescriptor;var on=Object.getOwnPropertyNames;var sn=Object.getPrototypeOf,an=Object.prototype.hasOwnProperty;var Se=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ln=(e,t)=>{for(var n in t)le(e,n,{get:t[n],enumerable:!0})},ae=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of on(t))!an.call(e,r)&&r!==n&&le(e,r,{get:()=>t[r],enumerable:!(i=rn(t,r))||i.enumerable});return e},fe=(e,t,n)=>(ae(e,t,"default"),n&&ae(n,t,"default")),it=(e,t,n)=>(n=e!=null?nn(sn(e)):{},ae(t||!e||!e.__esModule?le(n,"default",{value:e,enumerable:!0}):n,e)),fn=e=>ae(le({},"__esModule",{value:!0}),e);var ot=Se((yr,rt)=>{rt.exports=globalThis.loaders});var ht=Se(be=>{be.read=function(e,t,n,i,r){var o,s,a=r*8-i-1,l=(1<<a)-1,f=l>>1,c=-7,u=n?r-1:0,p=n?-1:1,h=e[t+u];for(u+=p,o=h&(1<<-c)-1,h>>=-c,c+=a;c>0;o=o*256+e[t+u],u+=p,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=i;c>0;s=s*256+e[t+u],u+=p,c-=8);if(o===0)o=1-f;else{if(o===l)return s?NaN:(h?-1:1)*(1/0);s=s+Math.pow(2,i),o=o-f}return(h?-1:1)*s*Math.pow(2,o-i)};be.write=function(e,t,n,i,r,o){var s,a,l,f=o*8-r-1,c=(1<<f)-1,u=c>>1,p=r===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:o-1,d=i?1:-1,x=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=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+u>=1?t+=p/l:t+=p*Math.pow(2,1-u),t*l>=2&&(s++,l/=2),s+u>=c?(a=0,s=c):s+u>=1?(a=(t*l-1)*Math.pow(2,r),s=s+u):(a=t*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;e[n+h]=a&255,h+=d,a/=256,r-=8);for(s=s<<r|a,f+=r;f>0;e[n+h]=s&255,h+=d,s/=256,f-=8);e[n+h-d]|=x*128}});var yt=Se((po,xt)=>{"use strict";xt.exports=y;var pe=ht();function y(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}y.Varint=0;y.Fixed64=1;y.Bytes=2;y.Fixed32=5;var Ce=(1<<16)*(1<<16),pt=1/Ce,Un=12,mt=typeof TextDecoder>"u"?null:new TextDecoder("utf8");y.prototype={destroy:function(){this.buf=null},readFields:function(e,t,n){for(n=n||this.length;this.pos<n;){var i=this.readVarint(),r=i>>3,o=this.pos;this.type=i&7,e(r,t,this),this.pos===o&&this.skip(i)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=de(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=gt(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=de(this.buf,this.pos)+de(this.buf,this.pos+4)*Ce;return this.pos+=8,e},readSFixed64:function(){var e=de(this.buf,this.pos)+gt(this.buf,this.pos+4)*Ce;return this.pos+=8,e},readFloat:function(){var e=pe.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=pe.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t=this.buf,n,i;return i=t[this.pos++],n=i&127,i<128||(i=t[this.pos++],n|=(i&127)<<7,i<128)||(i=t[this.pos++],n|=(i&127)<<14,i<128)||(i=t[this.pos++],n|=(i&127)<<21,i<128)?n:(i=t[this.pos],n|=(i&15)<<28,Gn(n,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>=Un&&mt?ei(this.buf,t,e):qn(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!==y.Bytes)return e.push(this.readVarint(t));var n=D(this);for(e=e||[];this.pos<n;)e.push(this.readVarint(t));return e},readPackedSVarint:function(e){if(this.type!==y.Bytes)return e.push(this.readSVarint());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(e){if(this.type!==y.Bytes)return e.push(this.readBoolean());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(e){if(this.type!==y.Bytes)return e.push(this.readFloat());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(e){if(this.type!==y.Bytes)return e.push(this.readDouble());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(e){if(this.type!==y.Bytes)return e.push(this.readFixed32());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(e){if(this.type!==y.Bytes)return e.push(this.readSFixed32());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(e){if(this.type!==y.Bytes)return e.push(this.readFixed64());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(e){if(this.type!==y.Bytes)return e.push(this.readSFixed64());var t=D(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(e){var t=e&7;if(t===y.Varint)for(;this.buf[this.pos++]>127;);else if(t===y.Bytes)this.pos=this.readVarint()+this.pos;else if(t===y.Fixed32)this.pos+=4;else if(t===y.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 n=new Uint8Array(t);n.set(this.buf),this.buf=n,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),j(this.buf,e,this.pos),this.pos+=4},writeSFixed32:function(e){this.realloc(4),j(this.buf,e,this.pos),this.pos+=4},writeFixed64:function(e){this.realloc(8),j(this.buf,e&-1,this.pos),j(this.buf,Math.floor(e*pt),this.pos+4),this.pos+=8},writeSFixed64:function(e){this.realloc(8),j(this.buf,e&-1,this.pos),j(this.buf,Math.floor(e*pt),this.pos+4),this.pos+=8},writeVarint:function(e){if(e=+e||0,e>268435455||e<0){Rn(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=ti(this.buf,e,this.pos);var n=this.pos-t;n>=128&&dt(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n},writeFloat:function(e){this.realloc(4),pe.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),pe.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 n=0;n<t;n++)this.buf[this.pos++]=e[n]},writeRawMessage:function(e,t){this.pos++;var n=this.pos;e(t,this);var i=this.pos-n;i>=128&&dt(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i},writeMessage:function(e,t,n){this.writeTag(e,y.Bytes),this.writeRawMessage(t,n)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,zn,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,Jn,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Xn,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,Wn,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Yn,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,$n,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,Hn,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Kn,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Qn,t)},writeBytesField:function(e,t){this.writeTag(e,y.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,y.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,y.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,y.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,y.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,y.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,y.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,y.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,y.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,y.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};function Gn(e,t,n){var i=n.buf,r,o;if(o=i[n.pos++],r=(o&112)>>4,o<128||(o=i[n.pos++],r|=(o&127)<<3,o<128)||(o=i[n.pos++],r|=(o&127)<<10,o<128)||(o=i[n.pos++],r|=(o&127)<<17,o<128)||(o=i[n.pos++],r|=(o&127)<<24,o<128)||(o=i[n.pos++],r|=(o&1)<<31,o<128))return R(e,r,t);throw new Error("Expected varint not more than 10 bytes")}function D(e){return e.type===y.Bytes?e.readVarint()+e.pos:e.pos+1}function R(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function Rn(e,t){var n,i;if(e>=0?(n=e%4294967296|0,i=e/4294967296|0):(n=~(-e%4294967296),i=~(-e/4294967296),n^4294967295?n=n+1|0:(n=0,i=i+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),jn(n,i,t),Zn(i,t)}function jn(e,t,n){n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos++]=e&127|128,e>>>=7,n.buf[n.pos]=e&127}function Zn(e,t){var n=(e&7)<<4;t.buf[t.pos++]|=n|((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 dt(e,t,n){var i=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));n.realloc(i);for(var r=n.pos-1;r>=e;r--)n.buf[r+i]=n.buf[r]}function zn(e,t){for(var n=0;n<e.length;n++)t.writeVarint(e[n])}function Jn(e,t){for(var n=0;n<e.length;n++)t.writeSVarint(e[n])}function Wn(e,t){for(var n=0;n<e.length;n++)t.writeFloat(e[n])}function Yn(e,t){for(var n=0;n<e.length;n++)t.writeDouble(e[n])}function Xn(e,t){for(var n=0;n<e.length;n++)t.writeBoolean(e[n])}function $n(e,t){for(var n=0;n<e.length;n++)t.writeFixed32(e[n])}function Hn(e,t){for(var n=0;n<e.length;n++)t.writeSFixed32(e[n])}function Kn(e,t){for(var n=0;n<e.length;n++)t.writeFixed64(e[n])}function Qn(e,t){for(var n=0;n<e.length;n++)t.writeSFixed64(e[n])}function de(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+e[t+3]*16777216}function j(e,t,n){e[n]=t,e[n+1]=t>>>8,e[n+2]=t>>>16,e[n+3]=t>>>24}function gt(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function qn(e,t,n){for(var i="",r=t;r<n;){var o=e[r],s=null,a=o>239?4:o>223?3:o>191?2:1;if(r+a>n)break;var l,f,c;a===1?o<128&&(s=o):a===2?(l=e[r+1],(l&192)===128&&(s=(o&31)<<6|l&63,s<=127&&(s=null))):a===3?(l=e[r+1],f=e[r+2],(l&192)===128&&(f&192)===128&&(s=(o&15)<<12|(l&63)<<6|f&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):a===4&&(l=e[r+1],f=e[r+2],c=e[r+3],(l&192)===128&&(f&192)===128&&(c&192)===128&&(s=(o&15)<<18|(l&63)<<12|(f&63)<<6|c&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,a=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),r+=a}return i}function ei(e,t,n){return mt.decode(e.subarray(t,n))}function ti(e,t,n){for(var i=0,r,o;i<t.length;i++){if(r=t.charCodeAt(i),r>55295&&r<57344)if(o)if(r<56320){e[n++]=239,e[n++]=191,e[n++]=189,o=r;continue}else r=o-55296<<10|r-56320|65536,o=null;else{r>56319||i+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):o=r;continue}else o&&(e[n++]=239,e[n++]=191,e[n++]=189,o=null);r<128?e[n++]=r:(r<2048?e[n++]=r>>6|192:(r<65536?e[n++]=r>>12|224:(e[n++]=r>>18|240,e[n++]=r>>12&63|128),e[n++]=r>>6&63|128),e[n++]=r&63|128)}return n}});var se={};ln(se,{GeoJSONTiler:()=>Te,MVTLoader:()=>xe,MVTSource:()=>Pe,MVTWorkerLoader:()=>Re,TileJSONLoader:()=>Z});fe(se,it(ot(),1));function L(e){return L=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},L(e)}function _e(e,t){if(L(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(L(i)!=="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Me(e){var t=_e(e,"string");return L(t)==="symbol"?t:String(t)}function V(e,t,n){return t=Me(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var J={x:0,y:1,z:2};function C(e,t={}){let{start:n=0,end:i=e.length,plane:r="xy"}=t,o=t.size||2,s=0,a=J[r[0]],l=J[r[1]];for(let f=n,c=i-o;f<i;f+=o)s+=(e[f+a]-e[c+a])*(e[f+l]+e[c+l]),c=f;return s/2}function Be(e,t,n=2,i,r="xy"){let o=t&&t.length,s=o?t[0]*n:e.length,a=at(e,0,s,n,!0,i&&i[0],r),l=[];if(!a||a.next===a.prev)return l;let f,c,u,p,h,d,x;if(o&&(a=mn(e,t,a,n,i,r)),e.length>80*n){p=c=e[0],h=u=e[1];for(let w=n;w<s;w+=n)d=e[w],x=e[w+1],d<p&&(p=d),x<h&&(h=x),d>c&&(c=d),x>u&&(u=x);f=Math.max(c-p,u-h),f=f!==0?32767/f:0}return W(a,l,n,p,h,f,0),l}function at(e,t,n,i,r,o,s){let a,l;o===void 0&&(o=C(e,{start:t,end:n,size:i,plane:s}));let f=J[s[0]],c=J[s[1]];if(r===o<0)for(a=t;a<n;a+=i)l=st(a,e[a+f],e[a+c],l);else for(a=n-i;a>=t;a-=i)l=st(a,e[a+f],e[a+c],l);return l&&he(l,l.next)&&(X(l),l=l.next),l}function O(e,t){if(!e)return e;t||(t=e);let n=e,i;do if(i=!1,!n.steiner&&(he(n,n.next)||P(n.prev,n,n.next)===0)){if(X(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function W(e,t,n,i,r,o,s){if(!e)return;!s&&o&&Fn(e,i,r,o);let a=e,l,f;for(;e.prev!==e.next;){if(l=e.prev,f=e.next,o?pn(e,i,r,o):hn(e)){t.push(l.i/n|0),t.push(e.i/n|0),t.push(f.i/n|0),X(e),e=f.next,a=f.next;continue}if(e=f,e===a){s?s===1?(e=dn(O(e),t,n),W(e,t,n,i,r,o,2)):s===2&&gn(e,t,n,i,r,o):W(O(e),t,n,i,r,o,1);break}}}function hn(e){let t=e.prev,n=e,i=e.next;if(P(t,n,i)>=0)return!1;let r=t.x,o=n.x,s=i.x,a=t.y,l=n.y,f=i.y,c=r<o?r<s?r:s:o<s?o:s,u=a<l?a<f?a:f:l<f?l:f,p=r>o?r>s?r:s:o>s?o:s,h=a>l?a>f?a:f:l>f?l:f,d=i.next;for(;d!==t;){if(d.x>=c&&d.x<=p&&d.y>=u&&d.y<=h&&G(r,a,o,l,s,f,d.x,d.y)&&P(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function pn(e,t,n,i){let r=e.prev,o=e,s=e.next;if(P(r,o,s)>=0)return!1;let a=r.x,l=o.x,f=s.x,c=r.y,u=o.y,p=s.y,h=a<l?a<f?a:f:l<f?l:f,d=c<u?c<p?c:p:u<p?u:p,x=a>l?a>f?a:f:l>f?l:f,w=c>u?c>p?c:p:u>p?u:p,I=Ve(h,d,t,n,i),_=Ve(x,w,t,n,i),g=e.prevZ,m=e.nextZ;for(;g&&g.z>=I&&m&&m.z<=_;){if(g.x>=h&&g.x<=x&&g.y>=d&&g.y<=w&&g!==r&&g!==s&&G(a,c,l,u,f,p,g.x,g.y)&&P(g.prev,g,g.next)>=0||(g=g.prevZ,m.x>=h&&m.x<=x&&m.y>=d&&m.y<=w&&m!==r&&m!==s&&G(a,c,l,u,f,p,m.x,m.y)&&P(m.prev,m,m.next)>=0))return!1;m=m.nextZ}for(;g&&g.z>=I;){if(g.x>=h&&g.x<=x&&g.y>=d&&g.y<=w&&g!==r&&g!==s&&G(a,c,l,u,f,p,g.x,g.y)&&P(g.prev,g,g.next)>=0)return!1;g=g.prevZ}for(;m&&m.z<=_;){if(m.x>=h&&m.x<=x&&m.y>=d&&m.y<=w&&m!==r&&m!==s&&G(a,c,l,u,f,p,m.x,m.y)&&P(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function dn(e,t,n){let i=e;do{let r=i.prev,o=i.next.next;!he(r,o)&<(r,i,i.next,o)&&Y(r,o)&&Y(o,r)&&(t.push(r.i/n|0),t.push(i.i/n|0),t.push(o.i/n|0),X(i),X(i.next),i=e=o),i=i.next}while(i!==e);return O(i)}function gn(e,t,n,i,r,o){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&Tn(s,a)){let l=ft(s,a);s=O(s,s.next),l=O(l,l.next),W(s,t,n,i,r,o,0),W(l,t,n,i,r,o,0);return}a=a.next}s=s.next}while(s!==e)}function mn(e,t,n,i,r,o){let s=[],a,l,f,c,u;for(a=0,l=t.length;a<l;a++)f=t[a]*i,c=a<l-1?t[a+1]*i:e.length,u=at(e,f,c,i,!1,r&&r[a+1],o),u===u.next&&(u.steiner=!0),s.push(vn(u));for(s.sort(xn),a=0;a<s.length;a++)n=yn(s[a],n);return n}function xn(e,t){return e.x-t.x}function yn(e,t){let n=wn(e,t);if(!n)return t;let i=ft(n,e);return O(i,i.next),O(n,n.next)}function wn(e,t){let n=t,i=e.x,r=e.y,o=-1/0,s;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){let p=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(p<=i&&p>o&&(o=p,s=n.x<n.next.x?n:n.next,p===i))return s}n=n.next}while(n!==t);if(!s)return null;let a=s,l=s.x,f=s.y,c=1/0,u;n=s;do i>=n.x&&n.x>=l&&i!==n.x&&G(r<f?i:o,r,l,f,r<f?o:i,r,n.x,n.y)&&(u=Math.abs(r-n.y)/(i-n.x),Y(n,e)&&(u<c||u===c&&(n.x>s.x||n.x===s.x&&Pn(s,n)))&&(s=n,c=u)),n=n.next;while(n!==a);return s}function Pn(e,t){return P(e.prev,e,t.prev)<0&&P(t.next,e,e.next)<0}function Fn(e,t,n,i){let r=e;do r.z===0&&(r.z=Ve(r.x,r.y,t,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==e);r.prevZ.nextZ=null,r.prevZ=null,In(r)}function In(e){let t,n,i=1,r,o,s,a,l,f;do{for(o=e,e=null,f=null,r=0;o;){for(r++,a=o,s=0,n=0;n<i&&(s++,a=a.nextZ,!!a);n++);for(l=i;s>0||l>0&&a;)s!==0&&(l===0||!a||o.z<=a.z)?(t=o,o=o.nextZ,s--):(t=a,a=a.nextZ,l--),f?f.nextZ=t:e=t,t.prevZ=f,f=t;o=a}f.nextZ=null,i*=2}while(r>1);return e}function Ve(e,t,n,i,r){return e=(e-n)*r|0,t=(t-i)*r|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 vn(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function G(e,t,n,i,r,o,s,a){return(r-s)*(t-a)>=(e-s)*(o-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(o-a)>=(r-s)*(i-a)}function Tn(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!Sn(e,t)&&(Y(e,t)&&Y(t,e)&&_n(e,t)&&(P(e.prev,e,t.prev)||P(e,t.prev,t))||he(e,t)&&P(e.prev,e,e.next)>0&&P(t.prev,t,t.next)>0)}function P(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function he(e,t){return e.x===t.x&&e.y===t.y}function lt(e,t,n,i){let r=ue(P(e,t,n)),o=ue(P(e,t,i)),s=ue(P(n,i,e)),a=ue(P(n,i,t));return!!(r!==o&&s!==a||r===0&&ce(e,n,t)||o===0&&ce(e,i,t)||s===0&&ce(n,e,i)||a===0&&ce(n,t,i))}function ce(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function ue(e){return e>0?1:e<0?-1:0}function Sn(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&<(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function Y(e,t){return P(e.prev,e,e.next)<0?P(e,t,e.next)>=0&&P(e,e.prev,t)>=0:P(e,t,e.prev)<0||P(e,e.next,t)<0}function _n(e,t){let n=e,i=!1,r=(e.x+t.x)/2,o=(e.y+t.y)/2;do n.y>o!=n.next.y>o&&n.next.y!==n.y&&r<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function ft(e,t){let n=new $(e.i,e.x,e.y),i=new $(t.i,t.x,t.y),r=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=r,r.prev=n,i.next=n,n.prev=i,o.next=i,i.prev=o,i}function st(e,t,n,i){let r=new $(e,t,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function X(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 $=class{constructor(t,n,i){V(this,"i",void 0),V(this,"x",void 0),V(this,"y",void 0),V(this,"prev",null),V(this,"next",null),V(this,"z",0),V(this,"prevZ",null),V(this,"nextZ",null),V(this,"steiner",!1),this.i=t,this.x=n,this.y=i}};function De(e,t,n){let i=En(e),r=Object.keys(i).filter(o=>i[o]!==Array);return Dn(e,{propArrayTypes:i,...t},{numericPropKeys:n&&n.numericPropKeys||r,PositionDataType:n?n.PositionDataType:Float32Array,triangulate:n?n.triangulate:!0})}function En(e){let t={};for(let n of e)if(n.properties)for(let i in n.properties){let r=n.properties[i];t[i]=kn(r,t[i])}return t}function Dn(e,t,n){let{pointPositionsCount:i,pointFeaturesCount:r,linePositionsCount:o,linePathsCount:s,lineFeaturesCount:a,polygonPositionsCount:l,polygonObjectsCount:f,polygonRingsCount:c,polygonFeaturesCount:u,propArrayTypes:p,coordLength:h}=t,{numericPropKeys:d=[],PositionDataType:x=Float32Array,triangulate:w=!0}=n,I=e[0]&&"id"in e[0],_=e.length>65535?Uint32Array:Uint16Array,g={type:"Point",positions:new x(i*h),globalFeatureIds:new _(i),featureIds:r>65535?new Uint32Array(i):new Uint16Array(i),numericProps:{},properties:[],fields:[]},m={type:"LineString",pathIndices:o>65535?new Uint32Array(s+1):new Uint16Array(s+1),positions:new x(o*h),globalFeatureIds:new _(o),featureIds:a>65535?new Uint32Array(o):new Uint16Array(o),numericProps:{},properties:[],fields:[]},v={type:"Polygon",polygonIndices:l>65535?new Uint32Array(f+1):new Uint16Array(f+1),primitivePolygonIndices:l>65535?new Uint32Array(c+1):new Uint16Array(c+1),positions:new x(l*h),globalFeatureIds:new _(l),featureIds:u>65535?new Uint32Array(l):new Uint16Array(l),numericProps:{},properties:[],fields:[]};w&&(v.triangles=[]);for(let T of[g,m,v])for(let S of d){let M=p[S];T.numericProps[S]=new M(T.positions.length/h)}m.pathIndices[s]=o,v.polygonIndices[f]=l,v.primitivePolygonIndices[c]=l;let F={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let T of e){let S=T.geometry,M=T.properties||{};switch(S.type){case"Point":Ln(S,g,F,h,M),g.properties.push(Ee(M,d)),I&&g.fields.push({id:T.id}),F.pointFeature++;break;case"LineString":bn(S,m,F,h,M),m.properties.push(Ee(M,d)),I&&m.fields.push({id:T.id}),F.lineFeature++;break;case"Polygon":Cn(S,v,F,h,M),v.properties.push(Ee(M,d)),I&&v.fields.push({id:T.id}),F.polygonFeature++;break;default:throw new Error("Invalid geometry type")}F.feature++}return Nn(g,m,v,h)}function Ln(e,t,n,i,r){t.positions.set(e.data,n.pointPosition*i);let o=e.data.length/i;Le(t,r,n.pointPosition,o),t.globalFeatureIds.fill(n.feature,n.pointPosition,n.pointPosition+o),t.featureIds.fill(n.pointFeature,n.pointPosition,n.pointPosition+o),n.pointPosition+=o}function bn(e,t,n,i,r){t.positions.set(e.data,n.linePosition*i);let o=e.data.length/i;Le(t,r,n.linePosition,o),t.globalFeatureIds.fill(n.feature,n.linePosition,n.linePosition+o),t.featureIds.fill(n.lineFeature,n.linePosition,n.linePosition+o);for(let s=0,a=e.indices.length;s<a;++s){let l=e.indices[s],f=s===a-1?e.data.length:e.indices[s+1];t.pathIndices[n.linePath++]=n.linePosition,n.linePosition+=(f-l)/i}}function Cn(e,t,n,i,r){t.positions.set(e.data,n.polygonPosition*i);let o=e.data.length/i;Le(t,r,n.polygonPosition,o),t.globalFeatureIds.fill(n.feature,n.polygonPosition,n.polygonPosition+o),t.featureIds.fill(n.polygonFeature,n.polygonPosition,n.polygonPosition+o);for(let s=0,a=e.indices.length;s<a;++s){let l=n.polygonPosition;t.polygonIndices[n.polygonObject++]=l;let f=e.areas[s],c=e.indices[s],u=e.indices[s+1];for(let h=0,d=c.length;h<d;++h){let x=c[h],w=h===d-1?u===void 0?e.data.length:u[0]:c[h+1];t.primitivePolygonIndices[n.polygonRing++]=n.polygonPosition,n.polygonPosition+=(w-x)/i}let p=n.polygonPosition;On(t,f,c,{startPosition:l,endPosition:p,coordLength:i})}}function On(e,t,n,{startPosition:i,endPosition:r,coordLength:o}){if(!e.triangles)return;let s=i*o,a=r*o,l=e.positions.subarray(s,a),f=n[0],c=n.slice(1).map(p=>(p-f)/o),u=Be(l,c,o,t);for(let p=0,h=u.length;p<h;++p)e.triangles.push(i+u[p])}function Ae(e,t){let n={};for(let i in e)n[i]={value:e[i],size:t};return n}function Nn(e,t,n,i){let r={shape:"binary-feature-collection",points:{...e,positions:{value:e.positions,size:i},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1},numericProps:Ae(e.numericProps,1)},lines:{...t,positions:{value:t.positions,size:i},pathIndices:{value:t.pathIndices,size:1},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1},numericProps:Ae(t.numericProps,1)},polygons:{...n,positions:{value:n.positions,size:i},polygonIndices:{value:n.polygonIndices,size:1},primitivePolygonIndices:{value:n.primitivePolygonIndices,size:1},globalFeatureIds:{value:n.globalFeatureIds,size:1},featureIds:{value:n.featureIds,size:1},numericProps:Ae(n.numericProps,1)}};return r.polygons&&n.triangles&&(r.polygons.triangles={value:new Uint32Array(n.triangles),size:1}),r}function Le(e,t,n,i){for(let r in e.numericProps)if(r in t){let o=t[r];e.numericProps[r].fill(o,n,n+i)}}function Ee(e,t){let n={};for(let i in e)t.includes(i)||(n[i]=e[i]);return n}function kn(e,t){return t===Array||!Number.isFinite(e)?Array:t===Float64Array||Math.fround(e)!==e?Float64Array:Float32Array}var Ge=it(yt(),1);function wt(e){let t=e.length;if(t<=1)return[e];let n=[],i,r;for(let o=0;o<t;o++){let s=ni(e[o]);s!==0&&(r===void 0&&(r=s<0),r===s<0?(i&&n.push(i),i=[e[o]]):i&&i.push(e[o]))}return i&&n.push(i),n}function ni(e){let t=0;for(let n=0,i=e.length-1,r,o;n<e.length;i=n++)r=e[n],o=e[i],t+=(o[0]-r[0])*(r[1]+o[1]);return t}function Pt(e,t,n){t&&n&&(e===1?t.id=n.readVarint():e===2?ii(n,t):e===3?t.type=n.readVarint():e===4&&(t._geometry=n.pos))}function ii(e,t){let n=e.readVarint()+e.pos;for(;e.pos<n;){let i=t._keys[e.readVarint()],r=t._values[e.readVarint()];t.properties[i]=r}}var N=class{properties;extent;type;id;_pbf;_geometry;_keys;_values;static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(t,n,i,r,o){this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=r,this._values=o,t.readFields(Pt,this,n)}loadGeometry(){let t=this._pbf;t.pos=this._geometry;let n=t.readVarint()+t.pos,i=1,r=0,o=0,s=0,a=[],l;for(;t.pos<n;){if(r<=0){let f=t.readVarint();i=f&7,r=f>>3}if(r--,i===1||i===2)o+=t.readSVarint(),s+=t.readSVarint(),i===1&&(l&&a.push(l),l=[]),l&&l.push([o,s]);else if(i===7)l&&l.push(l[0].slice());else throw new Error(`unknown command ${i}`)}return l&&a.push(l),a}bbox(){let t=this._pbf;t.pos=this._geometry;let n=t.readVarint()+t.pos,i=1,r=0,o=0,s=0,a=1/0,l=-1/0,f=1/0,c=-1/0;for(;t.pos<n;){if(r<=0){let u=t.readVarint();i=u&7,r=u>>3}if(r--,i===1||i===2)o+=t.readSVarint(),s+=t.readSVarint(),o<a&&(a=o),o>l&&(l=o),s<f&&(f=s),s>c&&(c=s);else if(i!==7)throw new Error(`unknown command ${i}`)}return[a,f,l,c]}_toGeoJSON(t){let n=this.loadGeometry(),i=N.types[this.type],r,o;switch(this.type){case 1:let a=[];for(r=0;r<n.length;r++)a[r]=n[r][0];n=a,t(n,this);break;case 2:for(r=0;r<n.length;r++)t(n[r],this);break;case 3:for(n=wt(n),r=0;r<n.length;r++)for(o=0;o<n[r].length;o++)t(n[r][o],this);break}n.length===1?n=n[0]:i=`Multi${i}`;let s={type:"Feature",geometry:{type:i,coordinates:n},properties:this.properties};return this.id!==null&&(s.id=this.id),s}toGeoJSON(t){if(typeof t=="function")return this._toGeoJSON(t);let{x:n,y:i,z:r}=t,o=this.extent*Math.pow(2,r),s=this.extent*n,a=this.extent*i;function l(f){for(let c=0;c<f.length;c++){let u=f[c];u[0]=(u[0]+s)*360/o-180;let p=180-(u[1]+a)*360/o;u[1]=360/Math.PI*Math.atan(Math.exp(p*Math.PI/180))-90}}return this._toGeoJSON(l)}};var H=class{version;name;extent;length;_pbf;_keys;_values;_features;constructor(t,n){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(ri,this,n),this.length=this._features.length}feature(t){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 N(this._pbf,n,this.extent,this._keys,this._values)}};function ri(e,t,n){t&&n&&(e===15?t.version=n.readVarint():e===1?t.name=n.readString():e===5?t.extent=n.readVarint():e===2?t._features.push(n.pos):e===3?t._keys.push(n.readString()):e===4&&t._values.push(oi(n)))}function oi(e){let t=null,n=e.readVarint()+e.pos;for(;e.pos<n;){let i=e.readVarint()>>3;t=i===1?e.readString():i===2?e.readFloat():i===3?e.readDouble():i===4?e.readVarint64():i===5?e.readVarint():i===6?e.readSVarint():i===7?e.readBoolean():null}return t}var K=class{layers;constructor(t,n){this.layers=t.readFields(si,{},n)}};function si(e,t,n){if(e===3&&n){let i=new H(n,n.readVarint()+n.pos);i.length&&t&&(t[i.name]=i)}}function Ft(e){let t=e.indices.length,n="Polygon";if(t<=1)return{type:n,data:e.data,areas:[[C(e.data)]],indices:[e.indices]};let i=[],r=[],o=[],s=[],a,l=0;for(let f,c=0,u;c<t;c++){u=e.indices[c]-l,f=e.indices[c+1]-l||e.data.length;let p=e.data.slice(u,f),h=C(p);if(h===0){let d=e.data.slice(0,u),x=e.data.slice(f);e.data=d.concat(x),l+=f-u;continue}a===void 0&&(a=h<0),a===h<0?(s.length&&(i.push(o),r.push(s)),s=[u],o=[h]):(o.push(h),s.push(u))}return o&&i.push(o),s.length&&r.push(s),{type:n,areas:i,indices:r,data:e.data}}function It(e,t,n,i){for(let r=0,o=e.length;r<o;r+=2){e[r]=(e[r]+t)*360/i-180;let s=180-(e[r+1]+n)*360/i;e[r+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function vt(e,t,n){t&&n&&(e===1?t.id=n.readVarint():e===2?ai(n,t):e===3?t.type=n.readVarint():e===4&&(t._geometry=n.pos))}function ai(e,t){let n=e.readVarint()+e.pos;for(;e.pos<n;){let i=t._keys[e.readVarint()],r=t._values[e.readVarint()];t.properties[i]=r}}var Tt,k,Oe,ge,Ne,ke,Q;var q=class{properties;extent;type;id;_pbf;_geometry;_keys;_values;_geometryInfo;constructor(t,n,i,r,o,s){this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=r,this._values=o,this._geometryInfo=s,t.readFields(vt,this,n)}loadGeometry(){let t=this._pbf;t.pos=this._geometry,Tt=t.readVarint()+t.pos,k=1,ge=0,Ne=0,ke=0,Q=0;let n=[],i=[];for(;t.pos<Tt;)if(ge<=0&&(Oe=t.readVarint(),k=Oe&7,ge=Oe>>3),ge--,k===1||k===2)Ne+=t.readSVarint(),ke+=t.readSVarint(),k===1&&n.push(Q),i.push(Ne,ke),Q+=2;else if(k===7){if(Q>0){let r=n[n.length-1];i.push(i[r],i[r+1]),Q+=2}}else throw new Error(`unknown command ${k}`);return{data:i,indices:n}}_toBinaryCoordinates(t){let n=this.loadGeometry(),i;t(n.data,this);let r=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=n.indices.length,i={type:"Point",...n};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=n.indices.length,this._geometryInfo.linePositionsCount+=n.data.length/r,i={type:"LineString",...n};break;case 3:i=Ft(n),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=i.indices.length;for(let s of i.indices)this._geometryInfo.polygonRingsCount+=s.length;this._geometryInfo.polygonPositionsCount+=i.data.length/r;break;default:throw new Error(`Invalid geometry type: ${this.type}`)}let o={type:"Feature",geometry:i,properties:this.properties};return this.id!==null&&(o.id=this.id),o}toBinaryCoordinates(t){if(typeof t=="function")return this._toBinaryCoordinates(t);let{x:n,y:i,z:r}=t,o=this.extent*Math.pow(2,r),s=this.extent*n,a=this.extent*i;return this._toBinaryCoordinates(l=>It(l,s,a,o))}};var ee=class{version;name;extent;length;_pbf;_keys;_values;_features;constructor(t,n){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(li,this,n),this.length=this._features.length}feature(t,n){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];let i=this._pbf.readVarint()+this._pbf.pos;return new q(this._pbf,i,this.extent,this._keys,this._values,n)}};function li(e,t,n){t&&n&&(e===15?t.version=n.readVarint():e===1?t.name=n.readString():e===5?t.extent=n.readVarint():e===2?t._features.push(n.pos):e===3?t._keys.push(n.readString()):e===4&&t._values.push(fi(n)))}function fi(e){let t=null,n=e.readVarint()+e.pos;for(;e.pos<n;){let i=e.readVarint()>>3;t=i===1?e.readString():i===2?e.readFloat():i===3?e.readDouble():i===4?e.readVarint64():i===5?e.readVarint():i===6?e.readSVarint():i===7?e.readBoolean():null}return t}var te=class{layers;constructor(t,n){this.layers=t.readFields(ci,{},n)}};function ci(e,t,n){if(e===3&&n){let i=new ee(n,n.readVarint()+n.pos);i.length&&t&&(t[i.name]=i)}}function me(e,t){let n=hi(t),i=t?.gis?.format||t?.mvt?.shape||t?.shape;switch(i){case"columnar-table":return{shape:"columnar-table",data:Ue(e,n)};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:St(e,n)};case"geojson":return St(e,n);case"binary-geometry":return Ue(e,n);case"binary":return Ue(e,n);default:throw new Error(i||"undefined shape")}}function Ue(e,t){let[n,i]=ui(e,t),r=De(n,i);return r.byteLength=e.byteLength,r}function ui(e,t){let n=[],i={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[n,i];let r=new te(new Ge.default(e));return(t&&Array.isArray(t.layers)?t.layers:Object.keys(r.layers)).forEach(s=>{let a=r.layers[s];if(a)for(let l=0;l<a.length;l++){let f=a.feature(l,i),c=di(f,t,s);n.push(c)}}),[n,i]}function St(e,t){if(e.byteLength<=0)return[];let n=[],i=new K(new Ge.default(e));return(Array.isArray(t.layers)?t.layers:Object.keys(i.layers)).forEach(o=>{let s=i.layers[o];if(s)for(let a=0;a<s.length;a++){let l=s.feature(a),f=pi(l,t,o);n.push(f)}}),n}function hi(e){if(!e?.mvt)throw new Error("mvt options required");let t=e.mvt?.coordinates==="wgs84",{tileIndex:n}=e.mvt,i=n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&Number.isFinite(n.z);if(t&&!i)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return e.mvt}function pi(e,t,n){let i=e.toGeoJSON(t.coordinates==="wgs84"?t.tileIndex:gi);return t.layerProperty&&(i.properties[t.layerProperty]=n),i}function di(e,t,n){let i=e.toBinaryCoordinates(t.coordinates==="wgs84"?t.tileIndex:mi);return t.layerProperty&&i.properties&&(i.properties[t.layerProperty]=n),i}function gi(e,t){let{extent:n}=t;for(let i=0;i<e.length;i++){let r=e[i];r[0]/=n,r[1]/=n}}function mi(e,t){let{extent:n}=t;for(let i=0,r=e.length;i<r;++i)e[i]/=n}var xi="4.2.0-alpha.5",Re={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:xi,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}}},xe={...Re,parse:async(e,t)=>me(e,t),parseSync:me,binary:!0};var Bt=e=>e!==null&&typeof e=="object";function je(e,t){if(!e||!Bt(e))return null;let n={name:e.name||"",description:e.description||""};if(typeof e.generator=="string"&&(n.generator=e.generator),typeof e.generator_options=="string"&&(n.generatorOptions=e.generator_options),n.boundingBox=_t(e.bounds)||_t(e.antimeridian_adjusted_bounds),n.center=vi(e.center),n.maxZoom=Mt(e.maxzoom),n.minZoom=Mt(e.minzoom),typeof e?.json=="string")try{n.metaJson=JSON.parse(e.json)}catch(a){console.warn("Failed to parse tilejson.json field",a)}let i=e.tilestats||n.metaJson?.tilestats,r=Pi(i,t),o=yi(e.vector_layers),s=Ii(o,r);return n={...n,layers:s},n.maxZoom===null&&s.length>0&&(n.maxZoom=s[0].maxZoom||null),n.minZoom===null&&s.length>0&&(n.minZoom=s[0].minZoom||null),n}function yi(e){return Array.isArray(e)?e.map(t=>wi(t)):[]}function wi(e){let t=Object.entries(e.fields||[]).map(([i,r])=>({name:i,...Lt(String(r))})),n={...e};return delete n.fields,{name:e.id||"",...n,fields:t}}function Pi(e,t){return Bt(e)&&Array.isArray(e.layers)?e.layers.map(n=>Fi(n,t)):[]}function Fi(e,t){let n=[],i={},r=e.attributes||[];for(let o of r){let s=o.attribute;if(typeof s=="string")if(s.split("|").length>1){let a=s.split("|")[0];i[a]=i[a]||[],i[a].push(o),console.warn("ignoring tilestats indexed field",a)}else n[s]||n.push(Si(o,t))}return{name:e.layer||"",dominantGeometry:e.geometry,fields:n}}function Ii(e,t){return e.map(n=>{let i=t.find(s=>s.name===n.name),r=i?.fields||[],o={...n};return delete o.fields,{...o,...i,fields:r}})}function _t(e){let t=Dt(e);if(Array.isArray(t)&&t.length===4&&[t[0],t[2]].every(Et)&&[t[1],t[3]].every(At))return[[t[0],t[1]],[t[2],t[3]]]}function vi(e){let t=Dt(e);return Array.isArray(t)&&t.length===3&&Et(t[0])&&At(t[1])&&Ti(t[2])?t:null}function Mt(e){let t=typeof e=="string"?parseFloat(e):typeof e=="number"?e:null;return t===null||isNaN(t)?null:t}function At(e){return Number.isFinite(e)&&e<=90&&e>=-90}function Et(e){return Number.isFinite(e)&&e<=180&&e>=-180}function Ti(e){return Number.isFinite(e)&&e>=0&&e<=22}function Dt(e){return typeof e=="string"?e.split(",").map(parseFloat):Array.isArray(e)?e:null}var Vt={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 Si(e={},t){let n=Lt(e.type),i={name:e.attribute,...n};return typeof e.min=="number"&&(i.min=e.min),typeof e.max=="number"&&(i.max=e.max),typeof e.count=="number"&&(i.uniqueValueCount=e.count),e.values&&(i.values=e.values),i.values&&typeof t.maxValues=="number"&&(i.values=i.values?.slice(0,t.maxValues)),i}function Lt(e){let t=e.toLowerCase();return!t||Vt[t],Vt[t]||{type:"string"}}var _i="4.2.0-alpha.5",Z={name:"TileJSON",id:"tilejson",module:"pmtiles",version:_i,worker:!0,extensions:["json"],mimeTypes:["application/json"],text:!0,options:{tilejson:{maxValues:void 0}},parse:async(e,t)=>{let n=new TextDecoder().decode(e),i=JSON.parse(n),r={...Z.options.tilejson,...t?.tilejson};return je(i,r)},parseTextSync:(e,t)=>{let n=JSON.parse(e),i={...Z.options.tilejson,...t?.tilejson};return je(n,i)}};function ne(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var A={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Mi=A.self||A.window||A.global||{},Vi=A.window||A.self||A.global||{},Bi=A.global||A.self||A.window||{},Ai=A.document||{};var Ze=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var bt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ei=bt&&parseFloat(bt[1])||0;var Di="",Ct={};function ze(e){for(let t in Ct)if(e.startsWith(t)){let n=Ct[t];e=e.replace(t,n)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Di}${e}`),e}var ie=class{fetch;loadOptions;_needsRefresh=!0;props;constructor(t){this.props={...t},this.loadOptions={...t.loadOptions},this.fetch=Li(this.loadOptions)}setProps(t){this.props=Object.assign(this.props,t),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(t=!0){let n=this._needsRefresh;return t&&(this._needsRefresh=!1),n}};function Li(e){let t=e?.fetch;if(t&&typeof t=="function")return(i,r)=>t(i,r);let n=e?.fetch;return n&&typeof n!="function"?i=>fetch(i,n):i=>fetch(i)}var Ot="4.2.0-alpha.5";var bi=globalThis.loaders?.parseImageNode,Je=typeof Image<"u",We=typeof ImageBitmap<"u",Ci=Boolean(bi),Ye=Ze?!0:Ci;function Nt(e){switch(e){case"auto":return We||Je||Ye;case"imagebitmap":return We;case"image":return Je;case"data":return Ye;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function kt(){if(We)return"imagebitmap";if(Je)return"image";if(Ye)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Oi(e){let t=Ni(e);if(!t)throw new Error("Not an image");return t}function Ut(e){switch(Oi(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function Ni(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var ki=/^data:image\/svg\+xml/,Ui=/\.svg((\?|#).*)?$/;function ye(e){return e&&(ki.test(e)||Ui.test(e))}function Gt(e,t){if(ye(t)){let i=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(i=unescape(encodeURIComponent(i)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return Xe(e,t)}function Xe(e,t){if(ye(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function we(e,t,n){let i=Gt(e,n),r=self.URL||self.webkitURL,o=typeof i!="string"&&r.createObjectURL(i);try{return await Gi(o||i,t)}finally{o&&r.revokeObjectURL(o)}}async function Gi(e,t){let n=new Image;return n.src=e,t.image&&t.image.decode&&n.decode?(await n.decode(),n):await new Promise((i,r)=>{try{n.onload=()=>i(n),n.onerror=o=>{let s=o instanceof Error?o.message:"error";r(new Error(s))}}catch(o){r(o)}})}var Ri={},Rt=!0;async function jt(e,t,n){let i;ye(n)?i=await we(e,t,n):i=Xe(e,n);let r=t&&t.imagebitmap;return await ji(i,r)}async function ji(e,t=null){if((Zi(t)||!Rt)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(n){console.warn(n),Rt=!1}return await createImageBitmap(e)}function Zi(e){for(let t in e||Ri)return!1;return!0}function Zt(e){return!Yi(e,"ftyp",4)||!(e[8]&96)?null:zi(e)}function zi(e){switch(Ji(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Ji(e,t,n){return String.fromCharCode(...e.slice(t,n))}function Wi(e){return[...e].map(t=>t.charCodeAt(0))}function Yi(e,t,n=0){let i=Wi(t);for(let r=0;r<i.length;++r)if(i[r]!==e[r+n])return!1;return!0}var E=!1,re=!0;function U(e){let t=oe(e);return $i(t)||Qi(t)||Hi(t)||Ki(t)||Xi(t)}function Xi(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),n=Zt(t);return n?{mimeType:n.mimeType,width:0,height:0}:null}function $i(e){let t=oe(e);return t.byteLength>=24&&t.getUint32(0,E)===2303741511?{mimeType:"image/png",width:t.getUint32(16,E),height:t.getUint32(20,E)}:null}function Hi(e){let t=oe(e);return t.byteLength>=10&&t.getUint32(0,E)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,re),height:t.getUint16(8,re)}:null}function Ki(e){let t=oe(e);return t.byteLength>=14&&t.getUint16(0,E)===16973&&t.getUint32(2,re)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,re),height:t.getUint32(22,re)}:null}function Qi(e){let t=oe(e);if(!(t.byteLength>=3&&t.getUint16(0,E)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:i,sofMarkers:r}=qi(),o=2;for(;o+9<t.byteLength;){let s=t.getUint16(o,E);if(r.has(s))return{mimeType:"image/jpeg",height:t.getUint16(o+5,E),width:t.getUint16(o+7,E)};if(!i.has(s))return null;o+=2,o+=t.getUint16(o,E)}return null}function qi(){let e=new Set([65499,65476,65484,65501,65534]);for(let n=65504;n<65520;++n)e.add(n);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function oe(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function zt(e,t){let{mimeType:n}=U(e)||{},i=globalThis.loaders?.parseImageNode;return ne(i),await i(e,n)}async function Jt(e,t,n){t=t||{};let r=(t.image||{}).type||"auto",{url:o}=n||{},s=er(r),a;switch(s){case"imagebitmap":a=await jt(e,t,o);break;case"image":a=await we(e,t,o);break;case"data":a=await zt(e,t);break;default:ne(!1)}return r==="data"&&(a=Ut(a)),a}function er(e){switch(e){case"auto":case"data":return kt();default:return Nt(e),e}}var tr=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],nr=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],ir={image:{type:"auto",decode:!0}},$e={id:"image",module:"images",name:"Images",version:Ot,mimeTypes:nr,extensions:tr,parse:Jt,tests:[e=>Boolean(U(new DataView(e)))],options:ir};var Pe=class extends ie{props;url;metadataUrl=null;data;schema="tms";metadata;extension;mimeType=null;constructor(t){super(t),this.props=t,this.url=ze(t.url),this.metadataUrl=t.metadataUrl===void 0?`${this.url}/tilejson.json`:t.metadataUrl,this.extension=t.extension||".png",this.data=this.url,this.getTileData=this.getTileData.bind(this),this.metadata=this.getMetadata(),rr(this.url)&&(this.schema="template")}async getMetadata(){if(!this.metadataUrl)return null;let t;try{t=await this.fetch(this.metadataUrl)}catch(r){return console.error(r.message),null}if(!t.ok)return console.error(t.statusText),null;let n=await t.text();return Z.parseTextSync?.(n)||null}getTileMIMEType(){return this.mimeType}async getTile(t){let{x:n,y:i,zoom:r}=t,o=this.getTileURL(n,i,r),s=await this.fetch(o);return s.ok?await s.arrayBuffer():null}async getTileData(t){let{x:n,y:i,z:r}=t.index,o=await this.getTile({x:n,y:i,zoom:r,layers:[]});if(o===null)return null;let s=U(o);switch(this.mimeType=this.mimeType||s?.mimeType||"application/vnd.mapbox-vector-tile",this.mimeType){case"application/vnd.mapbox-vector-tile":return await this._parseVectorTile(o,{x:n,y:i,zoom:r,layers:[]});default:return await this._parseImageTile(o)}}async getImageTile(t){let n=await this.getTile(t);return n?this._parseImageTile(n):null}async _parseImageTile(t){return await $e.parse(t,this.loadOptions)}async getVectorTile(t){let n=await this.getTile(t);return n?this._parseVectorTile(n,t):null}async _parseVectorTile(t,n){let i={shape:"geojson-table",mvt:{coordinates:"wgs84",tileIndex:{x:n.x,y:n.y,z:n.zoom},...this.loadOptions?.mvt},...this.loadOptions};return await xe.parse(t,i)}getMetadataUrl(){return this.metadataUrl}getTileURL(t,n,i){switch(this.schema){case"xyz":return`${this.url}/${t}/${n}/${i}${this.extension}`;case"tms":return`${this.url}/${i}/${t}/${n}${this.extension}`;case"template":return lr(this.url,t,n,i,"0");default:throw new Error(this.schema)}}};function rr(e){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))|(?=.*{x})(?=.*({y}|{-y})(?=.*{z}))/.test(e)}var or=new RegExp("{x}","g"),sr=new RegExp("{y}","g"),ar=new RegExp("{z}","g");function lr(e,t,n,i,r="0"){if(Array.isArray(e)){let s=fr(r)%e.length;e=e[s]}let o=e;return o=o.replace(or,String(t)),o=o.replace(sr,String(n)),o=o.replace(ar,String(i)),Number.isInteger(n)&&Number.isInteger(i)&&(o=o.replace(/\{-y\}/g,String(Math.pow(2,i)-n-1))),o}function fr(e){return Math.abs(e.split("").reduce((t,n)=>(t<<5)-t+n.charCodeAt(0)|0,0))}function Fe(e,t,n,i){let r=i,o=n-t>>1,s=n-t,a,l=e[t],f=e[t+1],c=e[n],u=e[n+1];for(let p=t+3;p<n;p+=3){let h=cr(e[p],e[p+1],l,f,c,u);if(h>r)a=p,r=h;else if(h===r){let d=Math.abs(p-o);d<s&&(a=p,s=d)}}r>i&&(a-t>3&&Fe(e,t,a,i),e[a+2]=r,n-a>3&&Fe(e,a,n,i))}function cr(e,t,n,i,r,o){let s=r-n,a=o-i;if(s!==0||a!==0){let l=((e-n)*s+(t-i)*a)/(s*s+a*a);l>1?(n=r,i=o):l>0&&(n+=s*l,i+=a*l)}return s=e-n,a=t-i,s*s+a*a}function b(e,t,n,i){let r={id:e??null,type:t,geometry:n,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(t==="Point"||t==="MultiPoint"||t==="LineString")Ie(r,n);else if(t==="Polygon")Ie(r,n[0]);else if(t==="MultiLineString")for(let o of n)Ie(r,o);else if(t==="MultiPolygon")for(let o of n)Ie(r,o[0]);return r}function Ie(e,t){for(let n=0;n<t.length;n+=3)e.minX=Math.min(e.minX,t[n]),e.minY=Math.min(e.minY,t[n+1]),e.maxX=Math.max(e.maxX,t[n]),e.maxY=Math.max(e.maxY,t[n+1])}function Yt(e,t){let n=[];if(e.type==="FeatureCollection")for(let i=0;i<e.features.length;i++)ve(n,e.features[i],t,i);else e.type==="Feature"?ve(n,e,t):ve(n,{geometry:e},t);return n}function ve(e,t,n,i){if(!t.geometry)return;let r=t.geometry.coordinates,o=t.geometry.type,s=Math.pow(n.tolerance/((1<<n.maxZoom)*n.extent),2),a=[],l=t.id;if(n.promoteId?l=t.properties[n.promoteId]:n.generateId&&(l=i||0),o==="Point")Wt(r,a);else if(o==="MultiPoint")for(let f of r)Wt(f,a);else if(o==="LineString")Ke(r,a,s,!1);else if(o==="MultiLineString")if(n.lineMetrics){for(let f of r)a=[],Ke(f,a,s,!1),e.push(b(l,"LineString",a,t.properties));return}else He(r,a,s,!1);else if(o==="Polygon")He(r,a,s,!0);else if(o==="MultiPolygon")for(let f of r){let c=[];He(f,c,s,!0),a.push(c)}else if(o==="GeometryCollection"){for(let f of t.geometry.geometries)ve(e,{id:l,geometry:f,properties:t.properties},n,i);return}else throw new Error("Input data is not a valid GeoJSON object.");e.push(b(l,o,a,t.properties))}function Wt(e,t){t.push(Xt(e[0]),$t(e[1]),0)}function Ke(e,t,n,i){let r,o,s=0;for(let l=0;l<e.length;l++){let f=Xt(e[l][0]),c=$t(e[l][1]);t.push(f,c,0),l>0&&(i?s+=(r*c-f*o)/2:s+=Math.sqrt(Math.pow(f-r,2)+Math.pow(c-o,2))),r=f,o=c}let a=t.length-3;t[2]=1,Fe(t,0,a,n),t[a+2]=1,t.size=Math.abs(s),t.start=0,t.end=t.size}function He(e,t,n,i){for(let r=0;r<e.length;r++){let o=[];Ke(e[r],o,n,i),t.push(o)}}function Xt(e){return e/360+.5}function $t(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function B(e,t,n,i,r,o,s,a){if(n/=t,i/=t,o>=n&&s<i)return e;if(s<n||o>=i)return null;let l=[];for(let f of e){let c=f.geometry,u=f.type,p=r===0?f.minX:f.minY,h=r===0?f.maxX:f.maxY;if(p>=n&&h<i){l.push(f);continue}else if(h<n||p>=i)continue;let d=[];if(u==="Point"||u==="MultiPoint")ur(c,d,n,i,r);else if(u==="LineString")Kt(c,d,n,i,r,!1,a.lineMetrics);else if(u==="MultiLineString")Qe(c,d,n,i,r,!1);else if(u==="Polygon")Qe(c,d,n,i,r,!0);else if(u==="MultiPolygon")for(let x of c){let w=[];Qe(x,w,n,i,r,!0),w.length&&d.push(w)}if(d.length){if(a.lineMetrics&&u==="LineString"){for(let x of d)l.push(b(f.id,u,x,f.tags));continue}(u==="LineString"||u==="MultiLineString")&&(d.length===1?(u="LineString",d=d[0]):u="MultiLineString"),(u==="Point"||u==="MultiPoint")&&(u=d.length===3?"Point":"MultiPoint"),l.push(b(f.id,u,d,f.tags))}}return l.length?l:null}function ur(e,t,n,i,r){for(let o=0;o<e.length;o+=3){let s=e[o+r];s>=n&&s<=i&&z(t,e[o],e[o+1],e[o+2])}}function Kt(e,t,n,i,r,o,s){let a=Ht(e),l=r===0?hr:pr,f=e.start,c,u;for(let I=0;I<e.length-3;I+=3){let _=e[I],g=e[I+1],m=e[I+2],v=e[I+3],F=e[I+4],T=r===0?_:g,S=r===0?v:F,M=!1;s&&(c=Math.sqrt(Math.pow(_-v,2)+Math.pow(g-F,2))),T<n?S>n&&(u=l(a,_,g,v,F,n),s&&(a.start=f+c*u)):T>i?S<i&&(u=l(a,_,g,v,F,i),s&&(a.start=f+c*u)):z(a,_,g,m),S<n&&T>=n&&(u=l(a,_,g,v,F,n),M=!0),S>i&&T<=i&&(u=l(a,_,g,v,F,i),M=!0),!o&&M&&(s&&(a.end=f+c*u),t.push(a),a=Ht(e)),s&&(f+=c)}let p=e.length-3,h=e[p],d=e[p+1],x=e[p+2],w=r===0?h:d;w>=n&&w<=i&&z(a,h,d,x),p=a.length-3,o&&p>=3&&(a[p]!==a[0]||a[p+1]!==a[1])&&z(a,a[0],a[1],a[2]),a.length&&t.push(a)}function Ht(e){let t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function Qe(e,t,n,i,r,o){for(let s of e)Kt(s,t,n,i,r,o,!1)}function z(e,t,n,i){e.push(t,n,i)}function hr(e,t,n,i,r,o){let s=(o-t)/(i-t);return z(e,o,n+(r-n)*s,1),s}function pr(e,t,n,i,r,o){let s=(o-n)/(r-n);return z(e,t+(i-t)*s,o,1),s}function qt(e,t){let n=t.buffer/t.extent,i=e,r=B(e,1,-1-n,n,0,-1,2,t),o=B(e,1,1-n,2+n,0,-1,2,t);return(r||o)&&(i=B(e,1,-n,1+n,0,-1,2,t)||[],r&&(i=Qt(r,1).concat(i)),o&&(i=i.concat(Qt(o,-1)))),i}function Qt(e,t){let n=[];for(let i=0;i<e.length;i++){let r=e[i],o=r.type,s;if(o==="Point"||o==="MultiPoint"||o==="LineString")s=qe(r.geometry,t);else if(o==="MultiLineString"||o==="Polygon"){s=[];for(let a of r.geometry)s.push(qe(a,t))}else if(o==="MultiPolygon"){s=[];for(let a of r.geometry){let l=[];for(let f of a)l.push(qe(f,t));s.push(l)}}n.push(b(r.id,o,s,r.tags))}return n}function qe(e,t){let n=[];n.size=e.size,e.start!==void 0&&(n.start=e.start,n.end=e.end);for(let i=0;i<e.length;i+=3)n.push(e[i]+t,e[i+1],e[i+2]);return n}function et(e,t){if(e.transformed)return e;let n=1<<e.z,i=e.x,r=e.y;for(let o of e.features){let s=o.geometry,a=o.type;if(o.geometry=[],a===1)for(let l=0;l<s.length;l+=2)o.geometry.push(en(s[l],s[l+1],t,n,i,r));else for(let l=0;l<s.length;l++){let f=[];for(let c=0;c<s[l].length;c+=2)f.push(en(s[l][c],s[l][c+1],t,n,i,r));o.geometry.push(f)}}return e.transformed=!0,e}function en(e,t,n,i,r,o){return[Math.round(n*(e*i-r)),Math.round(n*(t*i-o))]}function tn(e,t,n,i,r){let o=t===r.maxZoom?0:r.tolerance/((1<<t)*r.extent),s={features:[],numPoints:0,numSimplified:0,numFeatures:e.length,source:null,x:n,y:i,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let a of e)dr(s,a,o,r);return s}function dr(e,t,n,i){let r=t.geometry,o=t.type,s=[];if(e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),o==="Point"||o==="MultiPoint")for(let a=0;a<r.length;a+=3)s.push(r[a],r[a+1]),e.numPoints++,e.numSimplified++;else if(o==="LineString")tt(s,r,e,n,!1,!1);else if(o==="MultiLineString"||o==="Polygon")for(let a=0;a<r.length;a++)tt(s,r[a],e,n,o==="Polygon",a===0);else if(o==="MultiPolygon")for(let a=0;a<r.length;a++){let l=r[a];for(let f=0;f<l.length;f++)tt(s,l[f],e,n,!0,f===0)}if(s.length){let a=t.tags||null;if(o==="LineString"&&i.lineMetrics){a={};for(let f in t.tags)a[f]=t.tags[f];a.mapbox_clip_start=r.start/r.size,a.mapbox_clip_end=r.end/r.size}let l={geometry:s,type:o==="Polygon"||o==="MultiPolygon"?3:o==="LineString"||o==="MultiLineString"?2:1,tags:a};t.id!==null&&(l.id=t.id),e.features.push(l)}}function tt(e,t,n,i,r,o){let s=i*i;if(i>0&&t.size<(r?s:i)){n.numPoints+=t.length/3;return}let a=[];for(let l=0;l<t.length;l+=3)(i===0||t[l+2]>s)&&(n.numSimplified++,a.push(t[l],t[l+1])),n.numPoints++;r&&gr(a,o),e.push(a)}function gr(e,t){let n=0;for(let i=0,r=e.length-2;i<e.length;r=i,i+=2)n+=(e[i]-e[r])*(e[i+1]+e[r+1]);if(n>0===t)for(let i=0,r=e.length;i<r/2;i+=2){let o=e[i],s=e[i+1];e[i]=e[r-2-i],e[i+1]=e[r-1-i],e[r-2-i]=o,e[r-1-i]=s}}var mr={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:void 0,generateId:!1,debug:0},Te=class{options;tiles={};tileCoords=[];stats={};total=0;constructor(t,n){this.options={...mr,...n},n=this.options;let i=n.debug;if(i&&console.time("preprocess data"),this.options.maxZoom<0||this.options.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(n.promoteId&&this.options.generateId)throw new Error("promoteId and generateId cannot be used together.");let r=Yt(t,n);i&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",n.indexMaxZoom,n.indexMaxPoints),console.time("generate tiles")),r=qt(r,this.options),r.length&&this.splitTile(r,0,0,0),i&&(r.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}getTile(t,n,i){let{extent:r,debug:o}=this.options;if(t<0||t>24)return null;let s=1<<t;n=n+s&s-1;let a=nt(t,n,i);if(this.tiles[a])return et(this.tiles[a],r);o>1&&console.log("drilling down to z%d-%d-%d",t,n,i);let l=t,f=n,c=i,u;for(;!u&&l>0;)l--,f=f>>1,c=c>>1,u=this.tiles[nt(l,f,c)];return!u||!u.source?null:(o>1&&(console.log("found parent tile z%d-%d-%d",l,f,c),console.time("drilling down")),this.splitTile(u.source,l,f,c,t,n,i),o>1&&console.timeEnd("drilling down"),this.tiles[a]?et(this.tiles[a],r):null)}splitTile(t,n,i,r,o,s,a){let l=[t,n,i,r],f=this.options,c=f.debug;for(;l.length;){r=l.pop(),i=l.pop(),n=l.pop(),t=l.pop();let u=1<<n,p=nt(n,i,r),h=this.tiles[p];if(!h&&(c>1&&console.time("creation"),h=this.tiles[p]=tn(t,n,i,r,f),this.tileCoords.push({z:n,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",n,i,r,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));let S=`z${n}`;this.stats[S]=(this.stats[S]||0)+1,this.total++}if(h.source=t,o===void 0){if(n===f.indexMaxZoom||h.numPoints<=f.indexMaxPoints)continue}else{if(n===f.maxZoom||n===o)continue;if(o!==void 0){let S=o-n;if(i!==s>>S||r!==a>>S)continue}}if(h.source=null,t.length===0)continue;c>1&&console.time("clipping");let d=.5*f.buffer/f.extent,x=.5-d,w=.5+d,I=1+d,_=null,g=null,m=null,v=null,F=B(t,u,i-d,i+w,0,h.minX,h.maxX,f),T=B(t,u,i+x,i+I,0,h.minX,h.maxX,f);t=null,F&&(_=B(F,u,r-d,r+w,1,h.minY,h.maxY,f),g=B(F,u,r+x,r+I,1,h.minY,h.maxY,f),F=null),T&&(m=B(T,u,r-d,r+w,1,h.minY,h.maxY,f),v=B(T,u,r+x,r+I,1,h.minY,h.maxY,f),T=null),c>1&&console.timeEnd("clipping"),l.push(_||[],n+1,i*2,r*2),l.push(g||[],n+1,i*2,r*2+1),l.push(m||[],n+1,i*2+1,r*2),l.push(v||[],n+1,i*2+1,r*2+1)}}};function nt(e,t,n){return((1<<e)*n+t)*32+e}return fn(se);})();
|
|
8
8
|
/*! Bundled license information:
|
|
9
9
|
|
|
10
10
|
ieee754/index.js:
|
package/dist/index.cjs
CHANGED
|
@@ -99,6 +99,14 @@ function readTag(pbf, feature) {
|
|
|
99
99
|
|
|
100
100
|
// dist/lib/mapbox-vector-tile/vector-tile-feature.js
|
|
101
101
|
var VectorTileFeature = class {
|
|
102
|
+
properties;
|
|
103
|
+
extent;
|
|
104
|
+
type;
|
|
105
|
+
id;
|
|
106
|
+
_pbf;
|
|
107
|
+
_geometry;
|
|
108
|
+
_keys;
|
|
109
|
+
_values;
|
|
102
110
|
static get types() {
|
|
103
111
|
return ["Unknown", "Point", "LineString", "Polygon"];
|
|
104
112
|
}
|
|
@@ -258,6 +266,14 @@ var VectorTileFeature = class {
|
|
|
258
266
|
|
|
259
267
|
// dist/lib/mapbox-vector-tile/vector-tile-layer.js
|
|
260
268
|
var VectorTileLayer = class {
|
|
269
|
+
version;
|
|
270
|
+
name;
|
|
271
|
+
extent;
|
|
272
|
+
length;
|
|
273
|
+
_pbf;
|
|
274
|
+
_keys;
|
|
275
|
+
_values;
|
|
276
|
+
_features;
|
|
261
277
|
constructor(pbf, end) {
|
|
262
278
|
this.version = 1;
|
|
263
279
|
this.name = "";
|
|
@@ -312,6 +328,7 @@ function readValueMessage(pbf) {
|
|
|
312
328
|
|
|
313
329
|
// dist/lib/mapbox-vector-tile/vector-tile.js
|
|
314
330
|
var VectorTile = class {
|
|
331
|
+
layers;
|
|
315
332
|
constructor(pbf, end) {
|
|
316
333
|
this.layers = pbf.readFields(readTile, {}, end);
|
|
317
334
|
}
|
|
@@ -415,6 +432,15 @@ var x;
|
|
|
415
432
|
var y;
|
|
416
433
|
var i;
|
|
417
434
|
var VectorTileFeature2 = class {
|
|
435
|
+
properties;
|
|
436
|
+
extent;
|
|
437
|
+
type;
|
|
438
|
+
id;
|
|
439
|
+
_pbf;
|
|
440
|
+
_geometry;
|
|
441
|
+
_keys;
|
|
442
|
+
_values;
|
|
443
|
+
_geometryInfo;
|
|
418
444
|
// eslint-disable-next-line max-params
|
|
419
445
|
constructor(pbf, end, extent, keys, values, geometryInfo) {
|
|
420
446
|
this.properties = {};
|
|
@@ -521,6 +547,14 @@ var VectorTileFeature2 = class {
|
|
|
521
547
|
|
|
522
548
|
// dist/lib/binary-vector-tile/vector-tile-layer.js
|
|
523
549
|
var VectorTileLayer2 = class {
|
|
550
|
+
version;
|
|
551
|
+
name;
|
|
552
|
+
extent;
|
|
553
|
+
length;
|
|
554
|
+
_pbf;
|
|
555
|
+
_keys;
|
|
556
|
+
_values;
|
|
557
|
+
_features;
|
|
524
558
|
constructor(pbf, end) {
|
|
525
559
|
this.version = 1;
|
|
526
560
|
this.name = "";
|
|
@@ -577,6 +611,7 @@ function readValueMessage2(pbf) {
|
|
|
577
611
|
|
|
578
612
|
// dist/lib/binary-vector-tile/vector-tile.js
|
|
579
613
|
var VectorTile2 = class {
|
|
614
|
+
layers;
|
|
580
615
|
constructor(pbf, end) {
|
|
581
616
|
this.layers = pbf.readFields(readTile2, {}, end);
|
|
582
617
|
}
|
|
@@ -725,7 +760,7 @@ function transformToLocalCoordinatesBinary(data, feature) {
|
|
|
725
760
|
}
|
|
726
761
|
|
|
727
762
|
// dist/mvt-loader.js
|
|
728
|
-
var VERSION = true ? "4.2.0-alpha.
|
|
763
|
+
var VERSION = true ? "4.2.0-alpha.5" : "latest";
|
|
729
764
|
var MVTWorkerLoader = {
|
|
730
765
|
name: "Mapbox Vector Tile",
|
|
731
766
|
id: "mvt",
|
|
@@ -965,7 +1000,7 @@ function attributeTypeToFieldType(aType) {
|
|
|
965
1000
|
}
|
|
966
1001
|
|
|
967
1002
|
// dist/tilejson-loader.js
|
|
968
|
-
var VERSION2 = true ? "4.2.0-alpha.
|
|
1003
|
+
var VERSION2 = true ? "4.2.0-alpha.5" : "latest";
|
|
969
1004
|
var TileJSONLoader = {
|
|
970
1005
|
name: "TileJSON",
|
|
971
1006
|
id: "tilejson",
|
|
@@ -998,11 +1033,16 @@ var import_loader_utils = require("@loaders.gl/loader-utils");
|
|
|
998
1033
|
var import_images = require("@loaders.gl/images");
|
|
999
1034
|
var import_mvt = require("@loaders.gl/mvt");
|
|
1000
1035
|
var MVTSource = class extends import_loader_utils.DataSource {
|
|
1036
|
+
props;
|
|
1037
|
+
url;
|
|
1038
|
+
metadataUrl = null;
|
|
1039
|
+
data;
|
|
1040
|
+
schema = "tms";
|
|
1041
|
+
metadata;
|
|
1042
|
+
extension;
|
|
1043
|
+
mimeType = null;
|
|
1001
1044
|
constructor(props) {
|
|
1002
1045
|
super(props);
|
|
1003
|
-
this.metadataUrl = null;
|
|
1004
|
-
this.schema = "tms";
|
|
1005
|
-
this.mimeType = null;
|
|
1006
1046
|
this.props = props;
|
|
1007
1047
|
this.url = (0, import_loader_utils.resolvePath)(props.url);
|
|
1008
1048
|
this.metadataUrl = props.metadataUrl === void 0 ? `${this.url}/tilejson.json` : props.metadataUrl;
|
|
@@ -1716,11 +1756,13 @@ var DEFAULT_OPTIONS = {
|
|
|
1716
1756
|
// logging level (0, 1 or 2)
|
|
1717
1757
|
};
|
|
1718
1758
|
var GeoJSONTiler = class {
|
|
1759
|
+
options;
|
|
1760
|
+
// tiles and tileCoords are part of the public API
|
|
1761
|
+
tiles = {};
|
|
1762
|
+
tileCoords = [];
|
|
1763
|
+
stats = {};
|
|
1764
|
+
total = 0;
|
|
1719
1765
|
constructor(data, options) {
|
|
1720
|
-
this.tiles = {};
|
|
1721
|
-
this.tileCoords = [];
|
|
1722
|
-
this.stats = {};
|
|
1723
|
-
this.total = 0;
|
|
1724
1766
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
1725
1767
|
options = this.options;
|
|
1726
1768
|
const debug = options.debug;
|