@loaders.gl/mvt 3.1.0-alpha.4 → 3.1.0-alpha.5

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.
Files changed (50) hide show
  1. package/dist/bundle.d.ts +1 -0
  2. package/dist/dist.min.js +1 -1
  3. package/dist/dist.min.js.map +1 -1
  4. package/dist/es5/bundle.js +1 -1
  5. package/dist/es5/bundle.js.map +1 -1
  6. package/dist/es5/helpers/binary-util-functions.js +18 -18
  7. package/dist/es5/helpers/binary-util-functions.js.map +1 -1
  8. package/dist/es5/helpers/mapbox-util-functions.js +11 -11
  9. package/dist/es5/helpers/mapbox-util-functions.js.map +1 -1
  10. package/dist/es5/index.js +2 -2
  11. package/dist/es5/lib/binary-vector-tile/features-to-binary.js +130 -177
  12. package/dist/es5/lib/binary-vector-tile/features-to-binary.js.map +1 -1
  13. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js +104 -131
  14. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js.map +1 -1
  15. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js +15 -23
  16. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js.map +1 -1
  17. package/dist/es5/lib/binary-vector-tile/vector-tile.js +8 -8
  18. package/dist/es5/lib/binary-vector-tile/vector-tile.js.map +1 -1
  19. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js +147 -157
  20. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -1
  21. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js +15 -23
  22. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js.map +1 -1
  23. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js +8 -8
  24. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js.map +1 -1
  25. package/dist/es5/lib/parse-mvt.js +33 -35
  26. package/dist/es5/lib/parse-mvt.js.map +1 -1
  27. package/dist/es5/mvt-loader.js +5 -38
  28. package/dist/es5/mvt-loader.js.map +1 -1
  29. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js +2 -2
  30. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js.map +1 -1
  31. package/dist/esm/lib/mapbox-vector-tile/vector-tile-feature.js +3 -3
  32. package/dist/esm/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -1
  33. package/dist/esm/mvt-loader.js +1 -1
  34. package/dist/helpers/binary-util-functions.d.ts +38 -0
  35. package/dist/helpers/mapbox-util-functions.d.ts +28 -0
  36. package/dist/index.d.ts +1 -0
  37. package/dist/lib/binary-vector-tile/features-to-binary.d.ts +184 -0
  38. package/dist/lib/binary-vector-tile/vector-tile-feature.d.ts +35 -0
  39. package/dist/lib/binary-vector-tile/vector-tile-layer.d.ts +22 -0
  40. package/dist/lib/binary-vector-tile/vector-tile.d.ts +8 -0
  41. package/dist/lib/mapbox-vector-tile/vector-tile-feature.d.ts +26 -0
  42. package/dist/lib/mapbox-vector-tile/vector-tile-layer.d.ts +19 -0
  43. package/dist/lib/mapbox-vector-tile/vector-tile.d.ts +8 -0
  44. package/dist/lib/parse-mvt.d.ts +84 -0
  45. package/dist/lib/types.d.ts +91 -0
  46. package/dist/mvt-loader.d.ts +9 -0
  47. package/dist/mvt-worker.js +1 -1
  48. package/dist/mvt-worker.js.map +1 -1
  49. package/dist/workers/mvt-worker.d.ts +1 -0
  50. package/package.json +6 -5
@@ -0,0 +1 @@
1
+ declare const moduleExports: any;
package/dist/dist.min.js CHANGED
@@ -1,4 +1,4 @@
1
1
  !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var i=e();for(var n in i)("object"==typeof exports?exports:t)[n]=i[n]}}(window,(function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=2)}([function(t,e,i){"use strict";t.exports=r;var n=i(3);function r(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}r.Varint=0,r.Fixed64=1,r.Bytes=2,r.Fixed32=5;var s="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function o(t){return t.type===r.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function u(t,e,i){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(n);for(var r=i.pos-1;r>=t;r--)i.buf[r+n]=i.buf[r]}function h(t,e){for(var i=0;i<t.length;i++)e.writeVarint(t[i])}function l(t,e){for(var i=0;i<t.length;i++)e.writeSVarint(t[i])}function f(t,e){for(var i=0;i<t.length;i++)e.writeFloat(t[i])}function p(t,e){for(var i=0;i<t.length;i++)e.writeDouble(t[i])}function c(t,e){for(var i=0;i<t.length;i++)e.writeBoolean(t[i])}function d(t,e){for(var i=0;i<t.length;i++)e.writeFixed32(t[i])}function y(t,e){for(var i=0;i<t.length;i++)e.writeSFixed32(t[i])}function x(t,e){for(var i=0;i<t.length;i++)e.writeFixed64(t[i])}function g(t,e){for(var i=0;i<t.length;i++)e.writeSFixed64(t[i])}function v(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function w(t,e,i){t[i]=e,t[i+1]=e>>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function b(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}r.prototype={destroy:function(){this.buf=null},readFields:function(t,e,i){for(i=i||this.length;this.pos<i;){var n=this.readVarint(),r=n>>3,s=this.pos;this.type=7&n,t(r,e,this),this.pos===s&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=v(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=b(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=v(this.buf,this.pos)+4294967296*v(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=v(this.buf,this.pos)+4294967296*b(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=n.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=n.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,n=this.buf;return e=127&(i=n[this.pos++]),i<128?e:(e|=(127&(i=n[this.pos++]))<<7,i<128?e:(e|=(127&(i=n[this.pos++]))<<14,i<128?e:(e|=(127&(i=n[this.pos++]))<<21,i<128?e:function(t,e,i){var n,r,s=i.buf;if(r=s[i.pos++],n=(112&r)>>4,r<128)return a(t,n,e);if(r=s[i.pos++],n|=(127&r)<<3,r<128)return a(t,n,e);if(r=s[i.pos++],n|=(127&r)<<10,r<128)return a(t,n,e);if(r=s[i.pos++],n|=(127&r)<<17,r<128)return a(t,n,e);if(r=s[i.pos++],n|=(127&r)<<24,r<128)return a(t,n,e);if(r=s[i.pos++],n|=(1&r)<<31,r<128)return a(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=n[this.pos]))<<28,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>=12&&s?function(t,e,i){return s.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){var n="",r=e;for(;r<i;){var s,o,a,u=t[r],h=null,l=u>239?4:u>223?3:u>191?2:1;if(r+l>i)break;1===l?u<128&&(h=u):2===l?128==(192&(s=t[r+1]))&&(h=(31&u)<<6|63&s)<=127&&(h=null):3===l?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&((h=(15&u)<<12|(63&s)<<6|63&o)<=2047||h>=55296&&h<=57343)&&(h=null)):4===l&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&((h=(15&u)<<18|(63&s)<<12|(63&o)<<6|63&a)<=65535||h>=1114112)&&(h=null)),null===h?(h=65533,l=1):h>65535&&(h-=65536,n+=String.fromCharCode(h>>>10&1023|55296),h=56320|1023&h),n+=String.fromCharCode(h),r+=l}return n}(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!==r.Bytes)return t.push(this.readVarint(e));var i=o(this);for(t=t||[];this.pos<i;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==r.Bytes)return t.push(this.readSVarint());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==r.Bytes)return t.push(this.readBoolean());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==r.Bytes)return t.push(this.readFloat());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==r.Bytes)return t.push(this.readDouble());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==r.Bytes)return t.push(this.readFixed32());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==r.Bytes)return t.push(this.readSFixed32());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==r.Bytes)return t.push(this.readFixed64());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==r.Bytes)return t.push(this.readSFixed64());var e=o(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===r.Varint)for(;this.buf[this.pos++]>127;);else if(e===r.Bytes)this.pos=this.readVarint()+this.pos;else if(e===r.Fixed32)this.pos+=4;else{if(e!==r.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},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 i=new Uint8Array(e);i.set(this.buf),this.buf=i,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),w(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),w(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),w(this.buf,-1&t,this.pos),w(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),w(this.buf,-1&t,this.pos),w(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var i,n;t>=0?(i=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,n=n+1|0));if(t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos]=127&t}(i,0,e),function(t,e){var i=(7&t)<<4;if(e.buf[e.pos++]|=i|((t>>>=3)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;e.buf[e.pos++]=127&t}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var n,r,s=0;s<e.length;s++){if((n=e.charCodeAt(s))>55295&&n<57344){if(!r){n>56319||s+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):r=n;continue}if(n<56320){t[i++]=239,t[i++]=191,t[i++]=189,r=n;continue}n=r-55296<<10|n-56320|65536,r=null}else r&&(t[i++]=239,t[i++]=191,t[i++]=189,r=null);n<128?t[i++]=n:(n<2048?t[i++]=n>>6|192:(n<65536?t[i++]=n>>12|224:(t[i++]=n>>18|240,t[i++]=n>>12&63|128),t[i++]=n>>6&63|128),t[i++]=63&n|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&u(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),n.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),n.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 i=0;i<e;i++)this.buf[this.pos++]=t[i]},writeRawMessage:function(t,e){this.pos++;var i=this.pos;t(e,this);var n=this.pos-i;n>=128&&u(i,n,this),this.pos=i-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,i){this.writeTag(t,r.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,h,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,c,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,f,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,p,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,d,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,y,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,x,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,r.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,r.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,r.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,r.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,r.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,r.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,r.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,r.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,r.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,r.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},,function(t,e,i){const n=i(4);globalThis.loaders=globalThis.loaders||{},t.exports=Object.assign(globalThis.loaders,n)},function(t,e){
2
2
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
3
- e.read=function(t,e,i,n,r){var s,o,a=8*r-n-1,u=(1<<a)-1,h=u>>1,l=-7,f=i?r-1:0,p=i?-1:1,c=t[e+f];for(f+=p,s=c&(1<<-l)-1,c>>=-l,l+=a;l>0;s=256*s+t[e+f],f+=p,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=256*o+t[e+f],f+=p,l-=8);if(0===s)s=1-h;else{if(s===u)return o?NaN:1/0*(c?-1:1);o+=Math.pow(2,n),s-=h}return(c?-1:1)*o*Math.pow(2,s-n)},e.write=function(t,e,i,n,r,s){var o,a,u,h=8*s-r-1,l=(1<<h)-1,f=l>>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,c=n?0:s-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+f>=1?p/u:p*Math.pow(2,1-f))*u>=2&&(o++,u/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(e*u-1)*Math.pow(2,r),o+=f):(a=e*Math.pow(2,f-1)*Math.pow(2,r),o=0));r>=8;t[i+c]=255&a,c+=d,a/=256,r-=8);for(o=o<<r|a,h+=r;h>0;t[i+c]=255&o,c+=d,o/=256,h-=8);t[i+c-d]|=128*y}},function(t,e,i){"use strict";function n(t){let e=0;for(let i,n,r=0,s=t.length-1;r<t.length;s=r++)i=t[r],n=t[s],e+=(n[0]-i[0])*(i[1]+n[1]);return e}function r(t,e,i){e&&i&&(1===t?e.id=i.readVarint():2===t?function(t,e){const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=e._keys[t.readVarint()],n=e._values[t.readVarint()];e.properties[i]=n}}(i,e):3===t?e.type=i.readVarint():4===t&&(e._geometry=i.pos))}function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}i.r(e),i.d(e,"MVTLoader",(function(){return wt})),i.d(e,"MVTWorkerLoader",(function(){return vt}));class o{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(t,e,i,n,o){s(this,"properties",void 0),s(this,"extent",void 0),s(this,"type",void 0),s(this,"id",void 0),s(this,"_pbf",void 0),s(this,"_geometry",void 0),s(this,"_keys",void 0),s(this,"_values",void 0),this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=n,this._values=o,t.readFields(r,this,e)}loadGeometry(){const t=this._pbf;t.pos=this._geometry;const e=t.readVarint()+t.pos;let i=1,n=0,r=0,s=0;const o=[];let a;for(;t.pos<e;){if(n<=0){const e=t.readVarint();i=7&e,n=e>>3}if(n--,1===i||2===i)r+=t.readSVarint(),s+=t.readSVarint(),1===i&&(a&&o.push(a),a=[]),a&&a.push([r,s]);else{if(7!==i)throw new Error("unknown command "+i);a&&a.push(a[0].slice())}}return a&&o.push(a),o}bbox(){const t=this._pbf;t.pos=this._geometry;const e=t.readVarint()+t.pos;let i=1,n=0,r=0,s=0,o=1/0,a=-1/0,u=1/0,h=-1/0;for(;t.pos<e;){if(n<=0){const e=t.readVarint();i=7&e,n=e>>3}if(n--,1===i||2===i)r+=t.readSVarint(),s+=t.readSVarint(),r<o&&(o=r),r>a&&(a=r),s<u&&(u=s),s>h&&(h=s);else if(7!==i)throw new Error("unknown command "+i)}return[o,u,a,h]}_toGeoJSON(t){let e,i,r=this.loadGeometry(),s=o.types[this.type];switch(this.type){case 1:const s=[];for(e=0;e<r.length;e++)s[e]=r[e][0];r=s,t(r,this);break;case 2:for(e=0;e<r.length;e++)t(r[e],this);break;case 3:for(r=function(t){const e=t.length;if(e<=1)return[t];const i=[];let r,s;for(let o=0;o<e;o++){const e=n(t[o]);0!==e&&(void 0===s&&(s=e<0),s===e<0?(r&&i.push(r),r=[t[o]]):r&&r.push(t[o]))}return r&&i.push(r),i}(r),e=0;e<r.length;e++)for(i=0;i<r[e].length;i++)t(r[e][i],this)}1===r.length?r=r[0]:s="Multi"+s;const a={type:"Feature",geometry:{type:s,coordinates:r},properties:this.properties};return null!==this.id&&(a.id=this.id),a}toGeoJSON(t){if("function"==typeof t)return this._toGeoJSON(t);const{x:e,y:i,z:n}=t,r=this.extent*Math.pow(2,n),s=this.extent*e,o=this.extent*i;return this._toGeoJSON((function(t){for(let e=0;e<t.length;e++){const i=t[e];i[0]=360*(i[0]+s)/r-180;const n=180-360*(i[1]+o)/r;i[1]=360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90}}))}}function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class u{constructor(t,e){a(this,"version",void 0),a(this,"name",void 0),a(this,"extent",void 0),a(this,"length",void 0),a(this,"_pbf",void 0),a(this,"_keys",void 0),a(this,"_values",void 0),a(this,"_features",void 0),this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(h,this,e),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];const e=this._pbf.readVarint()+this._pbf.pos;return new o(this._pbf,e,this.extent,this._keys,this._values)}}function h(t,e,i){e&&i&&(15===t?e.version=i.readVarint():1===t?e.name=i.readString():5===t?e.extent=i.readVarint():2===t?e._features.push(i.pos):3===t?e._keys.push(i.readString()):4===t&&e._values.push(function(t){let e=null;const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=t.readVarint()>>3;e=1===i?t.readString():2===i?t.readFloat():3===i?t.readDouble():4===i?t.readVarint64():5===i?t.readVarint():6===i?t.readSVarint():7===i?t.readBoolean():null}return e}(i)))}class l{constructor(t,e){var i,n,r;r=void 0,(n="layers")in(i=this)?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,this.layers=t.readFields(f,{},e)}}function f(t,e,i){if(3===t&&i){const t=new u(i,i.readVarint()+i.pos);t.length&&e&&(e[t.name]=t)}}Math.PI,Math.PI;const p={};p.EPSILON=1e-12,p.debug=!1,p.precision=4,p.printTypes=!1,p.printDegrees=!1,p.printRowMajor=!0;function c(t,e={}){const{start:i=0,end:n=t.length}=e,r=e.size||2;let s=0;for(let e=i,o=n-r;e<n;e+=r)s+=(t[e]-t[o])*(t[e+1]+t[o+1]),o=e;return s/2}function d(t,e,i,n){i=i||2;const r=e&&e.length,s=r?e[0]*i:t.length;let o=y(t,0,s,i,!0,n&&n[0]);const a=[];if(!o||o.next===o.prev)return a;let u,h,l,f,p,c,d;if(r&&(o=function(t,e,i,n,r){const s=[];let o,a,u,h,l;for(o=0,a=e.length;o<a;o++)u=e[o]*n,h=o<a-1?e[o+1]*n:t.length,l=y(t,u,h,n,!1,r&&r[o+1]),l===l.next&&(l.steiner=!0),s.push(S(l));for(s.sort(F),o=0;o<s.length;o++)m(s[o],i),i=x(i,i.next);return i}(t,e,o,i,n)),t.length>80*i){f=h=t[0],p=l=t[1];for(let e=i;e<s;e+=i)c=t[e],d=t[e+1],c<f&&(f=c),d<p&&(p=d),c>h&&(h=c),d>l&&(l=d);u=Math.max(h-f,l-p),u=0!==u?1/u:0}return g(o,a,i,f,p,u),a}function y(t,e,i,n,r,s){let o,a;if(void 0===s&&(s=c(t,{start:e,end:i,size:n})),r===s<0)for(o=e;o<i;o+=n)a=Z(o,t[o],t[o+1],a);else for(o=i-n;o>=e;o-=n)a=Z(o,t[o],t[o+1],a);return a&&B(a,a.next)&&(j(a),a=a.next),a}function x(t,e){if(!t)return t;e||(e=t);let i,n=t;do{if(i=!1,n.steiner||!B(n,n.next)&&0!==I(n.prev,n,n.next))n=n.next;else{if(j(n),n=e=n.prev,n===n.next)break;i=!0}}while(i||n!==e);return e}function g(t,e,i,n,r,s,o){if(!t)return;!o&&s&&function(t,e,i,n){let r=t;do{null===r.z&&(r.z=V(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,i,n,r,s,o,a,u,h=1;do{for(r=t,t=null,u=null,n=0;r;){for(n++,o=r,s=0,i=0;i<h&&(s++,o=o.nextZ,o);i++);for(a=h;s>0||a>0&&o;)0!==s&&(0===a||!o||r.z<=o.z)?(e=r,r=r.nextZ,s--):(e=o,o=o.nextZ,a--),u?u.nextZ=e:t=e,e.prevZ=u,u=e;r=o}u.nextZ=null,h*=2}while(n>1)}(r)}(t,n,r,s);let a,u,h=t;for(;t.prev!==t.next;)if(a=t.prev,u=t.next,s?w(t,n,r,s):v(t))e.push(a.i/i),e.push(t.i/i),e.push(u.i/i),j(t),t=u.next,h=u.next;else if((t=u)===h){o?1===o?g(t=b(x(t),e,i),e,i,n,r,s,2):2===o&&P(t,e,i,n,r,s):g(x(t),e,i,n,r,s,1);break}}function v(t){const e=t.prev,i=t,n=t.next;if(I(e,i,n)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(M(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&I(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function w(t,e,i,n){const r=t.prev,s=t,o=t.next;if(I(r,s,o)>=0)return!1;const a=r.x<s.x?r.x<o.x?r.x:o.x:s.x<o.x?s.x:o.x,u=r.y<s.y?r.y<o.y?r.y:o.y:s.y<o.y?s.y:o.y,h=r.x>s.x?r.x>o.x?r.x:o.x:s.x>o.x?s.x:o.x,l=r.y>s.y?r.y>o.y?r.y:o.y:s.y>o.y?s.y:o.y,f=V(a,u,e,i,n),p=V(h,l,e,i,n);let c=t.prevZ,d=t.nextZ;for(;c&&c.z>=f&&d&&d.z<=p;){if(c!==t.prev&&c!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,c.x,c.y)&&I(c.prev,c,c.next)>=0)return!1;if(c=c.prevZ,d!==t.prev&&d!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,d.x,d.y)&&I(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;c&&c.z>=f;){if(c!==t.prev&&c!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,c.x,c.y)&&I(c.prev,c,c.next)>=0)return!1;c=c.prevZ}for(;d&&d.z<=p;){if(d!==t.prev&&d!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,d.x,d.y)&&I(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function b(t,e,i){let n=t;do{const r=n.prev,s=n.next.next;!B(r,s)&&C(r,n,n.next,s)&&z(r,s)&&z(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),j(n),j(n.next),n=t=s),n=n.next}while(n!==t);return x(n)}function P(t,e,i,n,r,s){let o=t;do{let t=o.next.next;for(;t!==o.prev;){if(o.i!==t.i&&k(o,t)){let a=O(o,t);return o=x(o,o.next),a=x(a,a.next),g(o,e,i,n,r,s),void g(a,e,i,n,r,s)}t=t.next}o=o.next}while(o!==t)}function F(t,e){return t.x-e.x}function m(t,e){if(e=function(t,e){let i=e;const n=t.x,r=t.y;let s,o=-1/0;do{if(r<=i.y&&r>=i.next.y&&i.next.y!==i.y){const t=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=n&&t>o){if(o=t,t===n){if(r===i.y)return i;if(r===i.next.y)return i.next}s=i.x<i.next.x?i:i.next}}i=i.next}while(i!==e);if(!s)return null;if(n===o)return s;const a=s,u=s.x,h=s.y;let l,f=1/0;i=s;do{n>=i.x&&i.x>=u&&n!==i.x&&M(r<h?n:o,r,u,h,r<h?o:n,r,i.x,i.y)&&(l=Math.abs(r-i.y)/(n-i.x),z(i,t)&&(l<f||l===f&&(i.x>s.x||i.x===s.x&&_(s,i)))&&(s=i,f=l)),i=i.next}while(i!==a);return s}(t,e)){const i=O(e,t);x(e,e.next),x(i,i.next)}}function _(t,e){return I(t.prev,t,e.prev)<0&&I(e.next,t,t.next)<0}function V(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function S(t){let e=t,i=t;do{(e.x<i.x||e.x===i.x&&e.y<i.y)&&(i=e),e=e.next}while(e!==t);return i}function M(t,e,i,n,r,s,o,a){return(r-o)*(e-a)-(t-o)*(s-a)>=0&&(t-o)*(n-a)-(i-o)*(e-a)>=0&&(i-o)*(s-a)-(r-o)*(n-a)>=0}function k(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&C(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(z(t,e)&&z(e,t)&&function(t,e){let i=t,n=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)&&(I(t.prev,t,e.prev)||I(t,e.prev,e))||B(t,e)&&I(t.prev,t,t.next)>0&&I(e.prev,e,e.next)>0)}function I(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function B(t,e){return t.x===e.x&&t.y===e.y}function C(t,e,i,n){const r=T(I(t,e,i)),s=T(I(t,e,n)),o=T(I(i,n,t)),a=T(I(i,n,e));return r!==s&&o!==a||(!(0!==r||!D(t,i,e))||(!(0!==s||!D(t,n,e))||(!(0!==o||!D(i,t,n))||!(0!==a||!D(i,e,n)))))}function D(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function T(t){return t>0?1:t<0?-1:0}function z(t,e){return I(t.prev,t,t.next)<0?I(t,e,t.next)>=0&&I(t,t.prev,e)>=0:I(t,e,t.prev)<0||I(t,t.next,e)<0}function O(t,e){const i=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function Z(t,e,i,n){const r=new A(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function j(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)}function A(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function N(t){const e=t.lines.length;if(e<=1)return{data:t.data,areas:[[c(t.data)]],lines:[t.lines]};const i=[],n=[];let r,s=[],o=[],a=0;for(let u,h,l=0;l<e;l++){h=t.lines[l]-a,u=t.lines[l+1]-a||t.data.length;const e=c(t.data.slice(h,u));if(0!==e)void 0===r&&(r=e<0),r===e<0?(o.length&&(i.push(s),n.push(o)),o=[h],s=[e]):(s.push(e),o.push(h));else{const e=t.data.slice(0,h),i=t.data.slice(u);t.data=e.concat(i),a+=u-h}}return s&&i.push(s),o.length&&n.push(o),{areas:i,lines:n,data:t.data}}function U(t,e,i,n){for(let r=0,s=t.length;r<s;r+=2){t[r]=360*(t[r]+e)/n-180;const s=180-360*(t[r+1]+i)/n;t[r+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function L(t,e,i){e&&i&&(1===t?e.id=i.readVarint():2===t?function(t,e){const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=e._keys[t.readVarint()],n=e._values[t.readVarint()];e.properties[i]=n}}(i,e):3===t?e.type=i.readVarint():4===t&&(e._geometry=i.pos))}function E(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}let G,R,J,K,W,q,H;class Q{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(t,e,i,n,r,s){E(this,"properties",void 0),E(this,"extent",void 0),E(this,"type",void 0),E(this,"id",void 0),E(this,"_pbf",void 0),E(this,"_geometry",void 0),E(this,"_keys",void 0),E(this,"_values",void 0),E(this,"_firstPassData",void 0),this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=n,this._values=r,this._firstPassData=s,t.readFields(L,this,e)}loadGeometry(){const t=this._pbf;t.pos=this._geometry,G=t.readVarint()+t.pos,R=1,K=0,W=0,q=0,H=0;const e=[],i=[];for(;t.pos<G;)if(K<=0&&(J=t.readVarint(),R=7&J,K=J>>3),K--,1===R||2===R)W+=t.readSVarint(),q+=t.readSVarint(),1===R&&e.push(H),i.push(W,q),H+=2;else{if(7!==R)throw new Error("unknown command "+R);if(H>0){const t=e[e.length-1];i.push(i[t],i[t+1]),H+=2}}return{data:i,lines:e}}_toBinaryCoordinates(t){let e=this.loadGeometry();t(e.data,this);switch(this.type){case 1:this._firstPassData.pointFeaturesCount++,this._firstPassData.pointPositionsCount+=e.lines.length;break;case 2:this._firstPassData.lineFeaturesCount++,this._firstPassData.linePathsCount+=e.lines.length,this._firstPassData.linePositionsCount+=e.data.length/2;break;case 3:const t=N(e);this._firstPassData.polygonFeaturesCount++,this._firstPassData.polygonObjectsCount+=t.lines.length;for(const e of t.lines)this._firstPassData.polygonRingsCount+=e.length;this._firstPassData.polygonPositionsCount+=t.data.length/2,e=t}e.type=Q.types[this.type],e.lines.length>1&&(e.type="Multi"+e.type);const i={type:"Feature",geometry:e,properties:this.properties};return null!==this.id&&(i.id=this.id),i}toBinaryCoordinates(t){return"function"==typeof t?this._toBinaryCoordinates(t):this._toBinaryCoordinates(U)}}function X(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class Y{constructor(t,e){X(this,"version",void 0),X(this,"name",void 0),X(this,"extent",void 0),X(this,"length",void 0),X(this,"_pbf",void 0),X(this,"_keys",void 0),X(this,"_values",void 0),X(this,"_features",void 0),this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields($,this,e),this.length=this._features.length}feature(t,e){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];const i=this._pbf.readVarint()+this._pbf.pos;return new Q(this._pbf,i,this.extent,this._keys,this._values,e)}}function $(t,e,i){e&&i&&(15===t?e.version=i.readVarint():1===t?e.name=i.readString():5===t?e.extent=i.readVarint():2===t?e._features.push(i.pos):3===t?e._keys.push(i.readString()):4===t&&e._values.push(function(t){let e=null;const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=t.readVarint()>>3;e=1===i?t.readString():2===i?t.readFloat():3===i?t.readDouble():4===i?t.readVarint64():5===i?t.readVarint():6===i?t.readSVarint():7===i?t.readBoolean():null}return e}(i)))}class tt{constructor(t,e){var i,n,r;r=void 0,(n="layers")in(i=this)?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,this.layers=t.readFields(et,{},e)}}function et(t,e,i){if(3===t&&i){const t=new Y(i,i.readVarint()+i.pos);t.length&&e&&(e[t.name]=t)}}function it(t){const e={};for(const i of t)if(i.properties)for(const t in i.properties){const n=e[t];if(n||void 0===n){const n=i.properties[t];e[t]=lt(n)}}return Object.keys(e).filter(t=>e[t])}function nt(t,e,i){const{pointPositionsCount:n,pointFeaturesCount:r,linePositionsCount:s,linePathsCount:o,lineFeaturesCount:a,polygonPositionsCount:u,polygonObjectsCount:h,polygonRingsCount:l,polygonFeaturesCount:f}=e,{numericPropKeys:p,PositionDataType:c=Float32Array}=i,d=t[0]&&"id"in t[0],y=t.length>65535?Uint32Array:Uint16Array,x={positions:new c(2*n),globalFeatureIds:new y(n),featureIds:r>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},g={pathIndices:s>65535?new Uint32Array(o+1):new Uint16Array(o+1),positions:new c(2*s),globalFeatureIds:new y(s),featureIds:a>65535?new Uint32Array(s):new Uint16Array(s),numericProps:{},properties:[],fields:[]},v={polygonIndices:u>65535?new Uint32Array(h+1):new Uint16Array(h+1),primitivePolygonIndices:u>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new c(2*u),triangles:[],globalFeatureIds:new y(u),featureIds:f>65535?new Uint32Array(u):new Uint16Array(u),numericProps:{},properties:[],fields:[]};for(const t of[x,g,v])for(const e of p)t.numericProps[e]=new Float32Array(t.positions.length/2);g.pathIndices[o]=s,v.polygonIndices[h]=u,v.primitivePolygonIndices[l]=u;const w={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(const e of t){const t=e.geometry,i=e.properties||{};switch(t.type){case"Point":case"MultiPoint":rt(t,x,w,2,i),x.properties.push(ht(i,p)),d&&x.fields.push({id:e.id}),w.pointFeature++;break;case"LineString":case"MultiLineString":st(t,g,w,2,i),g.properties.push(ht(i,p)),d&&g.fields.push({id:e.id}),w.lineFeature++;break;case"Polygon":case"MultiPolygon":ot(t,v,w,2,i),v.properties.push(ht(i,p)),d&&v.fields.push({id:e.id}),w.polygonFeature++;break;default:throw new Error("Invalid geometry type")}w.feature++}return function(t,e,i,n){const r={points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1}},lines:{...e,pathIndices:{value:e.pathIndices,size:1},positions:{value:e.positions,size:n},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1}},polygons:{...i,polygonIndices:{value:i.polygonIndices,size:1},primitivePolygonIndices:{value:i.primitivePolygonIndices,size:1},positions:{value:i.positions,size:n},triangles:{value:new Uint32Array(i.triangles),size:1},globalFeatureIds:{value:i.globalFeatureIds,size:1},featureIds:{value:i.featureIds,size:1}}};for(const t in r)for(const e in r[t].numericProps)r[t].numericProps[e]={value:r[t].numericProps[e],size:1};return r}(x,g,v,2)}function rt(t,e,i,n,r){e.positions.set(t.data,i.pointPosition*n);const s=t.data.length/n;ut(e,r,i.pointPosition,s),e.globalFeatureIds.fill(i.feature,i.pointPosition,i.pointPosition+s),e.featureIds.fill(i.pointFeature,i.pointPosition,i.pointPosition+s),i.pointPosition+=s}function st(t,e,i,n,r){e.positions.set(t.data,i.linePosition*n);const s=t.data.length/n;ut(e,r,i.linePosition,s),e.globalFeatureIds.fill(i.feature,i.linePosition,i.linePosition+s),e.featureIds.fill(i.lineFeature,i.linePosition,i.linePosition+s);for(let r=0,s=t.lines.length;r<s;++r){const o=t.lines[r],a=r===s-1?t.data.length:t.lines[r+1];e.pathIndices[i.linePath++]=i.linePosition,i.linePosition+=(a-o)/n}}function ot(t,e,i,n,r){e.positions.set(t.data,i.polygonPosition*n);const s=t.data.length/n;ut(e,r,i.polygonPosition,s),e.globalFeatureIds.fill(i.feature,i.polygonPosition,i.polygonPosition+s),e.featureIds.fill(i.polygonFeature,i.polygonPosition,i.polygonPosition+s);for(let r=0,s=t.lines.length;r<s;++r){const s=i.polygonPosition;e.polygonIndices[i.polygonObject++]=s;const o=t.areas[r],a=t.lines[r],u=t.lines[r+1];for(let r=0,s=a.length;r<s;++r){const o=a[r],h=r===s-1?void 0===u?t.data.length:u[0]:a[r+1];e.primitivePolygonIndices[i.polygonRing++]=i.polygonPosition,i.polygonPosition+=(h-o)/n}at(e,o,a,{startPosition:s,endPosition:i.polygonPosition,coordLength:n})}}function at(t,e,i,{startPosition:n,endPosition:r,coordLength:s}){const o=n*s,a=r*s,u=t.positions.subarray(o,a),h=i[0],l=d(u,i.slice(1).map(t=>(t-h)/s),s,e);for(let e=0,i=l.length;e<i;++e)t.triangles.push(n+l[e])}function ut(t,e,i,n){for(const r in t.numericProps)r in e&&t.numericProps[r].fill(e[r],i,i+n)}function ht(t,e){const i={};for(const n in t)e.includes(n)||(i[n]=t[n]);return i}function lt(t){return Number.isFinite(t)}var ft=i(0),pt=i.n(ft);function ct(t,e){e=function(t){if(t){const e="wgs84"===(t={...t,mvt:t.mvt||{},gis:t.gis||{}}).coordinates,{tileIndex:i}=t,n=i&&Number.isFinite(i.x)&&Number.isFinite(i.y)&&Number.isFinite(i.z);if(e&&!n)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property. Check documentation.")}return t}(e);const i=[];if(e){const n="binary"===e.gis.format,r={pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength>0){const s=n?new tt(new pt.a(t)):new l(new pt.a(t)),o=e.mvt;(Array.isArray(o.layers)?o.layers:Object.keys(s.layers)).forEach(t=>{const e=s.layers[t],a={...o,layerName:t};if(e)for(let t=0;t<e.length;t++){const s=e.feature(t,r),o=n?yt(s,a):dt(s,a);i.push(o)}})}if(n){const e=function(t,e,i){return nt(t,e,{numericPropKeys:i?i.numericPropKeys:it(t),PositionDataType:i?i.PositionDataType:Float32Array})}(i,r);return e.byteLength=t.byteLength,e}}return i}function dt(t,e){const i=t.toGeoJSON("wgs84"===e.coordinates?e.tileIndex:xt);return e.layerProperty&&(i.properties[e.layerProperty]=e.layerName),i}function yt(t,e){const i=t.toBinaryCoordinates("wgs84"===e.coordinates?e.tileIndex:gt);return e.layerProperty&&(i.properties[e.layerProperty]=e.layerName),i}function xt(t,e){const{extent:i}=e;for(let e=0;e<t.length;e++){const n=t[e];n[0]/=i,n[1]/=i}}function gt(t,e){const{extent:i}=e;for(let e=0,n=t.length;e<n;++e)t[e]/=i}const vt={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:"3.1.0-alpha.4",extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{coordinates:"local",layerProperty:"layerName",layers:null,tileIndex:null}}},wt={...vt,parse:async(t,e)=>ct(t,e),parseSync:ct,binary:!0}}])}));
3
+ e.read=function(t,e,i,n,r){var s,o,a=8*r-n-1,u=(1<<a)-1,h=u>>1,l=-7,f=i?r-1:0,p=i?-1:1,c=t[e+f];for(f+=p,s=c&(1<<-l)-1,c>>=-l,l+=a;l>0;s=256*s+t[e+f],f+=p,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=256*o+t[e+f],f+=p,l-=8);if(0===s)s=1-h;else{if(s===u)return o?NaN:1/0*(c?-1:1);o+=Math.pow(2,n),s-=h}return(c?-1:1)*o*Math.pow(2,s-n)},e.write=function(t,e,i,n,r,s){var o,a,u,h=8*s-r-1,l=(1<<h)-1,f=l>>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,c=n?0:s-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+f>=1?p/u:p*Math.pow(2,1-f))*u>=2&&(o++,u/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(e*u-1)*Math.pow(2,r),o+=f):(a=e*Math.pow(2,f-1)*Math.pow(2,r),o=0));r>=8;t[i+c]=255&a,c+=d,a/=256,r-=8);for(o=o<<r|a,h+=r;h>0;t[i+c]=255&o,c+=d,o/=256,h-=8);t[i+c-d]|=128*y}},function(t,e,i){"use strict";function n(t){let e=0;for(let i,n,r=0,s=t.length-1;r<t.length;s=r++)i=t[r],n=t[s],e+=(n[0]-i[0])*(i[1]+n[1]);return e}function r(t,e,i){e&&i&&(1===t?e.id=i.readVarint():2===t?function(t,e){const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=e._keys[t.readVarint()],n=e._values[t.readVarint()];e.properties[i]=n}}(i,e):3===t?e.type=i.readVarint():4===t&&(e._geometry=i.pos))}function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}i.r(e),i.d(e,"MVTLoader",(function(){return wt})),i.d(e,"MVTWorkerLoader",(function(){return vt}));class o{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(t,e,i,n,o){s(this,"properties",void 0),s(this,"extent",void 0),s(this,"type",void 0),s(this,"id",void 0),s(this,"_pbf",void 0),s(this,"_geometry",void 0),s(this,"_keys",void 0),s(this,"_values",void 0),this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=n,this._values=o,t.readFields(r,this,e)}loadGeometry(){const t=this._pbf;t.pos=this._geometry;const e=t.readVarint()+t.pos;let i=1,n=0,r=0,s=0;const o=[];let a;for(;t.pos<e;){if(n<=0){const e=t.readVarint();i=7&e,n=e>>3}if(n--,1===i||2===i)r+=t.readSVarint(),s+=t.readSVarint(),1===i&&(a&&o.push(a),a=[]),a&&a.push([r,s]);else{if(7!==i)throw new Error("unknown command "+i);a&&a.push(a[0].slice())}}return a&&o.push(a),o}bbox(){const t=this._pbf;t.pos=this._geometry;const e=t.readVarint()+t.pos;let i=1,n=0,r=0,s=0,o=1/0,a=-1/0,u=1/0,h=-1/0;for(;t.pos<e;){if(n<=0){const e=t.readVarint();i=7&e,n=e>>3}if(n--,1===i||2===i)r+=t.readSVarint(),s+=t.readSVarint(),r<o&&(o=r),r>a&&(a=r),s<u&&(u=s),s>h&&(h=s);else if(7!==i)throw new Error("unknown command "+i)}return[o,u,a,h]}_toGeoJSON(t){let e,i,r=this.loadGeometry(),s=o.types[this.type];switch(this.type){case 1:const s=[];for(e=0;e<r.length;e++)s[e]=r[e][0];r=s,t(r,this);break;case 2:for(e=0;e<r.length;e++)t(r[e],this);break;case 3:for(r=function(t){const e=t.length;if(e<=1)return[t];const i=[];let r,s;for(let o=0;o<e;o++){const e=n(t[o]);0!==e&&(void 0===s&&(s=e<0),s===e<0?(r&&i.push(r),r=[t[o]]):r&&r.push(t[o]))}return r&&i.push(r),i}(r),e=0;e<r.length;e++)for(i=0;i<r[e].length;i++)t(r[e][i],this)}1===r.length?r=r[0]:s="Multi"+s;const a={type:"Feature",geometry:{type:s,coordinates:r},properties:this.properties};return null!==this.id&&(a.id=this.id),a}toGeoJSON(t){if("function"==typeof t)return this._toGeoJSON(t);const{x:e,y:i,z:n}=t,r=this.extent*Math.pow(2,n),s=this.extent*e,o=this.extent*i;return this._toGeoJSON((function(t){for(let e=0;e<t.length;e++){const i=t[e];i[0]=360*(i[0]+s)/r-180;const n=180-360*(i[1]+o)/r;i[1]=360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90}}))}}function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class u{constructor(t,e){a(this,"version",void 0),a(this,"name",void 0),a(this,"extent",void 0),a(this,"length",void 0),a(this,"_pbf",void 0),a(this,"_keys",void 0),a(this,"_values",void 0),a(this,"_features",void 0),this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(h,this,e),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];const e=this._pbf.readVarint()+this._pbf.pos;return new o(this._pbf,e,this.extent,this._keys,this._values)}}function h(t,e,i){e&&i&&(15===t?e.version=i.readVarint():1===t?e.name=i.readString():5===t?e.extent=i.readVarint():2===t?e._features.push(i.pos):3===t?e._keys.push(i.readString()):4===t&&e._values.push(function(t){let e=null;const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=t.readVarint()>>3;e=1===i?t.readString():2===i?t.readFloat():3===i?t.readDouble():4===i?t.readVarint64():5===i?t.readVarint():6===i?t.readSVarint():7===i?t.readBoolean():null}return e}(i)))}class l{constructor(t,e){var i,n,r;r=void 0,(n="layers")in(i=this)?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,this.layers=t.readFields(f,{},e)}}function f(t,e,i){if(3===t&&i){const t=new u(i,i.readVarint()+i.pos);t.length&&e&&(e[t.name]=t)}}Math.PI,Math.PI;const p={};p.EPSILON=1e-12,p.debug=!1,p.precision=4,p.printTypes=!1,p.printDegrees=!1,p.printRowMajor=!0;function c(t,e={}){const{start:i=0,end:n=t.length}=e,r=e.size||2;let s=0;for(let e=i,o=n-r;e<n;e+=r)s+=(t[e]-t[o])*(t[e+1]+t[o+1]),o=e;return s/2}function d(t,e,i,n){i=i||2;const r=e&&e.length,s=r?e[0]*i:t.length;let o=y(t,0,s,i,!0,n&&n[0]);const a=[];if(!o||o.next===o.prev)return a;let u,h,l,f,p,c,d;if(r&&(o=function(t,e,i,n,r){const s=[];let o,a,u,h,l;for(o=0,a=e.length;o<a;o++)u=e[o]*n,h=o<a-1?e[o+1]*n:t.length,l=y(t,u,h,n,!1,r&&r[o+1]),l===l.next&&(l.steiner=!0),s.push(S(l));for(s.sort(F),o=0;o<s.length;o++)m(s[o],i),i=x(i,i.next);return i}(t,e,o,i,n)),t.length>80*i){f=h=t[0],p=l=t[1];for(let e=i;e<s;e+=i)c=t[e],d=t[e+1],c<f&&(f=c),d<p&&(p=d),c>h&&(h=c),d>l&&(l=d);u=Math.max(h-f,l-p),u=0!==u?1/u:0}return g(o,a,i,f,p,u),a}function y(t,e,i,n,r,s){let o,a;if(void 0===s&&(s=c(t,{start:e,end:i,size:n})),r===s<0)for(o=e;o<i;o+=n)a=Z(o,t[o],t[o+1],a);else for(o=i-n;o>=e;o-=n)a=Z(o,t[o],t[o+1],a);return a&&B(a,a.next)&&(j(a),a=a.next),a}function x(t,e){if(!t)return t;e||(e=t);let i,n=t;do{if(i=!1,n.steiner||!B(n,n.next)&&0!==I(n.prev,n,n.next))n=n.next;else{if(j(n),n=e=n.prev,n===n.next)break;i=!0}}while(i||n!==e);return e}function g(t,e,i,n,r,s,o){if(!t)return;!o&&s&&function(t,e,i,n){let r=t;do{null===r.z&&(r.z=V(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,i,n,r,s,o,a,u,h=1;do{for(r=t,t=null,u=null,n=0;r;){for(n++,o=r,s=0,i=0;i<h&&(s++,o=o.nextZ,o);i++);for(a=h;s>0||a>0&&o;)0!==s&&(0===a||!o||r.z<=o.z)?(e=r,r=r.nextZ,s--):(e=o,o=o.nextZ,a--),u?u.nextZ=e:t=e,e.prevZ=u,u=e;r=o}u.nextZ=null,h*=2}while(n>1)}(r)}(t,n,r,s);let a,u,h=t;for(;t.prev!==t.next;)if(a=t.prev,u=t.next,s?w(t,n,r,s):v(t))e.push(a.i/i),e.push(t.i/i),e.push(u.i/i),j(t),t=u.next,h=u.next;else if((t=u)===h){o?1===o?g(t=b(x(t),e,i),e,i,n,r,s,2):2===o&&P(t,e,i,n,r,s):g(x(t),e,i,n,r,s,1);break}}function v(t){const e=t.prev,i=t,n=t.next;if(I(e,i,n)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(M(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&I(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function w(t,e,i,n){const r=t.prev,s=t,o=t.next;if(I(r,s,o)>=0)return!1;const a=r.x<s.x?r.x<o.x?r.x:o.x:s.x<o.x?s.x:o.x,u=r.y<s.y?r.y<o.y?r.y:o.y:s.y<o.y?s.y:o.y,h=r.x>s.x?r.x>o.x?r.x:o.x:s.x>o.x?s.x:o.x,l=r.y>s.y?r.y>o.y?r.y:o.y:s.y>o.y?s.y:o.y,f=V(a,u,e,i,n),p=V(h,l,e,i,n);let c=t.prevZ,d=t.nextZ;for(;c&&c.z>=f&&d&&d.z<=p;){if(c!==t.prev&&c!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,c.x,c.y)&&I(c.prev,c,c.next)>=0)return!1;if(c=c.prevZ,d!==t.prev&&d!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,d.x,d.y)&&I(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;c&&c.z>=f;){if(c!==t.prev&&c!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,c.x,c.y)&&I(c.prev,c,c.next)>=0)return!1;c=c.prevZ}for(;d&&d.z<=p;){if(d!==t.prev&&d!==t.next&&M(r.x,r.y,s.x,s.y,o.x,o.y,d.x,d.y)&&I(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function b(t,e,i){let n=t;do{const r=n.prev,s=n.next.next;!B(r,s)&&C(r,n,n.next,s)&&z(r,s)&&z(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),j(n),j(n.next),n=t=s),n=n.next}while(n!==t);return x(n)}function P(t,e,i,n,r,s){let o=t;do{let t=o.next.next;for(;t!==o.prev;){if(o.i!==t.i&&k(o,t)){let a=O(o,t);return o=x(o,o.next),a=x(a,a.next),g(o,e,i,n,r,s),void g(a,e,i,n,r,s)}t=t.next}o=o.next}while(o!==t)}function F(t,e){return t.x-e.x}function m(t,e){if(e=function(t,e){let i=e;const n=t.x,r=t.y;let s,o=-1/0;do{if(r<=i.y&&r>=i.next.y&&i.next.y!==i.y){const t=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=n&&t>o){if(o=t,t===n){if(r===i.y)return i;if(r===i.next.y)return i.next}s=i.x<i.next.x?i:i.next}}i=i.next}while(i!==e);if(!s)return null;if(n===o)return s;const a=s,u=s.x,h=s.y;let l,f=1/0;i=s;do{n>=i.x&&i.x>=u&&n!==i.x&&M(r<h?n:o,r,u,h,r<h?o:n,r,i.x,i.y)&&(l=Math.abs(r-i.y)/(n-i.x),z(i,t)&&(l<f||l===f&&(i.x>s.x||i.x===s.x&&_(s,i)))&&(s=i,f=l)),i=i.next}while(i!==a);return s}(t,e)){const i=O(e,t);x(e,e.next),x(i,i.next)}}function _(t,e){return I(t.prev,t,e.prev)<0&&I(e.next,t,t.next)<0}function V(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function S(t){let e=t,i=t;do{(e.x<i.x||e.x===i.x&&e.y<i.y)&&(i=e),e=e.next}while(e!==t);return i}function M(t,e,i,n,r,s,o,a){return(r-o)*(e-a)-(t-o)*(s-a)>=0&&(t-o)*(n-a)-(i-o)*(e-a)>=0&&(i-o)*(s-a)-(r-o)*(n-a)>=0}function k(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&C(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(z(t,e)&&z(e,t)&&function(t,e){let i=t,n=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)&&(I(t.prev,t,e.prev)||I(t,e.prev,e))||B(t,e)&&I(t.prev,t,t.next)>0&&I(e.prev,e,e.next)>0)}function I(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function B(t,e){return t.x===e.x&&t.y===e.y}function C(t,e,i,n){const r=T(I(t,e,i)),s=T(I(t,e,n)),o=T(I(i,n,t)),a=T(I(i,n,e));return r!==s&&o!==a||(!(0!==r||!D(t,i,e))||(!(0!==s||!D(t,n,e))||(!(0!==o||!D(i,t,n))||!(0!==a||!D(i,e,n)))))}function D(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function T(t){return t>0?1:t<0?-1:0}function z(t,e){return I(t.prev,t,t.next)<0?I(t,e,t.next)>=0&&I(t,t.prev,e)>=0:I(t,e,t.prev)<0||I(t,t.next,e)<0}function O(t,e){const i=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function Z(t,e,i,n){const r=new A(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function j(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)}function A(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function N(t){const e=t.lines.length;if(e<=1)return{data:t.data,areas:[[c(t.data)]],lines:[t.lines]};const i=[],n=[];let r,s=[],o=[],a=0;for(let u,h,l=0;l<e;l++){h=t.lines[l]-a,u=t.lines[l+1]-a||t.data.length;const e=c(t.data.slice(h,u));if(0!==e)void 0===r&&(r=e<0),r===e<0?(o.length&&(i.push(s),n.push(o)),o=[h],s=[e]):(s.push(e),o.push(h));else{const e=t.data.slice(0,h),i=t.data.slice(u);t.data=e.concat(i),a+=u-h}}return s&&i.push(s),o.length&&n.push(o),{areas:i,lines:n,data:t.data}}function U(t,e,i,n){for(let r=0,s=t.length;r<s;r+=2){t[r]=360*(t[r]+e)/n-180;const s=180-360*(t[r+1]+i)/n;t[r+1]=360/Math.PI*Math.atan(Math.exp(s*Math.PI/180))-90}}function L(t,e,i){e&&i&&(1===t?e.id=i.readVarint():2===t?function(t,e){const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=e._keys[t.readVarint()],n=e._values[t.readVarint()];e.properties[i]=n}}(i,e):3===t?e.type=i.readVarint():4===t&&(e._geometry=i.pos))}function E(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}let G,R,J,K,W,q,H;class Q{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(t,e,i,n,r,s){E(this,"properties",void 0),E(this,"extent",void 0),E(this,"type",void 0),E(this,"id",void 0),E(this,"_pbf",void 0),E(this,"_geometry",void 0),E(this,"_keys",void 0),E(this,"_values",void 0),E(this,"_firstPassData",void 0),this.properties={},this.extent=i,this.type=0,this.id=null,this._pbf=t,this._geometry=-1,this._keys=n,this._values=r,this._firstPassData=s,t.readFields(L,this,e)}loadGeometry(){const t=this._pbf;t.pos=this._geometry,G=t.readVarint()+t.pos,R=1,K=0,W=0,q=0,H=0;const e=[],i=[];for(;t.pos<G;)if(K<=0&&(J=t.readVarint(),R=7&J,K=J>>3),K--,1===R||2===R)W+=t.readSVarint(),q+=t.readSVarint(),1===R&&e.push(H),i.push(W,q),H+=2;else{if(7!==R)throw new Error("unknown command "+R);if(H>0){const t=e[e.length-1];i.push(i[t],i[t+1]),H+=2}}return{data:i,lines:e}}_toBinaryCoordinates(t){let e=this.loadGeometry();t(e.data,this);switch(this.type){case 1:this._firstPassData.pointFeaturesCount++,this._firstPassData.pointPositionsCount+=e.lines.length;break;case 2:this._firstPassData.lineFeaturesCount++,this._firstPassData.linePathsCount+=e.lines.length,this._firstPassData.linePositionsCount+=e.data.length/2;break;case 3:const t=N(e);this._firstPassData.polygonFeaturesCount++,this._firstPassData.polygonObjectsCount+=t.lines.length;for(const e of t.lines)this._firstPassData.polygonRingsCount+=e.length;this._firstPassData.polygonPositionsCount+=t.data.length/2,e=t}e.type=Q.types[this.type],e.lines.length>1&&(e.type="Multi"+e.type);const i={type:"Feature",geometry:e,properties:this.properties};return null!==this.id&&(i.id=this.id),i}toBinaryCoordinates(t){return"function"==typeof t?this._toBinaryCoordinates(t):this._toBinaryCoordinates(U)}}function X(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class Y{constructor(t,e){X(this,"version",void 0),X(this,"name",void 0),X(this,"extent",void 0),X(this,"length",void 0),X(this,"_pbf",void 0),X(this,"_keys",void 0),X(this,"_values",void 0),X(this,"_features",void 0),this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields($,this,e),this.length=this._features.length}feature(t,e){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];const i=this._pbf.readVarint()+this._pbf.pos;return new Q(this._pbf,i,this.extent,this._keys,this._values,e)}}function $(t,e,i){e&&i&&(15===t?e.version=i.readVarint():1===t?e.name=i.readString():5===t?e.extent=i.readVarint():2===t?e._features.push(i.pos):3===t?e._keys.push(i.readString()):4===t&&e._values.push(function(t){let e=null;const i=t.readVarint()+t.pos;for(;t.pos<i;){const i=t.readVarint()>>3;e=1===i?t.readString():2===i?t.readFloat():3===i?t.readDouble():4===i?t.readVarint64():5===i?t.readVarint():6===i?t.readSVarint():7===i?t.readBoolean():null}return e}(i)))}class tt{constructor(t,e){var i,n,r;r=void 0,(n="layers")in(i=this)?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,this.layers=t.readFields(et,{},e)}}function et(t,e,i){if(3===t&&i){const t=new Y(i,i.readVarint()+i.pos);t.length&&e&&(e[t.name]=t)}}function it(t){const e={};for(const i of t)if(i.properties)for(const t in i.properties){const n=e[t];if(n||void 0===n){const n=i.properties[t];e[t]=lt(n)}}return Object.keys(e).filter(t=>e[t])}function nt(t,e,i){const{pointPositionsCount:n,pointFeaturesCount:r,linePositionsCount:s,linePathsCount:o,lineFeaturesCount:a,polygonPositionsCount:u,polygonObjectsCount:h,polygonRingsCount:l,polygonFeaturesCount:f}=e,{numericPropKeys:p,PositionDataType:c=Float32Array}=i,d=t[0]&&"id"in t[0],y=t.length>65535?Uint32Array:Uint16Array,x={positions:new c(2*n),globalFeatureIds:new y(n),featureIds:r>65535?new Uint32Array(n):new Uint16Array(n),numericProps:{},properties:[],fields:[]},g={pathIndices:s>65535?new Uint32Array(o+1):new Uint16Array(o+1),positions:new c(2*s),globalFeatureIds:new y(s),featureIds:a>65535?new Uint32Array(s):new Uint16Array(s),numericProps:{},properties:[],fields:[]},v={polygonIndices:u>65535?new Uint32Array(h+1):new Uint16Array(h+1),primitivePolygonIndices:u>65535?new Uint32Array(l+1):new Uint16Array(l+1),positions:new c(2*u),triangles:[],globalFeatureIds:new y(u),featureIds:f>65535?new Uint32Array(u):new Uint16Array(u),numericProps:{},properties:[],fields:[]};for(const t of[x,g,v])for(const e of p)t.numericProps[e]=new Float32Array(t.positions.length/2);g.pathIndices[o]=s,v.polygonIndices[h]=u,v.primitivePolygonIndices[l]=u;const w={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(const e of t){const t=e.geometry,i=e.properties||{};switch(t.type){case"Point":case"MultiPoint":rt(t,x,w,2,i),x.properties.push(ht(i,p)),d&&x.fields.push({id:e.id}),w.pointFeature++;break;case"LineString":case"MultiLineString":st(t,g,w,2,i),g.properties.push(ht(i,p)),d&&g.fields.push({id:e.id}),w.lineFeature++;break;case"Polygon":case"MultiPolygon":ot(t,v,w,2,i),v.properties.push(ht(i,p)),d&&v.fields.push({id:e.id}),w.polygonFeature++;break;default:throw new Error("Invalid geometry type")}w.feature++}return function(t,e,i,n){const r={points:{...t,positions:{value:t.positions,size:n},globalFeatureIds:{value:t.globalFeatureIds,size:1},featureIds:{value:t.featureIds,size:1}},lines:{...e,pathIndices:{value:e.pathIndices,size:1},positions:{value:e.positions,size:n},globalFeatureIds:{value:e.globalFeatureIds,size:1},featureIds:{value:e.featureIds,size:1}},polygons:{...i,polygonIndices:{value:i.polygonIndices,size:1},primitivePolygonIndices:{value:i.primitivePolygonIndices,size:1},positions:{value:i.positions,size:n},triangles:{value:new Uint32Array(i.triangles),size:1},globalFeatureIds:{value:i.globalFeatureIds,size:1},featureIds:{value:i.featureIds,size:1}}};for(const t in r)for(const e in r[t].numericProps)r[t].numericProps[e]={value:r[t].numericProps[e],size:1};return r}(x,g,v,2)}function rt(t,e,i,n,r){e.positions.set(t.data,i.pointPosition*n);const s=t.data.length/n;ut(e,r,i.pointPosition,s),e.globalFeatureIds.fill(i.feature,i.pointPosition,i.pointPosition+s),e.featureIds.fill(i.pointFeature,i.pointPosition,i.pointPosition+s),i.pointPosition+=s}function st(t,e,i,n,r){e.positions.set(t.data,i.linePosition*n);const s=t.data.length/n;ut(e,r,i.linePosition,s),e.globalFeatureIds.fill(i.feature,i.linePosition,i.linePosition+s),e.featureIds.fill(i.lineFeature,i.linePosition,i.linePosition+s);for(let r=0,s=t.lines.length;r<s;++r){const o=t.lines[r],a=r===s-1?t.data.length:t.lines[r+1];e.pathIndices[i.linePath++]=i.linePosition,i.linePosition+=(a-o)/n}}function ot(t,e,i,n,r){e.positions.set(t.data,i.polygonPosition*n);const s=t.data.length/n;ut(e,r,i.polygonPosition,s),e.globalFeatureIds.fill(i.feature,i.polygonPosition,i.polygonPosition+s),e.featureIds.fill(i.polygonFeature,i.polygonPosition,i.polygonPosition+s);for(let r=0,s=t.lines.length;r<s;++r){const s=i.polygonPosition;e.polygonIndices[i.polygonObject++]=s;const o=t.areas[r],a=t.lines[r],u=t.lines[r+1];for(let r=0,s=a.length;r<s;++r){const o=a[r],h=r===s-1?void 0===u?t.data.length:u[0]:a[r+1];e.primitivePolygonIndices[i.polygonRing++]=i.polygonPosition,i.polygonPosition+=(h-o)/n}at(e,o,a,{startPosition:s,endPosition:i.polygonPosition,coordLength:n})}}function at(t,e,i,{startPosition:n,endPosition:r,coordLength:s}){const o=n*s,a=r*s,u=t.positions.subarray(o,a),h=i[0],l=d(u,i.slice(1).map(t=>(t-h)/s),s,e);for(let e=0,i=l.length;e<i;++e)t.triangles.push(n+l[e])}function ut(t,e,i,n){for(const r in t.numericProps)r in e&&t.numericProps[r].fill(e[r],i,i+n)}function ht(t,e){const i={};for(const n in t)e.includes(n)||(i[n]=t[n]);return i}function lt(t){return Number.isFinite(t)}var ft=i(0),pt=i.n(ft);function ct(t,e){e=function(t){if(t){const e="wgs84"===(t={...t,mvt:t.mvt||{},gis:t.gis||{}}).coordinates,{tileIndex:i}=t,n=i&&Number.isFinite(i.x)&&Number.isFinite(i.y)&&Number.isFinite(i.z);if(e&&!n)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property. Check documentation.")}return t}(e);const i=[];if(e){const n="binary"===e.gis.format,r={pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(t.byteLength>0){const s=n?new tt(new pt.a(t)):new l(new pt.a(t)),o=e.mvt;(Array.isArray(o.layers)?o.layers:Object.keys(s.layers)).forEach(t=>{const e=s.layers[t],a={...o,layerName:t};if(e)for(let t=0;t<e.length;t++){const s=e.feature(t,r),o=n?yt(s,a):dt(s,a);i.push(o)}})}if(n){const e=function(t,e,i){return nt(t,e,{numericPropKeys:i?i.numericPropKeys:it(t),PositionDataType:i?i.PositionDataType:Float32Array})}(i,r);return e.byteLength=t.byteLength,e}}return i}function dt(t,e){const i=t.toGeoJSON("wgs84"===e.coordinates?e.tileIndex:xt);return e.layerProperty&&(i.properties[e.layerProperty]=e.layerName),i}function yt(t,e){const i=t.toBinaryCoordinates("wgs84"===e.coordinates?e.tileIndex:gt);return e.layerProperty&&(i.properties[e.layerProperty]=e.layerName),i}function xt(t,e){const{extent:i}=e;for(let e=0;e<t.length;e++){const n=t[e];n[0]/=i,n[1]/=i}}function gt(t,e){const{extent:i}=e;for(let e=0,n=t.length;e<n;++e)t[e]/=i}const vt={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:"3.1.0-alpha.5",extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{coordinates:"local",layerProperty:"layerName",layers:null,tileIndex:null}}},wt={...vt,parse:async(t,e)=>ct(t,e),parseSync:ct,binary:!0}}])}));
4
4
  //# sourceMappingURL=dist.min.js.map