diff --git a/README.md b/README.md index bc93d65..5d016d7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![](docs/images/go-http-leaflet-protomaps-sfo.png) -`go-http-protomaps` is an HTTP middleware package for including Protomaps.js (v0.3.3) assets in web applications. +`go-http-protomaps` is an HTTP middleware package for including Protomaps.js (v0.3.5) assets in web applications. ## Documentation diff --git a/static/javascript/protomaps.js b/static/javascript/protomaps.js index 680d099..e5315a8 100644 --- a/static/javascript/protomaps.js +++ b/static/javascript/protomaps.js @@ -2914,7 +2914,7 @@ var protomaps = (() => { ctx.rotate(Math.atan2(dy, dx)); if (dx < 0) ctx.scale(0, -1); - ctx.font = this.font; + ctx.font = font; if (this.stroke > 0) { ctx.strokeStyle = this.stroke; ctx.lineWidth = this.width; @@ -3274,12 +3274,6 @@ var protomaps = (() => { font: "italic 400 12px sans-serif" }) }, - { - dataLayer: "roads", - symbolizer: new LineLabelSymbolizer({ - fill: params.roadsLabel - }) - }, { dataLayer: "pois", symbolizer: new TextSymbolizer({ @@ -3751,10 +3745,18 @@ var protomaps = (() => { return new Promise((resolve, reject) => { let img = new Image(); img.onload = () => resolve(img); - img.onerror = reject; + img.onerror = () => reject("Invalid SVG"); img.src = src; }); }; + var MISSING = ` + + + + + + +`; var Protosprites = class { constructor(src) { this.src = src; @@ -3771,9 +3773,13 @@ var protomaps = (() => { let tree = new window.DOMParser().parseFromString(src, "text/html"); let icons = tree.body.children; this.mapping = {}; - let boxes = []; + let missingImg = yield mkimg("data:image/svg+xml;base64," + btoa(MISSING)); + let boxes = [ + {w: missingImg.width * scale, h: missingImg.height * scale, img: missingImg} + ]; + let serializer = new XMLSerializer(); for (let ps of icons) { - var svg64 = btoa(new XMLSerializer().serializeToString(ps)); + var svg64 = btoa(serializer.serializeToString(ps)); var image64 = "data:image/svg+xml;base64," + svg64; let img = yield mkimg(image64); boxes.push({w: img.width * scale, h: img.height * scale, img, id: ps.id}); @@ -3785,7 +3791,10 @@ var protomaps = (() => { let ctx = this.canvas.getContext("2d"); for (let box of boxes) { ctx.drawImage(box.img, box.x, box.y, box.w, box.h); - this.mapping[box.id] = {x: box.x, y: box.y, w: box.w, h: box.h}; + if (box.id) + this.mapping[box.id] = {x: box.x, y: box.y, w: box.w, h: box.h}; + else + this.missingBox = {x: box.x, y: box.y, w: box.w, h: box.h}; } return this; }); @@ -3793,7 +3802,7 @@ var protomaps = (() => { get(name) { let result = this.mapping[name]; if (!result) - throw new Error(name + " not found"); + result = this.missingBox; result.canvas = this.canvas; return result; } diff --git a/static/javascript/protomaps.min.js b/static/javascript/protomaps.min.js index 178319a..3ce1688 100644 --- a/static/javascript/protomaps.min.js +++ b/static/javascript/protomaps.min.js @@ -1,2 +1,9 @@ -var protomaps=(()=>{var Ye=Object.create,st=Object.defineProperty,Ie=Object.getPrototypeOf,Ae=Object.prototype.hasOwnProperty,Ue=Object.getOwnPropertyNames,Ze=Object.getOwnPropertyDescriptor;var qe=(e,t,i)=>t in e?st(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var We=e=>st(e,"__esModule",{value:!0});var E=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),Oe=(e,t)=>{for(var i in t)st(e,i,{get:t[i],enumerable:!0})},je=(e,t,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ue(t))!Ae.call(e,r)&&r!=="default"&&st(e,r,{get:()=>t[r],enumerable:!(i=Ze(t,r))||i.enumerable});return e},Y=e=>je(We(st(e!=null?Ye(Ie(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var $=(e,t,i)=>(qe(e,typeof t!="symbol"?t+"":t,i),i);var C=(e,t,i)=>new Promise((r,n)=>{var s=l=>{try{o(i.next(l))}catch(u){n(u)}},a=l=>{try{o(i.throw(l))}catch(u){n(u)}},o=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,a);o((i=i.apply(e,t)).next())});var Q=E((Xi,te)=>{"use strict";te.exports=H;function H(e,t){this.x=e,this.y=t}H.prototype={clone:function(){return new H(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,i=e.y-this.y;return t*t+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[0]*this.x+e[1]*this.y,i=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=i,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),i=Math.sin(e),r=t*this.x-i*this.y,n=i*this.x+t*this.y;return this.x=r,this.y=n,this},_rotateAround:function(e,t){var i=Math.cos(e),r=Math.sin(e),n=t.x+i*(this.x-t.x)-r*(this.y-t.y),s=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=n,this.y=s,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};H.convert=function(e){return e instanceof H?e:Array.isArray(e)?new H(e[0],e[1]):e}});var Tt=E((Ei,ee)=>{"use strict";var Ne=Q();ee.exports=G;function G(e,t,i,r,n){this.properties={},this.extent=i,this.type=0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=n,e.readFields($e,this,t)}function $e(e,t,i){e==1?t.id=i.readVarint():e==2?He(i,t):e==3?t.type=i.readVarint():e==4&&(t._geometry=i.pos)}function He(e,t){for(var i=e.readVarint()+e.pos;e.pos>3}if(r--,i===1||i===2)n+=e.readSVarint(),s+=e.readSVarint(),i===1&&(o&&a.push(o),o=[]),o.push(new Ne(n,s));else if(i===7)o&&o.push(o[0].clone());else throw new Error("unknown command "+i)}return o&&a.push(o),a};G.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,i=1,r=0,n=0,s=0,a=Infinity,o=-Infinity,l=Infinity,u=-Infinity;e.pos>3}if(r--,i===1||i===2)n+=e.readSVarint(),s+=e.readSVarint(),no&&(o=n),su&&(u=s);else if(i!==7)throw new Error("unknown command "+i)}return[a,l,o,u]};G.prototype.toGeoJSON=function(e,t,i){var r=this.extent*Math.pow(2,i),n=this.extent*e,s=this.extent*t,a=this.loadGeometry(),o=G.types[this.type],l,u;function c(v){for(var g=0;g{"use strict";var Je=Tt();ie.exports=re;function re(e,t){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(Ke,this,t),this.length=this._features.length}function Ke(e,t,i){e===15?t.version=i.readVarint():e===1?t.name=i.readString():e===5?t.extent=i.readVarint():e===2?t._features.push(i.pos):e===3?t._keys.push(i.readString()):e===4&&t._values.push(ti(i))}function ti(e){for(var t=null,i=e.readVarint()+e.pos;e.pos>3;t=r===1?e.readString():r===2?e.readFloat():r===3?e.readDouble():r===4?e.readVarint64():r===5?e.readVarint():r===6?e.readSVarint():r===7?e.readBoolean():null}return t}re.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Je(this._pbf,t,this.extent,this._keys,this._values)}});var se=E((Ii,ne)=>{"use strict";var ei=Bt();ne.exports=ii;function ii(e,t){this.layers=e.readFields(ri,{},t)}function ri(e,t,i){if(e===3){var r=new ei(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}});var ae=E((Ai,mt)=>{mt.exports.VectorTile=se();mt.exports.VectorTileFeature=Tt();mt.exports.VectorTileLayer=Bt()});var oe=E(Dt=>{Dt.read=function(e,t,i,r,n){var s,a,o=n*8-r-1,l=(1<>1,c=-7,x=i?n-1:0,p=i?-1:1,v=e[t+x];for(x+=p,s=v&(1<<-c)-1,v>>=-c,c+=o;c>0;s=s*256+e[t+x],x+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=r;c>0;a=a*256+e[t+x],x+=p,c-=8);if(s===0)s=1-u;else{if(s===l)return a?NaN:(v?-1:1)*Infinity;a=a+Math.pow(2,r),s=s-u}return(v?-1:1)*a*Math.pow(2,s-r)};Dt.write=function(e,t,i,r,n,s){var a,o,l,u=s*8-n-1,c=(1<>1,p=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=r?0:s-1,g=r?1:-1,F=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===Infinity?(o=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+x>=1?t+=p/l:t+=p*Math.pow(2,1-x),t*l>=2&&(a++,l/=2),a+x>=c?(o=0,a=c):a+x>=1?(o=(t*l-1)*Math.pow(2,n),a=a+x):(o=t*Math.pow(2,x-1)*Math.pow(2,n),a=0));n>=8;e[i+v]=o&255,v+=g,o/=256,n-=8);for(a=a<0;e[i+v]=a&255,v+=g,a/=256,u-=8);e[i+v-g]|=F*128}});var de=E((Zi,le)=>{"use strict";le.exports=_;var xt=oe();function _(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}_.Varint=0;_.Fixed64=1;_.Bytes=2;_.Fixed32=5;var Ct=(1<<16)*(1<<16),he=1/Ct,ni=12,fe=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");_.prototype={destroy:function(){this.buf=null},readFields:function(e,t,i){for(i=i||this.length;this.pos>3,s=this.pos;this.type=r&7,e(n,t,this),this.pos===s&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=pt(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=ce(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=pt(this.buf,this.pos)+pt(this.buf,this.pos+4)*Ct;return this.pos+=8,e},readSFixed64:function(){var e=pt(this.buf,this.pos)+ce(this.buf,this.pos+4)*Ct;return this.pos+=8,e},readFloat:function(){var e=xt.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=xt.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t=this.buf,i,r;return r=t[this.pos++],i=r&127,r<128||(r=t[this.pos++],i|=(r&127)<<7,r<128)||(r=t[this.pos++],i|=(r&127)<<14,r<128)||(r=t[this.pos++],i|=(r&127)<<21,r<128)?i:(r=t[this.pos],i|=(r&15)<<28,si(i,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>=ni&&fe?yi(this.buf,t,e):pi(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!==_.Bytes)return e.push(this.readVarint(t));var i=I(this);for(e=e||[];this.pos127;);else if(t===_.Bytes)this.pos=this.readVarint()+this.pos;else if(t===_.Fixed32)this.pos+=4;else if(t===_.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;t268435455||e<0){ai(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=gi(this.buf,e,this.pos);var i=this.pos-t;i>=128&&ue(t,i,this),this.pos=t-1,this.writeVarint(i),this.pos+=i},writeFloat:function(e){this.realloc(4),xt.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),xt.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 i=0;i=128&&ue(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,t,i){this.writeTag(e,_.Bytes),this.writeRawMessage(t,i)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,oi,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,li,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,ui,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,hi,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,fi,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,ci,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,di,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,mi,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,xi,t)},writeBytesField:function(e,t){this.writeTag(e,_.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,_.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,_.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,_.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,_.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,_.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,_.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,_.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,_.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,_.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};function si(e,t,i){var r=i.buf,n,s;if(s=r[i.pos++],n=(s&112)>>4,s<128||(s=r[i.pos++],n|=(s&127)<<3,s<128)||(s=r[i.pos++],n|=(s&127)<<10,s<128)||(s=r[i.pos++],n|=(s&127)<<17,s<128)||(s=r[i.pos++],n|=(s&127)<<24,s<128)||(s=r[i.pos++],n|=(s&1)<<31,s<128))return K(e,n,t);throw new Error("Expected varint not more than 10 bytes")}function I(e){return e.type===_.Bytes?e.readVarint()+e.pos:e.pos+1}function K(e,t,i){return i?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function ai(e,t){var i,r;if(e>=0?(i=e%4294967296|0,r=e/4294967296|0):(i=~(-e%4294967296),r=~(-e/4294967296),i^4294967295?i=i+1|0:(i=0,r=r+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),wi(i,r,t),bi(r,t)}function wi(e,t,i){i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos]=e&127}function bi(e,t){var i=(e&7)<<4;t.buf[t.pos++]|=i|((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 ue(e,t,i){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));i.realloc(r);for(var n=i.pos-1;n>=e;n--)i.buf[n+r]=i.buf[n]}function oi(e,t){for(var i=0;i>>8,e[i+2]=t>>>16,e[i+3]=t>>>24}function ce(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function pi(e,t,i){for(var r="",n=t;n239?4:s>223?3:s>191?2:1;if(n+o>i)break;var l,u,c;o===1?s<128&&(a=s):o===2?(l=e[n+1],(l&192)==128&&(a=(s&31)<<6|l&63,a<=127&&(a=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(a=(s&15)<<12|(l&63)<<6|u&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(l=e[n+1],u=e[n+2],c=e[n+3],(l&192)==128&&(u&192)==128&&(c&192)==128&&(a=(s&15)<<18|(l&63)<<12|(u&63)<<6|c&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),n+=o}return r}function yi(e,t,i){return fe.decode(e.subarray(t,i))}function gi(e,t,i){for(var r=0,n,s;r55295&&n<57344)if(s)if(n<56320){e[i++]=239,e[i++]=191,e[i++]=189,s=n;continue}else n=s-55296<<10|n-56320|65536,s=null;else{n>56319||r+1===t.length?(e[i++]=239,e[i++]=191,e[i++]=189):s=n;continue}else s&&(e[i++]=239,e[i++]=191,e[i++]=189,s=null);n<128?e[i++]=n:(n<2048?e[i++]=n>>6|192:(n<65536?e[i++]=n>>12|224:(e[i++]=n>>18|240,e[i++]=n>>12&63|128),e[i++]=n>>6&63|128),e[i++]=n&63|128)}return i}});var be=E((Et,Yt)=>{(function(e,t){typeof Et=="object"&&typeof Yt!="undefined"?Yt.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self).RBush=t()})(Et,function(){"use strict";function e(h,f,d,w,m){(function y(b,S,M,z,T){for(;z>M;){if(z-M>600){var k=z-M+1,D=S-M+1,rt=Math.log(k),q=.5*Math.exp(2*rt/3),j=.5*Math.sqrt(rt*q*(k-q)/k)*(D-k/2<0?-1:1),N=Math.max(M,Math.floor(S-D*q/k+j)),Ee=Math.min(z,Math.floor(S+(k-D)*q/k+j));y(b,S,N,Ee,T)}var dt=b[S],nt=M,X=z;for(t(b,M,S),T(b[z],dt)>0&&t(b,M,z);nt0;)X--}T(b[M],dt)===0?t(b,M,X):t(b,++X,z),X<=S&&(M=X+1),S<=X&&(z=X-1)}})(h,f,d||0,w||h.length-1,m||i)}function t(h,f,d){var w=h[f];h[f]=h[d],h[d]=w}function i(h,f){return hf?1:0}var r=function(h){h===void 0&&(h=9),this._maxEntries=Math.max(4,h),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function n(h,f,d){if(!d)return f.indexOf(h);for(var w=0;w=h.minX&&f.maxY>=h.minY}function g(h){return{children:h,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function F(h,f,d,w,m){for(var y=[f,d];y.length;)if(!((d=y.pop())-(f=y.pop())<=w)){var b=f+Math.ceil((d-f)/w/2)*w;e(h,b,f,d,m),y.push(f,b,b,d)}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(h){var f=this.data,d=[];if(!v(h,f))return d;for(var w=this.toBBox,m=[];f;){for(var y=0;y=0&&m[f].children.length>this._maxEntries;)this._split(m,f),f--;this._adjustParentBBoxes(w,m,f)},r.prototype._split=function(h,f){var d=h[f],w=d.children.length,m=this._minEntries;this._chooseSplitAxis(d,m,w);var y=this._chooseSplitIndex(d,m,w),b=g(d.children.splice(y,d.children.length-y));b.height=d.height,b.leaf=d.leaf,s(d,this.toBBox),s(b,this.toBBox),f?h[f-1].children.push(b):this._splitRoot(d,b)},r.prototype._splitRoot=function(h,f){this.data=g([h,f]),this.data.height=h.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},r.prototype._chooseSplitIndex=function(h,f,d){for(var w,m,y,b,S,M,z,T=1/0,k=1/0,D=f;D<=d-f;D++){var rt=a(h,0,D,this.toBBox),q=a(h,D,d,this.toBBox),j=(m=rt,y=q,b=void 0,S=void 0,M=void 0,z=void 0,b=Math.max(m.minX,y.minX),S=Math.max(m.minY,y.minY),M=Math.min(m.maxX,y.maxX),z=Math.min(m.maxY,y.maxY),Math.max(0,M-b)*Math.max(0,z-S)),N=c(rt)+c(q);j=f;T--){var k=h.children[T];o(b,h.leaf?m(k):k),S+=x(b)}return S},r.prototype._adjustParentBBoxes=function(h,f,d){for(var w=d;w>=0;w--)o(f[w],h)},r.prototype._condense=function(h){for(var f=h.length-1,d=void 0;f>=0;f--)h[f].children.length===0?f>0?(d=h[f-1].children).splice(d.indexOf(h[f]),1):this.clear():s(h[f],this.toBBox)},r})});var Se=E((Ut,Zt)=>{(function(e,t){typeof Ut=="object"&&typeof Zt!="undefined"?Zt.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.TinyQueue=t())})(Ut,function(){"use strict";var e=function(r,n){if(r===void 0&&(r=[]),n===void 0&&(n=t),this.data=r,this.length=this.data.length,this.compare=n,this.length>0)for(var s=(this.length>>1)-1;s>=0;s--)this._down(s)};e.prototype.push=function(r){this.data.push(r),this.length++,this._up(this.length-1)},e.prototype.pop=function(){if(this.length!==0){var r=this.data[0],n=this.data.pop();return this.length--,this.length>0&&(this.data[0]=n,this._down(0)),r}},e.prototype.peek=function(){return this.data[0]},e.prototype._up=function(r){for(var n=this,s=n.data,a=n.compare,o=s[r];r>0;){var l=r-1>>1,u=s[l];if(a(o,u)>=0)break;s[r]=u,r=l}s[r]=o},e.prototype._down=function(r){for(var n=this,s=n.data,a=n.compare,o=this.length>>1,l=s[r];r=0)break;s[r]=c,r=u}s[r]=l};function t(i,r){return ir?1:0}return e})});var ze=E((Ji,qt)=>{"use strict";var vt=Se();vt.default&&(vt=vt.default);qt.exports=Me;qt.exports.default=Me;function Me(e,t,i){t=t||1;for(var r,n,s,a,o=0;os)&&(s=l[0]),(!o||l[1]>a)&&(a=l[1])}var u=s-r,c=a-n,x=Math.min(u,c),p=x/2;if(x===0){var v=[r,n];return v.distance=0,v}for(var g=new vt(void 0,Li),F=r;Ff.d&&(f=d);for(var w=g.length;g.length;){var m=g.pop();m.d>f.d&&(f=m,i&&console.log("found best %d after %d probes",Math.round(1e4*m.d)/1e4,w)),!(m.max-f.d<=t)&&(p=m.h/2,g.push(new A(m.x-p,m.y-p,p,e)),g.push(new A(m.x+p,m.y-p,p,e)),g.push(new A(m.x-p,m.y+p,p,e)),g.push(new A(m.x+p,m.y+p,p,e)),w+=4)}i&&(console.log("num probes: "+w),console.log("best distance: "+f.d));var y=[f.x,f.y];return y.distance=f.d,y}function Li(e,t){return t.max-e.max}function A(e,t,i,r){this.x=e,this.y=t,this.h=i,this.d=Mi(e,t,r),this.max=this.d+this.h*Math.SQRT2}function Mi(e,t,i){for(var r=!1,n=Infinity,s=0;st!=x[1]>t&&e<(x[0]-c[0])*(t-c[1])/(x[1]-c[1])+c[0]&&(r=!r),n=Math.min(n,zi(e,t,c,x))}return n===0?0:(r?1:-1)*Math.sqrt(n)}function Si(e){for(var t=0,i=0,r=0,n=e[0],s=0,a=n.length,o=a-1;s1?(n=r[0],s=r[1]):l>0&&(n+=a*l,s+=o*l)}return a=e-n,o=t-s,a*a+o*o}});var ke=E((er,_e)=>{_e.exports=function(e,t){var i=[],r=[null],n,s,a,o=0,l=0,u=0,c=0,x=0,p=0,v=0,g=0,F=0,h=0,f=0,d=0;if(e.length<2)return[];if(e.length===2)return u=Math.sqrt(Math.pow(e[1].x-e[0].x,2)+Math.pow(e[1].y-e[0].y,2)),[{length:u,beginIndex:0,beginDistance:0,endIndex:2,endDistance:u,angles:[null,null]}];for(c=Math.sqrt(Math.pow(e[1].x-e[0].x,2)+Math.pow(e[1].y-e[0].y,2)),o=1,l=e.length-1;ot&&(i.push({length:u-d,beginDistance:d,beginIndex:f,endIndex:o+1,endDistance:u,angles:r}),f=o,d=u,r=[h]),c=x;return r.push(null),o-f>0&&i.push({length:u-d+x,beginIndex:f,beginDistance:d,endIndex:o+1,endDistance:u+x,angles:r}),i}});var Ri={};Oe(Ri,{CircleSymbolizer:()=>Lt,Font:()=>Jt,GroupSymbolizer:()=>St,IconSymbolizer:()=>Ft,LeafletLayer:()=>kt,LineLabelSymbolizer:()=>U,LineSymbolizer:()=>P,PMTiles:()=>tt,PolygonLabelSymbolizer:()=>Z,PolygonSymbolizer:()=>B,Sprites:()=>Kt,Static:()=>_t,TextSymbolizer:()=>V,arr:()=>jt,createPattern:()=>Ot,exp:()=>R,json_style:()=>Qt});var ye=Y(ae()),ge=Y(de());var me=(e,t)=>e*Math.pow(2,t),xe=(e,t)=>me(e.getUint16(t+1,!0),8)+e.getUint8(t,!0),vi=(e,t)=>me(e.getUint32(t+2,!0),16)+e.getUint16(t,!0),Fi=e=>{var t=e.getUint16(0,!0),i=e.getUint16(2,!0),r=e.getUint32(4,!0),n=e.getUint16(8,!0);return{version:i,json_size:r,root_entries:n}},pe=e=>{let t=new Map;for(var i=0;i>7,a=xe(e,i+1),o=xe(e,i+4),l=vi(e,i+7),u=e.getUint32(i+13,!0);t.set(n+"_"+a+"_"+o,[l,u,s])}return t},tt=class{constructor(t){$(this,"metadata",t=>new Promise((i,r)=>{this.root.then(n=>{i(n.metadata)})}));$(this,"getLeaf",(t,i)=>new Promise((r,n)=>{this.leaves.has(t)?(this.leaves.get(t)[0]++,r(this.leaves.get(t)[1])):this.outstanding_requests.has(t)?this.outstanding_requests.get(t).push(r):(this.outstanding_requests.set(t,[]),fetch(this.url,{headers:{Range:"bytes="+t+"-"+(t+i-1)}}).then(s=>s.arrayBuffer()).then(s=>{var a=pe(new DataView(s),i/17);if(this.leaves.size>32){var o=Infinity,l=void 0;this.leaves.forEach((u,c)=>{u[0]u(a)),this.outstanding_requests.delete(t)}))}));$(this,"getZxy",(t,i,r)=>{var n=t+"_"+i+"_"+r;return this.root.then(s=>{if(s.dir.has(n)&&s.dir.get(n)[2]==0)return s.dir.get(n);if(t>=7){var a=t-7,o=[7,Math.trunc(i/(1<c.has(n)?c.get(n):null)}}return null})});$(this,"transformRequest",(t,i,r,n)=>{if(t.endsWith(".pmtiles")&&n){var s=r.tileID.canonical,a=s.z+"_"+s.x+"_"+s.y;this.getZxy(s.z,s.x,s.y).then(o=>{o&&n({url:this.url,headers:{Range:"bytes="+o[0]+"-"+(o[0]+o[1]-1)}})})}return{url:t}});$(this,"leafletLayer",t=>{let i=this;var r=L.GridLayer.extend({createTile:function(n,s){var a=document.createElement("img"),o;return i.getZxy(n.z,n.x,n.y).then(l=>{l!==null&&fetch(i.url,{headers:{Range:"bytes="+l[0]+"-"+(l[0]+l[1]-1)}}).then(u=>u.arrayBuffer()).then(u=>{var c=new Blob([u],{type:"image/png"}),x=window.URL.createObjectURL(c);a.src=x,s(o,a)})}),a},_removeTile:function(n){var s=this._tiles[n];!s||(s.el.width=0,s.el.height=0,s.el.deleted=!0,L.DomUtil.remove(s.el),delete this._tiles[n],this.fire("tileunload",{tile:s.el,coords:this._keyToTileCoords(n)}))}});return new r(t)});this.url=t;let i=new AbortController,r=i.signal;this.root=fetch(this.url,{signal:r,headers:{Range:"bytes=0-511999"}}).then(n=>(n.headers.get("Content-Length")!=512e3&&(console.error("Content-Length mismatch indicates byte serving not supported; aborting."),i.abort()),n.arrayBuffer())).then(n=>{let s=Fi(new DataView(n,0,10));var a=new TextDecoder("utf-8");return{metadata:JSON.parse(a.decode(new DataView(n,10,s.json_size))),dir:pe(new DataView(n,10+s.json_size,17*s.root_entries))}}),this.step=0,this.leaves=new Map,this.outstanding_requests=new Map}};var yt;(function(e){e[e.Point=1]="Point",e[e.Line=2]="Line",e[e.Polygon=3]="Polygon"})(yt||(yt={}));function et(e){return e.x+":"+e.y+":"+e.z}function we(e){let t=new ye.VectorTile(new ge.default(e)),i={};for(let[r,n]of Object.entries(t.layers)){let s=[],a=n;for(let o=0;os[0]!=t.z?(s[1].abort(),!1):!0);let i=yield this.p.getZxy(t.z,t.x,t.y);if(!i)throw new Error(`Tile ${t.z} ${t.x} ${t.y} not found in archive`);let r=new AbortController;this.controllers.push([t.z,r]);let n=r.signal;return new Promise((s,a)=>{fetch(this.p.url,{headers:{Range:"bytes="+i[0]+"-"+(i[0]+i[1]-1)},signal:n}).then(o=>o.arrayBuffer()).then(o=>{let l=we(o);s(l)}).catch(o=>{a(o)})})})}},at=class{constructor(t){this.url=t,this.controllers=[]}get(t){return C(this,null,function*(){this.controllers=this.controllers.filter(s=>s[0]!=t.z?(s[1].abort(),!1):!0);let i=this.url.replace("{z}",t.z.toString()).replace("{x}",t.x.toString()).replace("{y}",t.y.toString()),r=new AbortController;this.controllers.push([t.z,r]);let n=r.signal;return new Promise((s,a)=>{fetch(i,{signal:n}).then(o=>o.arrayBuffer()).then(o=>{let l=we(o);s(l)}).catch(o=>{a(o)})})})}},ot=class{constructor(t){this.source=t,this.cache=new Map,this.inflight=new Map}get(t){return C(this,null,function*(){let i=et(t);return new Promise((r,n)=>{if(this.cache.has(i)){let s=this.cache.get(i);s.used=performance.now(),r(s.data)}else this.inflight.has(i)?this.inflight.get(i).push([r,n]):(this.inflight.set(i,[]),this.source.get(t).then(s=>{if(this.cache.set(i,{used:performance.now(),data:s}),this.inflight.get(i).forEach(a=>a[0](s)),this.inflight.delete(i),r(s),this.cache.size>=64){let a=Infinity,o;this.cache.forEach((l,u)=>{l.used{this.inflight.get(i).forEach(a=>a[1](s)),this.inflight.delete(i),n(s)}))})})}};var W=Y(Q()),Pt=class{},Rt=class extends Pt{constructor(t,i,r){super();this.tileCache=t,this.dataResolution=r,this.maxDataLevel=i}get(){return C(this,null,function*(){let t=[{z:2,x:0,y:0},{z:2,x:0,y:1},{z:2,x:1,y:0},{z:2,x:1,y:1}];return(yield Promise.all(t.map(r=>this.tileCache.get(r)))).map((r,n)=>({data:r,bbox:[0,0,4096,4096],transform:{scale:.25,translate:new W.default(1024*t[n].x,1024*t[n].y)},tile:t[n],z:1}))})}},Vt=class extends Pt{constructor(t,i,r,n,s){super();this.tileCache=t,this.maxDataLevel=i,this.dataResolution=r,this.levelDiff=n,this.displayResolution=s}dataTile(t){var i;if(t.z>t.z-this.maxDataLevel-this.levelDiff,r=this.dataTile(t),n=1<a.x&&x[3]>a.y&&o.push([l,c])}return o})}};var Xt=Y(Q());function wt(e,t,i,r,n,s){let a=performance.now(),o;if(e.ctx?o=e.ctx:(o=e.element.getContext("2d"),e.ctx=o),e.element&&e.element.key!=t)return;o.setTransform(e.tile_size/256,0,0,e.tile_size/256,0,0),o.clearRect(0,0,256,256),o.miterLimit=2;for(var l of n)if(!(l.minzoom&&i.zl.maxzoom)){var u=i.data[l.dataLayer];if(u!==void 0){l.symbolizer.before(o,i.z);for(var c of u){var x=c.bbox,p=i.bbox;x[2]p[2]||x[1]>p[3]||x[3]l.maxzoom)continue;let u=i[l.dataLayer];if(u===void 0)continue;let c=u;l.sort&&c.sort((x,p)=>l.sort(x.properties,p.properties));for(let x of c){if(l.filter&&!l.filter(x.properties))continue;let p=l.symbolizer.stash(this.scratch,x,this.z);if(!p)continue;let v=p.anchor,g=p.bbox,F={minX:(t.x*a+v.x)*s+g.minX,minY:(t.y*a+v.y)*s+g.minY,maxX:(t.x*a+v.x)*s+g.maxX,maxY:(t.y*a+v.y)*s+g.maxY},h=this.tree.search(F);if(h.length==0){let f={anchor:new O.default(t.x*a+v.x,t.y*a+v.y).mult(s),draw:p.draw,order:o,key:et(t)};this.tree.insert(Object.assign(f,F));let d=a*s;(F.maxX>(t.x+1)*d||F.minX(t.y+1)*d)&&this.findSpills(n,t,F)}else{let f=!0;for(let d of h)o>=d.order&&(f=!1);if(f){for(let w of h)this.findSpills(n,t,w),this.tree.remove(w);let d={anchor:new O.default(t.x*a+v.x,t.y*a+v.y).mult(s),draw:p.draw,order:o};this.tree.insert(Object.assign(d,F))}}}}return n.size>0&&this.listener(n),!0}},At=class extends It{constructor(t,i,r,n){super(t,i,r,n);this.active=!0}get(){return C(this,null,function*(){let t=yield this.view.get();for(let i of t)this.layout(i.tile,i.data);return{data:this.tree,bbox:{minX:0,minY:0,maxX:16384,maxY:16384},transform:{scale:.25,translate:new O.default(-0,-0)}}})}findSpills(){}},Le=class extends It{constructor(t,i,r,n,s){super(t,i,r,n);this.active=!1;this.current=new Set,this.inflight=new Map,this.listener=s}findSpills(t,i,r){let n=this.view.covering(this.z,i,r);for(let s of n){let a=et({z:s.z-2,x:Math.floor(s.x/4),y:Math.floor(s.y/4)});this.current.has(a)&&t.add(et(s))}}getTree(t){let i=et(t);return new Promise((r,n)=>{this.current.has(i)?r(this.tree):this.inflight.get(i)?this.inflight.get(i).push([r,n]):(this.inflight.set(i,[]),this.view.tileCache.get(t).then(s=>{if(this.layout(t,s)){if(this.current.add(i),this.inflight.get(i).forEach(o=>o[0](this.tree)),this.inflight.delete(i),r(this.tree),this.current.size>16){let o,l=0;for(let c of this.current){let x=c.split(":"),p=Math.sqrt(Math.pow(x[0]-t.x,2)+Math.pow(x[1]-t.y,2));p>l&&(l=p,o=c)}this.current.delete(o);let u=[];for(let c of this.tree.all())c.key===o&&u.push(c);u.forEach(c=>{this.tree.remove(c)})}}else{let o=new Fe("cancel");this.inflight.get(i).forEach(l=>l[1](o)),this.inflight.delete(i),n(o)}}).catch(s=>{this.inflight.get(i).forEach(a=>a[1](s)),this.inflight.delete(i),n(s)}))})}bbox(t){let i=this.view.dataResolution/(1<{i.active=!1}),this.labelers.get(t.z)||this.labelers.set(t.z,new Le(this.view,t.z,this.scratch,this.labelStyle,this.listener)),this.labelers.get(t.z).active=!0,this.labelers.get(t.z).get(t)})}};var it=Y(Q());var De=Y(ze());function Wt(e,t){if(e.length<=15)return[e];let i=e.lastIndexOf(" ",14),r=e.indexOf(" ",14);if(i==-1&&r==-1)return[e];let n,s;return r==-1||14-i=t&&o.length>n&&(n=o.length,i=s[o.beginIndex],r=s[o.endIndex-1])}if(!!i)return{start:i,end:r}}var Ot=(e,t,i)=>{let r=document.createElement("canvas"),n=r.getContext("2d");return r.width=e,r.height=t,i(r,n),r},B=class{constructor(t){this.fill=t.fill||"#000000",this.opacity=t.opacity||1,this.pattern=t.pattern}before(t){this.pattern?t.fillStyle=t.createPattern(this.pattern,"repeat"):t.fillStyle=this.fill,t.globalAlpha=this.opacity}draw(t,i,r){t.beginPath();for(var n of i.geom)for(var s=0;s{let r=i-e;return r>=0&&r{if(i<=t[0][0])return t[0][1];if(i>=t[t.length-1][0])return t[t.length-1][1];let r=0;for(;t[r+1][0]{l.globalAlpha=1;let c=this.sprites.get(this.name);l.drawImage(c.canvas,c.x,c.y,c.w,c.h,u.x-8,u.y-8,c.w/4,c.h/4)}}}},Lt=class{constructor(t){this.radius=t.radius||3,this.fill=t.fill||"black",this.stroke=t.stroke||"white",this.width=t.width||0}stash(t,i,r){let n=i.geom[0];return{anchor:new it.default(i.geom[0][0].x,i.geom[0][0].y),bbox:{minX:-20,minY:-20,maxX:20,maxY:20},draw:(l,u)=>{l.globalAlpha=1,this.width>0&&(l.fillStyle=this.stroke,l.beginPath(),l.arc(u.x,u.y,this.radius+this.width,0,2*Math.PI),l.fill()),l.fillStyle=this.fill,l.beginPath(),l.arc(u.x,u.y,this.radius,0,2*Math.PI),l.fill()}}}};var Ti=(e,t)=>({minX:Math.min(e.minX,t.minX),minY:Math.min(e.minY,t.minY),maxX:Math.max(e.maxX,t.maxX),maxY:Math.max(e.maxY,t.maxY)}),St=class{constructor(t){this.list=t}stash(t,i,r){var n=this.list[0].stash(t,i,r);let s=n.anchor,a=n.bbox,o=[n.draw];for(let u=1;u{o.forEach(x=>x(u,c))}}}},V=class{constructor(t){this.font=new ft(t),this.text=new ht(t),this.fill=t.fill,this.property=t.property||"name",this.stroke=t.stroke||"black",this.width=t.width||0,this.align=t.align||"left",this.offset=t.offset||0,this.textTransform=t.textTransform}stash(t,i,r){if(i.geomType==yt.Point){let n=new it.default(i.geom[0][0].x,i.geom[0][0].y),s=this.font.str(r,i.properties),a=this.text.str(r,i.properties);if(!a)return null;t.font=s;let o=t.measureText(a),l=2,u=o.width,c=o.actualBoundingBoxAscent,x=o.actualBoundingBoxDescent,p=this.offset,v={minX:p*4,minY:(-p-c)*4,maxX:(p+u)*4,maxY:(-p+x)*4},g=[-l,-c-l,u+l*2,c+x+l*2],F=0;return this.align=="center"&&(v={minX:-u*4/2,minY:-c*4,maxX:u*4/2,maxY:x*4},g=[-l-u/2,-c-l,u+l*2,c+x+l*2],F=-u/2),{anchor:n,bbox:v,draw:(f,d)=>{f.globalAlpha=1,f.font=s,this.width&&(f.lineWidth=this.width,f.strokeStyle=this.stroke,f.strokeText(a,d.x+F+p,d.y-p)),f.fillStyle=this.fill,f.fillText(a,d.x+F+p,d.y-p)}}}}},U=class{constructor(t){this.font=new ft(t),this.text=new ht(t),this.fill=t.fill||"black",this.stroke=t.stroke||"black",this.width=t.width||0}stash(t,i,r){let n=this.font.str(r,i.properties),s=this.text.str(r,i.properties);if(!s)return null;let a=i.bbox;if((a[3]-a[1])*(a[2]-a[0])<100)return;t.font=this.font;let u=t.measureText(s).width,c=Be(i.geom,u);if(!c)return;let x=c.end.x-c.start.x,p=c.end.y-c.start.y,v=new it.default(c.start.x,c.start.y);var g=0,F=x,h=0,f=p;x<0&&(g=x,F=0),p<0&&(h=p,f=0);let d={minX:g*4,minY:h*4,maxX:F*4,maxY:f*4};return{anchor:v,bbox:d,draw:(m,y)=>{m.beginPath(),m.globalAlpha=1,m.moveTo(y.x,y.y),m.save(),m.translate(y.x,y.y),m.rotate(Math.atan2(p,x)),x<0&&m.scale(0,-1),m.font=this.font,this.stroke>0&&(m.strokeStyle=this.stroke,m.lineWidth=this.width,m.strokeText(s,0,0)),m.fillStyle=this.fill,m.fillText(s,0,0),m.restore()}}}},Z=class{constructor(t){this.font=new ft(t),this.text=new ht(t),this.fill=t.fill||"black",this.stroke=t.stroke||"black",this.width=t.width||0}stash(t,i,r){let n=i.bbox;if((n[3]-n[1])*(n[2]-n[0])<2e5)return;let a=this.text.str(r,i.properties);if(!a)return null;let o=i.geom[0],l=(0,De.default)([o.map(m=>[m.x,m.y])]),u=new it.default(l[0],l[1]),c=this.font.str(r,i.properties);t.font=c;let x=Wt(a),p=14;var v,g=0;for(let m of x)m.length>g&&(g=m.length,v=m);let F=t.measureText(v),h=F.width,f={minX:-h*4/2,minY:-F.actualBoundingBoxAscent*4,maxX:h*4/2,maxY:(p*x.length-F.actualBoundingBoxAscent)*4},d=this.fill;return{anchor:u,bbox:f,draw:(m,y)=>{m.globalAlpha=1,m.font=c;var b=0;for(let S of x)this.width&&(m.lineWidth=this.width,m.strokeStyle=this.stroke,m.strokeText(S,y.x-h/2,y.y+b)),m.fillStyle=d,m.fillText(S,y.x-h/2,y.y+b),b+=p}}}};var Mt=e=>[{dataLayer:"earth",symbolizer:new B({fill:e.earth})},{dataLayer:"natural",symbolizer:new B({fill:e.glacier}),filter:t=>t.natural=="glacier"},{dataLayer:"landuse",symbolizer:new B({fill:e.residential}),filter:t=>t.landuse=="residential"||t.place=="neighbourhood"},{dataLayer:"landuse",symbolizer:new B({fill:e.hospital}),filter:t=>t.amenity=="hospital"},{dataLayer:"landuse",symbolizer:new B({fill:e.cemetery}),filter:t=>t.landuse=="cemetery"},{dataLayer:"landuse",symbolizer:new B({fill:e.school}),filter:t=>t.amenity=="school"||t.amenity=="kindergarten"||t.amenity=="university"||t.amenity=="college"},{dataLayer:"landuse",symbolizer:new B({fill:e.industrial}),filter:t=>t.landuse=="industrial"},{dataLayer:"natural",symbolizer:new B({fill:e.wood}),filter:t=>t.natural=="wood"},{dataLayer:"landuse",symbolizer:new B({fill:e.grass}),filter:t=>t.landuse=="grass"},{dataLayer:"landuse",symbolizer:new B({fill:e.park}),filter:t=>t.leisure=="park"},{dataLayer:"water",symbolizer:new B({fill:e.water})},{dataLayer:"natural",symbolizer:new B({fill:e.sand}),filter:t=>t.natural=="sand"},{dataLayer:"buildings",symbolizer:new B({fill:e.buildings})},{dataLayer:"roads",symbolizer:new P({color:e.highwayCasing,width:R(1.4,[[5,1.5],[11,4],[16,9],[20,40]])}),filter:t=>t["pmap:kind"]=="highway"},{dataLayer:"roads",symbolizer:new P({color:e.majorRoadCasing,width:R(1.4,[[9,3],[12,4],[17,8],[20,22]])}),filter:t=>t["pmap:kind"]=="major_road"},{dataLayer:"roads",symbolizer:new P({color:e.mediumRoadCasing,width:R(1.4,[[13,3],[17,6],[20,18]])}),filter:t=>t["pmap:kind"]=="medium_road"},{dataLayer:"roads",symbolizer:new P({color:e.minorRoadCasing,width:R(1.4,[[14,2],[17,5],[20,15]])}),filter:t=>t["pmap:kind"]=="minor_road"},{dataLayer:"roads",symbolizer:new P({color:e.highway,width:R(1.4,[[5,.5],[11,2.5],[16,7],[20,30]])}),filter:t=>t["pmap:kind"]=="highway"},{dataLayer:"roads",symbolizer:new P({color:e.majorRoad,width:R(1.4,[[9,2],[12,3],[17,6],[20,20]])}),filter:t=>t["pmap:kind"]=="major_road"},{dataLayer:"roads",symbolizer:new P({color:e.mediumRoad,width:R(1.4,[[13,2],[17,4],[20,15]])}),filter:t=>t["pmap:kind"]=="medium_road"},{dataLayer:"roads",symbolizer:new P({color:e.minorRoad,width:R(1.4,[[14,1],[17,3],[20,13]])}),filter:t=>t["pmap:kind"]=="minor_road"},{dataLayer:"boundaries",symbolizer:new P({color:e.boundaries,width:2,opacity:.4})},{dataLayer:"mask",symbolizer:new B({fill:e.mask})}],zt=e=>[{dataLayer:"places",symbolizer:new V({fill:e.countryLabel,font:(t,i)=>t<6?"800 14px sans-serif":"800 20px sans-serif",align:"center"}),filter:t=>t["pmap:kind"]=="country"},{dataLayer:"places",symbolizer:new V({fill:e.cityLabel,font:(t,i)=>i["pmap:rank"]==1?t>8?"600 24px sans-serif":"400 14px sans-serif":t>8?"400 20px sans-serif":"400 12px sans-serif"}),sort:(t,i)=>t["pmap:rank"]-i["pmap:rank"],filter:t=>t["pmap:kind"]=="city"},{dataLayer:"places",symbolizer:new V({fill:e.stateLabel,font:"600 16px sans-serif"}),filter:t=>t["pmap:kind"]=="state"},{dataLayer:"places",symbolizer:new V({fill:e.neighbourhoodLabel,font:"400 12px sans-serif"}),filter:t=>t["pmap:kind"]=="neighbourhood"},{dataLayer:"landuse",symbolizer:new Z({fill:e.landuseLabel,font:"400 14px sans-serif"})},{dataLayer:"water",symbolizer:new Z({fill:e.waterLabel,font:"italic 600 16px sans-serif"})},{dataLayer:"natural",symbolizer:new Z({fill:e.naturalLabel,font:"italic 400 12px sans-serif"})},{dataLayer:"roads",symbolizer:new U({fill:e.roadsLabel})},{dataLayer:"pois",symbolizer:new V({fill:e.poisLabel,font:"400 10px sans-serif"})}];var Ce={earth:"#FFFBF6",glacier:"#ffffff",residential:"#e7e7e7",hospital:"#FFF6F6",cemetery:"#EFF2EE",school:"#F7F6FF",industrial:"#FFF9EF",wood:"#F4F9EF",grass:"#EBF9E3",park:"#E5F9D5",water:"#B7DFF2",sand:"#ebebeb",buildings:"#F2EDE8",highwayCasing:"#FFC3C3",majorRoadCasing:"#FFB9B9",mediumRoadCasing:"#FFCE8E",minorRoadCasing:"#cccccc",highway:"#FFCEBB",majorRoad:"#FFE4B3",mediumRoad:"#FFF2C8",minorRoad:"#ffffff",boundaries:"#9e9e9e",mask:"#dddddd",countryLabel:"#dddddd",cityLabel:"#6C6C6C",stateLabel:"#cccccc",neighbourhoodLabel:"#888888",landuseLabel:"#898989",waterLabel:"#717171",naturalLabel:"4c4c4c",roadsLabel:"#888888",poisLabel:"#606060"},ut=Mt(Ce),ct=zt(Ce);var _t=class{constructor(t){this.paint_rules=t.paint_rules||ut,this.label_rules=t.label_rules||ct;let i=new ot(new at(t.url));this.view=new Rt(i,14,4096),this.debug=t.debug||!1}draw(t){return C(this,null,function*(){let i=new At(this.view,1,t,this.label_style),r=yield this.view.get(),n=yield i.get();for(let s of r){let a=wt({ctx:t},"key",s,n,this.paint_rules,!1)}})}};var Pe={earth:"#151515",glacier:"#1c1c1c",residential:"#252B2F",hospital:"#3E2C2C",cemetery:"#36483D",school:"#2C3440",industrial:"#33312C",wood:"#3A3E38",grass:"#4E604D",park:"#2C4034",water:"#4D5B73",sand:"#777777",buildings:"#464545",highwayCasing:"#000000",majorRoadCasing:"#1C1B1B",mediumRoadCasing:"#3E3E3E",minorRoadCasing:"#000000",highway:"#5B5B5B",majorRoad:"#595959",mediumRoad:"#4F4F4F",minorRoad:"#393939",boundaries:"#666666",mask:"#dddddd",countryLabel:"#ffffff",cityLabel:"#FFFFFF",stateLabel:"#ffffff",neighbourhoodLabel:"#FDFDFD",landuseLabel:"#DDDDDD",waterLabel:"#707E95",naturalLabel:"#4c4c4c",roadsLabel:"#C4C4C4",poisLabel:"#959393"},Nt=Mt(Pe),$t=zt(Pe);var Re=class{constructor(t){this.lang=t,this.unused=[]}get(t,i){if(this.unused.length){let n=this.unused.shift();return n.removed=!1,n}let r=L.DomUtil.create("canvas","leaflet-tile");return r.width=t,r.height=t,r.lang=this.lang,r}put(t){L.DomEvent.off("click"),L.DomUtil.removeClass(t,"leaflet-tile-loaded"),this.unused.push(t)}},Bi=e=>new Promise((t,i)=>{setTimeout(()=>{t()},e)}),kt=class extends L.GridLayer{constructor(t){t.noWrap&&!t.bounds&&(t.bounds=[[-90,-180],[90,180]]),super(t),this.paint_rules=t.paint_rules||(t.dark?Nt:ut),this.label_rules=t.label_rules||(t.dark?$t:ct);let i;t.url.url?i=new gt(t.url):t.url.endsWith(".pmtiles")?i=new gt(t.url):i=new at(t.url),this.tasks=t.tasks||[];let r=new ot(i);this.view=new Vt(r,14,4096,2,256),this.debug=t.debug;let n=document.createElement("canvas").getContext("2d");this.scratch=n,this.knockoutTiles=s=>{s.forEach(a=>{this.rerenderTile(a)})},this.labelers=new bt(this.view,this.scratch,this.label_rules,this.knockoutTiles),this.tile_size=256*window.devicePixelRatio,this.pool=new Re(t.lang),this._onClick=null}setDefaultStyle(t){this.paint_rules=t?Nt:ut,this.label_rules=t?$t:ct}onClick(t){this._onClick=t}renderTile(t,i,r,n=()=>{}){return C(this,null,function*(){let s={element:i,tile_size:this.tile_size,ctx:null};var a,o;try{a=yield this.view.get(t)}catch(g){if(g.name=="AbortError")return;throw g}yield Promise.allSettled(this.tasks);try{o=yield this.labelers.get(t)}catch(g){if(g.name=="AbortError")return;throw g}if(!this._map)return;let l=this._map.getCenter().wrap();var u=this._getTiledPixelBounds(l),c=this._pxBoundsToTileRange(u),x=c.getCenter();let p=t.distanceTo(x)*5;yield Bi(p);let v=wt(s,r,a,o,this.paint_rules,this.debug);if(this.debug){let g=s.ctx;if(!g)return;let F=this.view.dataTile(t);g.save(),g.fillStyle=this.debug,g.font="600 12px sans-serif",g.fillText(t.z+" "+t.x+" "+t.y,4,14),g.font="200 12px sans-serif",(F.x%2+F.y%2)%2==0&&(g.font="200 italic 12px sans-serif"),g.fillText(F.z+" "+F.x+" "+F.y,4,28),v>8&&g.fillText(v.toFixed()+" ms",4,42),g.strokeStyle=this.debug,g.lineWidth=.5,g.strokeRect(0,0,256,256),g.restore()}n()})}rerenderTile(t){for(var i in this._tiles){let r=this._wrapCoords(this._keyToTileCoords(i));t===this._tileCoordsToKey(r)&&this.renderTile(r,this._tiles[i].el,t)}}clearLayout(){this.labelers=new bt(this.view,this.scratch,this.label_rules,this.knockoutTiles)}rerenderTiles(){for(var t in this._tiles){let i=this._wrapCoords(this._keyToTileCoords(t)),r=this._tileCoordsToKey(i);this.renderTile(i,this._tiles[t].el,r)}}createTile(t,i){let r=this.pool.get(this.tile_size,s=>{let a=this._map.mouseEventToLatLng(s);this.view.within(t,s.offsetX,s.offsetY).then(o=>{this._onClick(a,o)})}),n=this._tileCoordsToKey(t);return r.key=n,this.renderTile(t,r,n,()=>{i(null,r)}),r}_removeTile(t){var i=this._tiles[t];!i||(i.el.removed=!0,i.el.key=void 0,L.DomUtil.remove(i.el),this.pool.put(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))}};function Ht(e){if(e.includes("$type"))return t=>!0;if(e[0]=="==")return t=>t[e[1]]===e[2];if(e[0]=="!=")return t=>t[e[1]]!==e[2];if(e[0]==="<")return t=>t[e[1]]")return t=>t[e[1]]>e[2];if(e[0]==="in")return t=>e.slice(2,e.length).includes(t[e[1]]);if(e[0]==="!in")return t=>!e.slice(2,e.length).includes(t[e[1]]);if(e[0]==="has")return t=>t.hasOwnProperty(e[1]);if(e[0]==="all"){let t=e.slice(1,e.length).map(i=>Ht(i));return i=>t.every(r=>r(i))}else if(e[0]==="any"){let t=e.slice(1,e.length).map(i=>Ht(i));return i=>t.some(r=>r(i))}else console.log("Unimplemented: ",e[0])}function Ve(e){if(!e||typeof e=="number")return e;if(e.base&&e.stops)return R(e.base,e.stops);console.log("Unimplemented: ",e)}function Di(e,t={}){let i=[];for(let s of e["text-font"])t.hasOwnProperty(s)&&i.push(t[s]);i.length===0&&i.push("sans-serif");let r=e["text-size"];if(typeof r=="number")return`${r}px ${i.join(", ")}`;if(r.stops){var n=1.4;return r.base&&(n=r.base),s=>`${Ve(r)(s)}px ${i.join(", ")}`}else console.log("Can't parse font: ",e)}function Qt(e){let t=[],i=[],r=new Map;for(var n of e.layers){if(r.set(n.id,n),n.layout&&n.layout.visibility=="none")continue;if(n.ref){let l=r.get(n.ref);n.type=l.type,n.filter=l.filter,n.source=l.source,n["source-layer"]=l["source-layer"]}let o=n["source-layer"];var s,a=void 0;n.filter&&(a=Ht(n.filter)),n.type=="fill"?t.push({dataLayer:n["source-layer"],filter:a,symbolizer:new FillSymbolizer({fill:n.paint["fill-color"],opacity:n.paint["fill-opacity"]})}):n.type=="line"?t.push({dataLayer:n["source-layer"],filter:a,symbolizer:new P({color:n.paint["line-color"],width:Ve(n.paint["line-width"])})}):n.type=="symbol"&&(n.layout["symbol-placement"]=="line"?i.push({dataLayer:n["source-layer"],filter:a,symbolizer:new U({fill:n.paint["text-color"],width:n.paint["text-halo-width"],stroke:n.paint["text-halo-color"]})}):i.push({dataLayer:n["source-layer"],filter:a,symbolizer:new V({font:Di(n.layout),fill:n.paint["text-color"],stroke:n.paint["text-halo-color"],width:n.paint["text-halo-width"]})}))}return{paint_style:t,label_style:i}}var Ci=e=>{let t=0,i=0;for(let o of e)t+=o.w*o.h,i=Math.max(i,o.w);e.sort((o,l)=>l.h-o.h);let r=Math.max(Math.ceil(Math.sqrt(t/.95)),i),n=[{x:0,y:0,w:r,h:Infinity}],s=0,a=0;for(let o of e)for(let l=n.length-1;l>=0;l--){let u=n[l];if(!(o.w>u.w||o.h>u.h)){if(o.x=u.x,o.y=u.y,a=Math.max(a,o.y+o.h),s=Math.max(s,o.x+o.w),o.w===u.w&&o.h===u.h){let c=n.pop();lnew Promise((t,i)=>{let r=new Image;r.onload=()=>t(r),r.onerror=i,r.src=e}),Gt=class{constructor(t){this.src=t,this.canvas=null}load(){return C(this,null,function*(){let t=this.src,i=window.devicePixelRatio;t.endsWith(".html")&&(t=yield(yield fetch(t)).text());let n=new window.DOMParser().parseFromString(t,"text/html").body.children;this.mapping={};let s=[];for(let c of n){var a=btoa(new XMLSerializer().serializeToString(c)),o="data:image/svg+xml;base64,"+a;let x=yield Pi(o);s.push({w:x.width*i,h:x.height*i,img:x,id:c.id})}let l=Ci(s);this.canvas=document.createElement("canvas"),this.canvas.width=l.w,this.canvas.height=l.h;let u=this.canvas.getContext("2d");for(let c of s)u.drawImage(c.img,c.x,c.y,c.w,c.h),this.mapping[c.id]={x:c.x,y:c.y,w:c.w,h:c.h};return this})}get(t){let i=this.mapping[t];if(!i)throw new Error(t+" not found");return i.canvas=this.canvas,i}},Xe=Gt;var Jt=(e,t,i)=>{let r=new FontFace(e,"url("+t+")",{weight:i});return document.fonts.add(r),r.load()},Kt=e=>new Xe(e);return Ri;})(); +var protomaps=(()=>{var Ie=Object.create,st=Object.defineProperty,Ae=Object.getPrototypeOf,Ue=Object.prototype.hasOwnProperty,Ze=Object.getOwnPropertyNames,qe=Object.getOwnPropertyDescriptor;var We=(e,t,i)=>t in e?st(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var Oe=e=>st(e,"__esModule",{value:!0});var Y=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),Ne=(e,t)=>{for(var i in t)st(e,i,{get:t[i],enumerable:!0})},je=(e,t,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ze(t))!Ue.call(e,r)&&r!=="default"&&st(e,r,{get:()=>t[r],enumerable:!(i=qe(t,r))||i.enumerable});return e},E=e=>je(Oe(st(e!=null?Ie(Ae(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var j=(e,t,i)=>(We(e,typeof t!="symbol"?t+"":t,i),i);var C=(e,t,i)=>new Promise((r,n)=>{var s=l=>{try{o(i.next(l))}catch(u){n(u)}},a=l=>{try{o(i.throw(l))}catch(u){n(u)}},o=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,a);o((i=i.apply(e,t)).next())});var H=Y((Yi,te)=>{"use strict";te.exports=$;function $(e,t){this.x=e,this.y=t}$.prototype={clone:function(){return new $(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,i=e.y-this.y;return t*t+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[0]*this.x+e[1]*this.y,i=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=i,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),i=Math.sin(e),r=t*this.x-i*this.y,n=i*this.x+t*this.y;return this.x=r,this.y=n,this},_rotateAround:function(e,t){var i=Math.cos(e),r=Math.sin(e),n=t.x+i*(this.x-t.x)-r*(this.y-t.y),s=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=n,this.y=s,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};$.convert=function(e){return e instanceof $?e:Array.isArray(e)?new $(e[0],e[1]):e}});var Tt=Y((Ei,ee)=>{"use strict";var $e=H();ee.exports=G;function G(e,t,i,r,n){this.properties={},this.extent=i,this.type=0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=n,e.readFields(He,this,t)}function He(e,t,i){e==1?t.id=i.readVarint():e==2?Ge(i,t):e==3?t.type=i.readVarint():e==4&&(t._geometry=i.pos)}function Ge(e,t){for(var i=e.readVarint()+e.pos;e.pos>3}if(r--,i===1||i===2)n+=e.readSVarint(),s+=e.readSVarint(),i===1&&(o&&a.push(o),o=[]),o.push(new $e(n,s));else if(i===7)o&&o.push(o[0].clone());else throw new Error("unknown command "+i)}return o&&a.push(o),a};G.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,i=1,r=0,n=0,s=0,a=Infinity,o=-Infinity,l=Infinity,u=-Infinity;e.pos>3}if(r--,i===1||i===2)n+=e.readSVarint(),s+=e.readSVarint(),no&&(o=n),su&&(u=s);else if(i!==7)throw new Error("unknown command "+i)}return[a,l,o,u]};G.prototype.toGeoJSON=function(e,t,i){var r=this.extent*Math.pow(2,i),n=this.extent*e,s=this.extent*t,a=this.loadGeometry(),o=G.types[this.type],l,u;function c(v){for(var g=0;g{"use strict";var Ke=Tt();ie.exports=re;function re(e,t){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(ti,this,t),this.length=this._features.length}function ti(e,t,i){e===15?t.version=i.readVarint():e===1?t.name=i.readString():e===5?t.extent=i.readVarint():e===2?t._features.push(i.pos):e===3?t._keys.push(i.readString()):e===4&&t._values.push(ei(i))}function ei(e){for(var t=null,i=e.readVarint()+e.pos;e.pos>3;t=r===1?e.readString():r===2?e.readFloat():r===3?e.readDouble():r===4?e.readVarint64():r===5?e.readVarint():r===6?e.readSVarint():r===7?e.readBoolean():null}return t}re.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Ke(this._pbf,t,this.extent,this._keys,this._values)}});var se=Y((Ai,ne)=>{"use strict";var ii=Bt();ne.exports=ri;function ri(e,t){this.layers=e.readFields(ni,{},t)}function ni(e,t,i){if(e===3){var r=new ii(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}});var ae=Y((Ui,mt)=>{mt.exports.VectorTile=se();mt.exports.VectorTileFeature=Tt();mt.exports.VectorTileLayer=Bt()});var oe=Y(Dt=>{Dt.read=function(e,t,i,r,n){var s,a,o=n*8-r-1,l=(1<>1,c=-7,p=i?n-1:0,x=i?-1:1,v=e[t+p];for(p+=x,s=v&(1<<-c)-1,v>>=-c,c+=o;c>0;s=s*256+e[t+p],p+=x,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=r;c>0;a=a*256+e[t+p],p+=x,c-=8);if(s===0)s=1-u;else{if(s===l)return a?NaN:(v?-1:1)*Infinity;a=a+Math.pow(2,r),s=s-u}return(v?-1:1)*a*Math.pow(2,s-r)};Dt.write=function(e,t,i,r,n,s){var a,o,l,u=s*8-n-1,c=(1<>1,x=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=r?0:s-1,g=r?1:-1,F=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===Infinity?(o=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+p>=1?t+=x/l:t+=x*Math.pow(2,1-p),t*l>=2&&(a++,l/=2),a+p>=c?(o=0,a=c):a+p>=1?(o=(t*l-1)*Math.pow(2,n),a=a+p):(o=t*Math.pow(2,p-1)*Math.pow(2,n),a=0));n>=8;e[i+v]=o&255,v+=g,o/=256,n-=8);for(a=a<0;e[i+v]=a&255,v+=g,a/=256,u-=8);e[i+v-g]|=F*128}});var de=Y((qi,le)=>{"use strict";le.exports=_;var xt=oe();function _(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}_.Varint=0;_.Fixed64=1;_.Bytes=2;_.Fixed32=5;var Ct=(1<<16)*(1<<16),he=1/Ct,si=12,fe=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");_.prototype={destroy:function(){this.buf=null},readFields:function(e,t,i){for(i=i||this.length;this.pos>3,s=this.pos;this.type=r&7,e(n,t,this),this.pos===s&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=pt(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=ce(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=pt(this.buf,this.pos)+pt(this.buf,this.pos+4)*Ct;return this.pos+=8,e},readSFixed64:function(){var e=pt(this.buf,this.pos)+ce(this.buf,this.pos+4)*Ct;return this.pos+=8,e},readFloat:function(){var e=xt.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=xt.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t=this.buf,i,r;return r=t[this.pos++],i=r&127,r<128||(r=t[this.pos++],i|=(r&127)<<7,r<128)||(r=t[this.pos++],i|=(r&127)<<14,r<128)||(r=t[this.pos++],i|=(r&127)<<21,r<128)?i:(r=t[this.pos],i|=(r&15)<<28,ai(i,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>=si&&fe?gi(this.buf,t,e):yi(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!==_.Bytes)return e.push(this.readVarint(t));var i=I(this);for(e=e||[];this.pos127;);else if(t===_.Bytes)this.pos=this.readVarint()+this.pos;else if(t===_.Fixed32)this.pos+=4;else if(t===_.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;t268435455||e<0){oi(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=wi(this.buf,e,this.pos);var i=this.pos-t;i>=128&&ue(t,i,this),this.pos=t-1,this.writeVarint(i),this.pos+=i},writeFloat:function(e){this.realloc(4),xt.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),xt.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 i=0;i=128&&ue(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,t,i){this.writeTag(e,_.Bytes),this.writeRawMessage(t,i)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,li,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,hi,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,ci,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,fi,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,ui,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,di,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,mi,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,xi,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,pi,t)},writeBytesField:function(e,t){this.writeTag(e,_.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,_.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,_.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,_.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,_.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,_.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,_.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,_.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,_.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,_.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};function ai(e,t,i){var r=i.buf,n,s;if(s=r[i.pos++],n=(s&112)>>4,s<128||(s=r[i.pos++],n|=(s&127)<<3,s<128)||(s=r[i.pos++],n|=(s&127)<<10,s<128)||(s=r[i.pos++],n|=(s&127)<<17,s<128)||(s=r[i.pos++],n|=(s&127)<<24,s<128)||(s=r[i.pos++],n|=(s&1)<<31,s<128))return J(e,n,t);throw new Error("Expected varint not more than 10 bytes")}function I(e){return e.type===_.Bytes?e.readVarint()+e.pos:e.pos+1}function J(e,t,i){return i?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function oi(e,t){var i,r;if(e>=0?(i=e%4294967296|0,r=e/4294967296|0):(i=~(-e%4294967296),r=~(-e/4294967296),i^4294967295?i=i+1|0:(i=0,r=r+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),bi(i,r,t),vi(r,t)}function bi(e,t,i){i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos++]=e&127|128,e>>>=7,i.buf[i.pos]=e&127}function vi(e,t){var i=(e&7)<<4;t.buf[t.pos++]|=i|((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 ue(e,t,i){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));i.realloc(r);for(var n=i.pos-1;n>=e;n--)i.buf[n+r]=i.buf[n]}function li(e,t){for(var i=0;i>>8,e[i+2]=t>>>16,e[i+3]=t>>>24}function ce(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function yi(e,t,i){for(var r="",n=t;n239?4:s>223?3:s>191?2:1;if(n+o>i)break;var l,u,c;o===1?s<128&&(a=s):o===2?(l=e[n+1],(l&192)==128&&(a=(s&31)<<6|l&63,a<=127&&(a=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(a=(s&15)<<12|(l&63)<<6|u&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(l=e[n+1],u=e[n+2],c=e[n+3],(l&192)==128&&(u&192)==128&&(c&192)==128&&(a=(s&15)<<18|(l&63)<<12|(u&63)<<6|c&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),n+=o}return r}function gi(e,t,i){return fe.decode(e.subarray(t,i))}function wi(e,t,i){for(var r=0,n,s;r55295&&n<57344)if(s)if(n<56320){e[i++]=239,e[i++]=191,e[i++]=189,s=n;continue}else n=s-55296<<10|n-56320|65536,s=null;else{n>56319||r+1===t.length?(e[i++]=239,e[i++]=191,e[i++]=189):s=n;continue}else s&&(e[i++]=239,e[i++]=191,e[i++]=189,s=null);n<128?e[i++]=n:(n<2048?e[i++]=n>>6|192:(n<65536?e[i++]=n>>12|224:(e[i++]=n>>18|240,e[i++]=n>>12&63|128),e[i++]=n>>6&63|128),e[i++]=n&63|128)}return i}});var be=Y((Yt,Et)=>{(function(e,t){typeof Yt=="object"&&typeof Et!="undefined"?Et.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self).RBush=t()})(Yt,function(){"use strict";function e(h,f,d,w,m){(function y(b,S,M,z,T){for(;z>M;){if(z-M>600){var k=z-M+1,D=S-M+1,rt=Math.log(k),Z=.5*Math.exp(2*rt/3),O=.5*Math.sqrt(rt*Z*(k-Z)/k)*(D-k/2<0?-1:1),N=Math.max(M,Math.floor(S-D*Z/k+O)),Ee=Math.min(z,Math.floor(S+(k-D)*Z/k+O));y(b,S,N,Ee,T)}var dt=b[S],nt=M,X=z;for(t(b,M,S),T(b[z],dt)>0&&t(b,M,z);nt0;)X--}T(b[M],dt)===0?t(b,M,X):t(b,++X,z),X<=S&&(M=X+1),S<=X&&(z=X-1)}})(h,f,d||0,w||h.length-1,m||i)}function t(h,f,d){var w=h[f];h[f]=h[d],h[d]=w}function i(h,f){return hf?1:0}var r=function(h){h===void 0&&(h=9),this._maxEntries=Math.max(4,h),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function n(h,f,d){if(!d)return f.indexOf(h);for(var w=0;w=h.minX&&f.maxY>=h.minY}function g(h){return{children:h,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function F(h,f,d,w,m){for(var y=[f,d];y.length;)if(!((d=y.pop())-(f=y.pop())<=w)){var b=f+Math.ceil((d-f)/w/2)*w;e(h,b,f,d,m),y.push(f,b,b,d)}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(h){var f=this.data,d=[];if(!v(h,f))return d;for(var w=this.toBBox,m=[];f;){for(var y=0;y=0&&m[f].children.length>this._maxEntries;)this._split(m,f),f--;this._adjustParentBBoxes(w,m,f)},r.prototype._split=function(h,f){var d=h[f],w=d.children.length,m=this._minEntries;this._chooseSplitAxis(d,m,w);var y=this._chooseSplitIndex(d,m,w),b=g(d.children.splice(y,d.children.length-y));b.height=d.height,b.leaf=d.leaf,s(d,this.toBBox),s(b,this.toBBox),f?h[f-1].children.push(b):this._splitRoot(d,b)},r.prototype._splitRoot=function(h,f){this.data=g([h,f]),this.data.height=h.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},r.prototype._chooseSplitIndex=function(h,f,d){for(var w,m,y,b,S,M,z,T=1/0,k=1/0,D=f;D<=d-f;D++){var rt=a(h,0,D,this.toBBox),Z=a(h,D,d,this.toBBox),O=(m=rt,y=Z,b=void 0,S=void 0,M=void 0,z=void 0,b=Math.max(m.minX,y.minX),S=Math.max(m.minY,y.minY),M=Math.min(m.maxX,y.maxX),z=Math.min(m.maxY,y.maxY),Math.max(0,M-b)*Math.max(0,z-S)),N=c(rt)+c(Z);O=f;T--){var k=h.children[T];o(b,h.leaf?m(k):k),S+=p(b)}return S},r.prototype._adjustParentBBoxes=function(h,f,d){for(var w=d;w>=0;w--)o(f[w],h)},r.prototype._condense=function(h){for(var f=h.length-1,d=void 0;f>=0;f--)h[f].children.length===0?f>0?(d=h[f-1].children).splice(d.indexOf(h[f]),1):this.clear():s(h[f],this.toBBox)},r})});var Se=Y((Ut,Zt)=>{(function(e,t){typeof Ut=="object"&&typeof Zt!="undefined"?Zt.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.TinyQueue=t())})(Ut,function(){"use strict";var e=function(r,n){if(r===void 0&&(r=[]),n===void 0&&(n=t),this.data=r,this.length=this.data.length,this.compare=n,this.length>0)for(var s=(this.length>>1)-1;s>=0;s--)this._down(s)};e.prototype.push=function(r){this.data.push(r),this.length++,this._up(this.length-1)},e.prototype.pop=function(){if(this.length!==0){var r=this.data[0],n=this.data.pop();return this.length--,this.length>0&&(this.data[0]=n,this._down(0)),r}},e.prototype.peek=function(){return this.data[0]},e.prototype._up=function(r){for(var n=this,s=n.data,a=n.compare,o=s[r];r>0;){var l=r-1>>1,u=s[l];if(a(o,u)>=0)break;s[r]=u,r=l}s[r]=o},e.prototype._down=function(r){for(var n=this,s=n.data,a=n.compare,o=this.length>>1,l=s[r];r=0)break;s[r]=c,r=u}s[r]=l};function t(i,r){return ir?1:0}return e})});var ze=Y((Ki,qt)=>{"use strict";var vt=Se();vt.default&&(vt=vt.default);qt.exports=Me;qt.exports.default=Me;function Me(e,t,i){t=t||1;for(var r,n,s,a,o=0;os)&&(s=l[0]),(!o||l[1]>a)&&(a=l[1])}var u=s-r,c=a-n,p=Math.min(u,c),x=p/2;if(p===0){var v=[r,n];return v.distance=0,v}for(var g=new vt(void 0,Si),F=r;Ff.d&&(f=d);for(var w=g.length;g.length;){var m=g.pop();m.d>f.d&&(f=m,i&&console.log("found best %d after %d probes",Math.round(1e4*m.d)/1e4,w)),!(m.max-f.d<=t)&&(x=m.h/2,g.push(new A(m.x-x,m.y-x,x,e)),g.push(new A(m.x+x,m.y-x,x,e)),g.push(new A(m.x-x,m.y+x,x,e)),g.push(new A(m.x+x,m.y+x,x,e)),w+=4)}i&&(console.log("num probes: "+w),console.log("best distance: "+f.d));var y=[f.x,f.y];return y.distance=f.d,y}function Si(e,t){return t.max-e.max}function A(e,t,i,r){this.x=e,this.y=t,this.h=i,this.d=zi(e,t,r),this.max=this.d+this.h*Math.SQRT2}function zi(e,t,i){for(var r=!1,n=Infinity,s=0;st!=p[1]>t&&e<(p[0]-c[0])*(t-c[1])/(p[1]-c[1])+c[0]&&(r=!r),n=Math.min(n,_i(e,t,c,p))}return n===0?0:(r?1:-1)*Math.sqrt(n)}function Mi(e){for(var t=0,i=0,r=0,n=e[0],s=0,a=n.length,o=a-1;s1?(n=r[0],s=r[1]):l>0&&(n+=a*l,s+=o*l)}return a=e-n,o=t-s,a*a+o*o}});var ke=Y((ir,_e)=>{_e.exports=function(e,t){var i=[],r=[null],n,s,a,o=0,l=0,u=0,c=0,p=0,x=0,v=0,g=0,F=0,h=0,f=0,d=0;if(e.length<2)return[];if(e.length===2)return u=Math.sqrt(Math.pow(e[1].x-e[0].x,2)+Math.pow(e[1].y-e[0].y,2)),[{length:u,beginIndex:0,beginDistance:0,endIndex:2,endDistance:u,angles:[null,null]}];for(c=Math.sqrt(Math.pow(e[1].x-e[0].x,2)+Math.pow(e[1].y-e[0].y,2)),o=1,l=e.length-1;ot&&(i.push({length:u-d,beginDistance:d,beginIndex:f,endIndex:o+1,endDistance:u,angles:r}),f=o,d=u,r=[h]),c=p;return r.push(null),o-f>0&&i.push({length:u-d+p,beginIndex:f,beginDistance:d,endIndex:o+1,endDistance:u+p,angles:r}),i}});var Ri={};Ne(Ri,{CircleSymbolizer:()=>Lt,Font:()=>Jt,GroupSymbolizer:()=>St,IconSymbolizer:()=>Ft,LeafletLayer:()=>kt,LineLabelSymbolizer:()=>it,LineSymbolizer:()=>P,PMTiles:()=>K,PolygonLabelSymbolizer:()=>U,PolygonSymbolizer:()=>B,Sprites:()=>Kt,Static:()=>_t,TextSymbolizer:()=>R,arr:()=>Nt,createPattern:()=>Ot,exp:()=>V,json_style:()=>Gt});var ye=E(ae()),ge=E(de());var me=(e,t)=>e*Math.pow(2,t),xe=(e,t)=>me(e.getUint16(t+1,!0),8)+e.getUint8(t,!0),Fi=(e,t)=>me(e.getUint32(t+2,!0),16)+e.getUint16(t,!0),Li=e=>{var t=e.getUint16(0,!0),i=e.getUint16(2,!0),r=e.getUint32(4,!0),n=e.getUint16(8,!0);return{version:i,json_size:r,root_entries:n}},pe=e=>{let t=new Map;for(var i=0;i>7,a=xe(e,i+1),o=xe(e,i+4),l=Fi(e,i+7),u=e.getUint32(i+13,!0);t.set(n+"_"+a+"_"+o,[l,u,s])}return t},K=class{constructor(t){j(this,"metadata",t=>new Promise((i,r)=>{this.root.then(n=>{i(n.metadata)})}));j(this,"getLeaf",(t,i)=>new Promise((r,n)=>{this.leaves.has(t)?(this.leaves.get(t)[0]++,r(this.leaves.get(t)[1])):this.outstanding_requests.has(t)?this.outstanding_requests.get(t).push(r):(this.outstanding_requests.set(t,[]),fetch(this.url,{headers:{Range:"bytes="+t+"-"+(t+i-1)}}).then(s=>s.arrayBuffer()).then(s=>{var a=pe(new DataView(s),i/17);if(this.leaves.size>32){var o=Infinity,l=void 0;this.leaves.forEach((u,c)=>{u[0]u(a)),this.outstanding_requests.delete(t)}))}));j(this,"getZxy",(t,i,r)=>{var n=t+"_"+i+"_"+r;return this.root.then(s=>{if(s.dir.has(n)&&s.dir.get(n)[2]==0)return s.dir.get(n);if(t>=7){var a=t-7,o=[7,Math.trunc(i/(1<c.has(n)?c.get(n):null)}}return null})});j(this,"transformRequest",(t,i,r,n)=>{if(t.endsWith(".pmtiles")&&n){var s=r.tileID.canonical,a=s.z+"_"+s.x+"_"+s.y;this.getZxy(s.z,s.x,s.y).then(o=>{o&&n({url:this.url,headers:{Range:"bytes="+o[0]+"-"+(o[0]+o[1]-1)}})})}return{url:t}});j(this,"leafletLayer",t=>{let i=this;var r=L.GridLayer.extend({createTile:function(n,s){var a=document.createElement("img"),o;return i.getZxy(n.z,n.x,n.y).then(l=>{l!==null&&fetch(i.url,{headers:{Range:"bytes="+l[0]+"-"+(l[0]+l[1]-1)}}).then(u=>u.arrayBuffer()).then(u=>{var c=new Blob([u],{type:"image/png"}),p=window.URL.createObjectURL(c);a.src=p,s(o,a)})}),a},_removeTile:function(n){var s=this._tiles[n];!s||(s.el.width=0,s.el.height=0,s.el.deleted=!0,L.DomUtil.remove(s.el),delete this._tiles[n],this.fire("tileunload",{tile:s.el,coords:this._keyToTileCoords(n)}))}});return new r(t)});this.url=t;let i=new AbortController,r=i.signal;this.root=fetch(this.url,{signal:r,headers:{Range:"bytes=0-511999"}}).then(n=>(n.headers.get("Content-Length")!=512e3&&(console.error("Content-Length mismatch indicates byte serving not supported; aborting."),i.abort()),n.arrayBuffer())).then(n=>{let s=Li(new DataView(n,0,10));var a=new TextDecoder("utf-8");return{metadata:JSON.parse(a.decode(new DataView(n,10,s.json_size))),dir:pe(new DataView(n,10+s.json_size,17*s.root_entries))}}),this.step=0,this.leaves=new Map,this.outstanding_requests=new Map}};var yt;(function(e){e[e.Point=1]="Point",e[e.Line=2]="Line",e[e.Polygon=3]="Polygon"})(yt||(yt={}));function tt(e){return e.x+":"+e.y+":"+e.z}function we(e){let t=new ye.VectorTile(new ge.default(e)),i={};for(let[r,n]of Object.entries(t.layers)){let s=[],a=n;for(let o=0;os[0]!=t.z?(s[1].abort(),!1):!0);let i=yield this.p.getZxy(t.z,t.x,t.y);if(!i)throw new Error(`Tile ${t.z} ${t.x} ${t.y} not found in archive`);let r=new AbortController;this.controllers.push([t.z,r]);let n=r.signal;return new Promise((s,a)=>{fetch(this.p.url,{headers:{Range:"bytes="+i[0]+"-"+(i[0]+i[1]-1)},signal:n}).then(o=>o.arrayBuffer()).then(o=>{let l=we(o);s(l)}).catch(o=>{a(o)})})})}},at=class{constructor(t){this.url=t,this.controllers=[]}get(t){return C(this,null,function*(){this.controllers=this.controllers.filter(s=>s[0]!=t.z?(s[1].abort(),!1):!0);let i=this.url.replace("{z}",t.z.toString()).replace("{x}",t.x.toString()).replace("{y}",t.y.toString()),r=new AbortController;this.controllers.push([t.z,r]);let n=r.signal;return new Promise((s,a)=>{fetch(i,{signal:n}).then(o=>o.arrayBuffer()).then(o=>{let l=we(o);s(l)}).catch(o=>{a(o)})})})}},ot=class{constructor(t){this.source=t,this.cache=new Map,this.inflight=new Map}get(t){return C(this,null,function*(){let i=tt(t);return new Promise((r,n)=>{if(this.cache.has(i)){let s=this.cache.get(i);s.used=performance.now(),r(s.data)}else this.inflight.has(i)?this.inflight.get(i).push([r,n]):(this.inflight.set(i,[]),this.source.get(t).then(s=>{if(this.cache.set(i,{used:performance.now(),data:s}),this.inflight.get(i).forEach(a=>a[0](s)),this.inflight.delete(i),r(s),this.cache.size>=64){let a=Infinity,o;this.cache.forEach((l,u)=>{l.used{this.inflight.get(i).forEach(a=>a[1](s)),this.inflight.delete(i),n(s)}))})})}};var q=E(H()),Pt=class{},Vt=class extends Pt{constructor(t,i,r){super();this.tileCache=t,this.dataResolution=r,this.maxDataLevel=i}get(){return C(this,null,function*(){let t=[{z:2,x:0,y:0},{z:2,x:0,y:1},{z:2,x:1,y:0},{z:2,x:1,y:1}];return(yield Promise.all(t.map(r=>this.tileCache.get(r)))).map((r,n)=>({data:r,bbox:[0,0,4096,4096],transform:{scale:.25,translate:new q.default(1024*t[n].x,1024*t[n].y)},tile:t[n],z:1}))})}},Rt=class extends Pt{constructor(t,i,r,n,s){super();this.tileCache=t,this.maxDataLevel=i,this.dataResolution=r,this.levelDiff=n,this.displayResolution=s}dataTile(t){var i;if(t.z>t.z-this.maxDataLevel-this.levelDiff,r=this.dataTile(t),n=1<a.x&&p[3]>a.y&&o.push([l,c])}return o})}};var Xt=E(H());function wt(e,t,i,r,n,s){let a=performance.now(),o;if(e.ctx?o=e.ctx:(o=e.element.getContext("2d"),e.ctx=o),e.element&&e.element.key!=t)return;o.setTransform(e.tile_size/256,0,0,e.tile_size/256,0,0),o.clearRect(0,0,256,256),o.miterLimit=2;for(var l of n)if(!(l.minzoom&&i.zl.maxzoom)){var u=i.data[l.dataLayer];if(u!==void 0){l.symbolizer.before(o,i.z);for(var c of u){var p=c.bbox,x=i.bbox;p[2]x[2]||p[1]>x[3]||p[3]l.maxzoom)continue;let u=i[l.dataLayer];if(u===void 0)continue;let c=u;l.sort&&c.sort((p,x)=>l.sort(p.properties,x.properties));for(let p of c){if(l.filter&&!l.filter(p.properties))continue;let x=l.symbolizer.stash(this.scratch,p,this.z);if(!x)continue;let v=x.anchor,g=x.bbox,F={minX:(t.x*a+v.x)*s+g.minX,minY:(t.y*a+v.y)*s+g.minY,maxX:(t.x*a+v.x)*s+g.maxX,maxY:(t.y*a+v.y)*s+g.maxY},h=this.tree.search(F);if(h.length==0){let f={anchor:new W.default(t.x*a+v.x,t.y*a+v.y).mult(s),draw:x.draw,order:o,key:tt(t)};this.tree.insert(Object.assign(f,F));let d=a*s;(F.maxX>(t.x+1)*d||F.minX(t.y+1)*d)&&this.findSpills(n,t,F)}else{let f=!0;for(let d of h)o>=d.order&&(f=!1);if(f){for(let w of h)this.findSpills(n,t,w),this.tree.remove(w);let d={anchor:new W.default(t.x*a+v.x,t.y*a+v.y).mult(s),draw:x.draw,order:o};this.tree.insert(Object.assign(d,F))}}}}return n.size>0&&this.listener(n),!0}},At=class extends It{constructor(t,i,r,n){super(t,i,r,n);this.active=!0}get(){return C(this,null,function*(){let t=yield this.view.get();for(let i of t)this.layout(i.tile,i.data);return{data:this.tree,bbox:{minX:0,minY:0,maxX:16384,maxY:16384},transform:{scale:.25,translate:new W.default(-0,-0)}}})}findSpills(){}},Le=class extends It{constructor(t,i,r,n,s){super(t,i,r,n);this.active=!1;this.current=new Set,this.inflight=new Map,this.listener=s}findSpills(t,i,r){let n=this.view.covering(this.z,i,r);for(let s of n){let a=tt({z:s.z-2,x:Math.floor(s.x/4),y:Math.floor(s.y/4)});this.current.has(a)&&t.add(tt(s))}}getTree(t){let i=tt(t);return new Promise((r,n)=>{this.current.has(i)?r(this.tree):this.inflight.get(i)?this.inflight.get(i).push([r,n]):(this.inflight.set(i,[]),this.view.tileCache.get(t).then(s=>{if(this.layout(t,s)){if(this.current.add(i),this.inflight.get(i).forEach(o=>o[0](this.tree)),this.inflight.delete(i),r(this.tree),this.current.size>16){let o,l=0;for(let c of this.current){let p=c.split(":"),x=Math.sqrt(Math.pow(p[0]-t.x,2)+Math.pow(p[1]-t.y,2));x>l&&(l=x,o=c)}this.current.delete(o);let u=[];for(let c of this.tree.all())c.key===o&&u.push(c);u.forEach(c=>{this.tree.remove(c)})}}else{let o=new Fe("cancel");this.inflight.get(i).forEach(l=>l[1](o)),this.inflight.delete(i),n(o)}}).catch(s=>{this.inflight.get(i).forEach(a=>a[1](s)),this.inflight.delete(i),n(s)}))})}bbox(t){let i=this.view.dataResolution/(1<{i.active=!1}),this.labelers.get(t.z)||this.labelers.set(t.z,new Le(this.view,t.z,this.scratch,this.labelStyle,this.listener)),this.labelers.get(t.z).active=!0,this.labelers.get(t.z).get(t)})}};var et=E(H());var De=E(ze());function Wt(e,t){if(e.length<=15)return[e];let i=e.lastIndexOf(" ",14),r=e.indexOf(" ",14);if(i==-1&&r==-1)return[e];let n,s;return r==-1||14-i=t&&o.length>n&&(n=o.length,i=s[o.beginIndex],r=s[o.endIndex-1])}if(!!i)return{start:i,end:r}}var Ot=(e,t,i)=>{let r=document.createElement("canvas"),n=r.getContext("2d");return r.width=e,r.height=t,i(r,n),r},B=class{constructor(t){this.fill=t.fill||"#000000",this.opacity=t.opacity||1,this.pattern=t.pattern}before(t){this.pattern?t.fillStyle=t.createPattern(this.pattern,"repeat"):t.fillStyle=this.fill,t.globalAlpha=this.opacity}draw(t,i,r){t.beginPath();for(var n of i.geom)for(var s=0;s{let r=i-e;return r>=0&&r{if(i<=t[0][0])return t[0][1];if(i>=t[t.length-1][0])return t[t.length-1][1];let r=0;for(;t[r+1][0]{l.globalAlpha=1;let c=this.sprites.get(this.name);l.drawImage(c.canvas,c.x,c.y,c.w,c.h,u.x-8,u.y-8,c.w/4,c.h/4)}}}},Lt=class{constructor(t){this.radius=t.radius||3,this.fill=t.fill||"black",this.stroke=t.stroke||"white",this.width=t.width||0}stash(t,i,r){let n=i.geom[0];return{anchor:new et.default(i.geom[0][0].x,i.geom[0][0].y),bbox:{minX:-20,minY:-20,maxX:20,maxY:20},draw:(l,u)=>{l.globalAlpha=1,this.width>0&&(l.fillStyle=this.stroke,l.beginPath(),l.arc(u.x,u.y,this.radius+this.width,0,2*Math.PI),l.fill()),l.fillStyle=this.fill,l.beginPath(),l.arc(u.x,u.y,this.radius,0,2*Math.PI),l.fill()}}}};var Bi=(e,t)=>({minX:Math.min(e.minX,t.minX),minY:Math.min(e.minY,t.minY),maxX:Math.max(e.maxX,t.maxX),maxY:Math.max(e.maxY,t.maxY)}),St=class{constructor(t){this.list=t}stash(t,i,r){var n=this.list[0].stash(t,i,r);let s=n.anchor,a=n.bbox,o=[n.draw];for(let u=1;u{o.forEach(p=>p(u,c))}}}},R=class{constructor(t){this.font=new ft(t),this.text=new ht(t),this.fill=t.fill,this.property=t.property||"name",this.stroke=t.stroke||"black",this.width=t.width||0,this.align=t.align||"left",this.offset=t.offset||0,this.textTransform=t.textTransform}stash(t,i,r){if(i.geomType==yt.Point){let n=new et.default(i.geom[0][0].x,i.geom[0][0].y),s=this.font.str(r,i.properties),a=this.text.str(r,i.properties);if(!a)return null;t.font=s;let o=t.measureText(a),l=2,u=o.width,c=o.actualBoundingBoxAscent,p=o.actualBoundingBoxDescent,x=this.offset,v={minX:x*4,minY:(-x-c)*4,maxX:(x+u)*4,maxY:(-x+p)*4},g=[-l,-c-l,u+l*2,c+p+l*2],F=0;return this.align=="center"&&(v={minX:-u*4/2,minY:-c*4,maxX:u*4/2,maxY:p*4},g=[-l-u/2,-c-l,u+l*2,c+p+l*2],F=-u/2),{anchor:n,bbox:v,draw:(f,d)=>{f.globalAlpha=1,f.font=s,this.width&&(f.lineWidth=this.width,f.strokeStyle=this.stroke,f.strokeText(a,d.x+F+x,d.y-x)),f.fillStyle=this.fill,f.fillText(a,d.x+F+x,d.y-x)}}}}},it=class{constructor(t){this.font=new ft(t),this.text=new ht(t),this.fill=t.fill||"black",this.stroke=t.stroke||"black",this.width=t.width||0}stash(t,i,r){let n=this.font.str(r,i.properties),s=this.text.str(r,i.properties);if(!s)return null;let a=i.bbox;if((a[3]-a[1])*(a[2]-a[0])<100)return;t.font=this.font;let u=t.measureText(s).width,c=Be(i.geom,u);if(!c)return;let p=c.end.x-c.start.x,x=c.end.y-c.start.y,v=new et.default(c.start.x,c.start.y);var g=0,F=p,h=0,f=x;p<0&&(g=p,F=0),x<0&&(h=x,f=0);let d={minX:g*4,minY:h*4,maxX:F*4,maxY:f*4};return{anchor:v,bbox:d,draw:(m,y)=>{m.beginPath(),m.globalAlpha=1,m.moveTo(y.x,y.y),m.save(),m.translate(y.x,y.y),m.rotate(Math.atan2(x,p)),p<0&&m.scale(0,-1),m.font=n,this.stroke>0&&(m.strokeStyle=this.stroke,m.lineWidth=this.width,m.strokeText(s,0,0)),m.fillStyle=this.fill,m.fillText(s,0,0),m.restore()}}}},U=class{constructor(t){this.font=new ft(t),this.text=new ht(t),this.fill=t.fill||"black",this.stroke=t.stroke||"black",this.width=t.width||0}stash(t,i,r){let n=i.bbox;if((n[3]-n[1])*(n[2]-n[0])<2e5)return;let a=this.text.str(r,i.properties);if(!a)return null;let o=i.geom[0],l=(0,De.default)([o.map(m=>[m.x,m.y])]),u=new et.default(l[0],l[1]),c=this.font.str(r,i.properties);t.font=c;let p=Wt(a),x=14;var v,g=0;for(let m of p)m.length>g&&(g=m.length,v=m);let F=t.measureText(v),h=F.width,f={minX:-h*4/2,minY:-F.actualBoundingBoxAscent*4,maxX:h*4/2,maxY:(x*p.length-F.actualBoundingBoxAscent)*4},d=this.fill;return{anchor:u,bbox:f,draw:(m,y)=>{m.globalAlpha=1,m.font=c;var b=0;for(let S of p)this.width&&(m.lineWidth=this.width,m.strokeStyle=this.stroke,m.strokeText(S,y.x-h/2,y.y+b)),m.fillStyle=d,m.fillText(S,y.x-h/2,y.y+b),b+=x}}}};var Mt=e=>[{dataLayer:"earth",symbolizer:new B({fill:e.earth})},{dataLayer:"natural",symbolizer:new B({fill:e.glacier}),filter:t=>t.natural=="glacier"},{dataLayer:"landuse",symbolizer:new B({fill:e.residential}),filter:t=>t.landuse=="residential"||t.place=="neighbourhood"},{dataLayer:"landuse",symbolizer:new B({fill:e.hospital}),filter:t=>t.amenity=="hospital"},{dataLayer:"landuse",symbolizer:new B({fill:e.cemetery}),filter:t=>t.landuse=="cemetery"},{dataLayer:"landuse",symbolizer:new B({fill:e.school}),filter:t=>t.amenity=="school"||t.amenity=="kindergarten"||t.amenity=="university"||t.amenity=="college"},{dataLayer:"landuse",symbolizer:new B({fill:e.industrial}),filter:t=>t.landuse=="industrial"},{dataLayer:"natural",symbolizer:new B({fill:e.wood}),filter:t=>t.natural=="wood"},{dataLayer:"landuse",symbolizer:new B({fill:e.grass}),filter:t=>t.landuse=="grass"},{dataLayer:"landuse",symbolizer:new B({fill:e.park}),filter:t=>t.leisure=="park"},{dataLayer:"water",symbolizer:new B({fill:e.water})},{dataLayer:"natural",symbolizer:new B({fill:e.sand}),filter:t=>t.natural=="sand"},{dataLayer:"buildings",symbolizer:new B({fill:e.buildings})},{dataLayer:"roads",symbolizer:new P({color:e.highwayCasing,width:V(1.4,[[5,1.5],[11,4],[16,9],[20,40]])}),filter:t=>t["pmap:kind"]=="highway"},{dataLayer:"roads",symbolizer:new P({color:e.majorRoadCasing,width:V(1.4,[[9,3],[12,4],[17,8],[20,22]])}),filter:t=>t["pmap:kind"]=="major_road"},{dataLayer:"roads",symbolizer:new P({color:e.mediumRoadCasing,width:V(1.4,[[13,3],[17,6],[20,18]])}),filter:t=>t["pmap:kind"]=="medium_road"},{dataLayer:"roads",symbolizer:new P({color:e.minorRoadCasing,width:V(1.4,[[14,2],[17,5],[20,15]])}),filter:t=>t["pmap:kind"]=="minor_road"},{dataLayer:"roads",symbolizer:new P({color:e.highway,width:V(1.4,[[5,.5],[11,2.5],[16,7],[20,30]])}),filter:t=>t["pmap:kind"]=="highway"},{dataLayer:"roads",symbolizer:new P({color:e.majorRoad,width:V(1.4,[[9,2],[12,3],[17,6],[20,20]])}),filter:t=>t["pmap:kind"]=="major_road"},{dataLayer:"roads",symbolizer:new P({color:e.mediumRoad,width:V(1.4,[[13,2],[17,4],[20,15]])}),filter:t=>t["pmap:kind"]=="medium_road"},{dataLayer:"roads",symbolizer:new P({color:e.minorRoad,width:V(1.4,[[14,1],[17,3],[20,13]])}),filter:t=>t["pmap:kind"]=="minor_road"},{dataLayer:"boundaries",symbolizer:new P({color:e.boundaries,width:2,opacity:.4})},{dataLayer:"mask",symbolizer:new B({fill:e.mask})}],zt=e=>[{dataLayer:"places",symbolizer:new R({fill:e.countryLabel,font:(t,i)=>t<6?"800 14px sans-serif":"800 20px sans-serif",align:"center"}),filter:t=>t["pmap:kind"]=="country"},{dataLayer:"places",symbolizer:new R({fill:e.cityLabel,font:(t,i)=>i["pmap:rank"]==1?t>8?"600 24px sans-serif":"400 14px sans-serif":t>8?"400 20px sans-serif":"400 12px sans-serif"}),sort:(t,i)=>t["pmap:rank"]-i["pmap:rank"],filter:t=>t["pmap:kind"]=="city"},{dataLayer:"places",symbolizer:new R({fill:e.stateLabel,font:"600 16px sans-serif"}),filter:t=>t["pmap:kind"]=="state"},{dataLayer:"places",symbolizer:new R({fill:e.neighbourhoodLabel,font:"400 12px sans-serif"}),filter:t=>t["pmap:kind"]=="neighbourhood"},{dataLayer:"landuse",symbolizer:new U({fill:e.landuseLabel,font:"400 14px sans-serif"})},{dataLayer:"water",symbolizer:new U({fill:e.waterLabel,font:"italic 600 16px sans-serif"})},{dataLayer:"natural",symbolizer:new U({fill:e.naturalLabel,font:"italic 400 12px sans-serif"})},{dataLayer:"pois",symbolizer:new R({fill:e.poisLabel,font:"400 10px sans-serif"})}];var Ce={earth:"#FFFBF6",glacier:"#ffffff",residential:"#e7e7e7",hospital:"#FFF6F6",cemetery:"#EFF2EE",school:"#F7F6FF",industrial:"#FFF9EF",wood:"#F4F9EF",grass:"#EBF9E3",park:"#E5F9D5",water:"#B7DFF2",sand:"#ebebeb",buildings:"#F2EDE8",highwayCasing:"#FFC3C3",majorRoadCasing:"#FFB9B9",mediumRoadCasing:"#FFCE8E",minorRoadCasing:"#cccccc",highway:"#FFCEBB",majorRoad:"#FFE4B3",mediumRoad:"#FFF2C8",minorRoad:"#ffffff",boundaries:"#9e9e9e",mask:"#dddddd",countryLabel:"#dddddd",cityLabel:"#6C6C6C",stateLabel:"#cccccc",neighbourhoodLabel:"#888888",landuseLabel:"#898989",waterLabel:"#717171",naturalLabel:"4c4c4c",roadsLabel:"#888888",poisLabel:"#606060"},ut=Mt(Ce),ct=zt(Ce);var _t=class{constructor(t){this.paint_rules=t.paint_rules||ut,this.label_rules=t.label_rules||ct;let i=new ot(new at(t.url));this.view=new Vt(i,14,4096),this.debug=t.debug||!1}draw(t){return C(this,null,function*(){let i=new At(this.view,1,t,this.label_style),r=yield this.view.get(),n=yield i.get();for(let s of r){let a=wt({ctx:t},"key",s,n,this.paint_rules,!1)}})}};var Pe={earth:"#151515",glacier:"#1c1c1c",residential:"#252B2F",hospital:"#3E2C2C",cemetery:"#36483D",school:"#2C3440",industrial:"#33312C",wood:"#3A3E38",grass:"#4E604D",park:"#2C4034",water:"#4D5B73",sand:"#777777",buildings:"#464545",highwayCasing:"#000000",majorRoadCasing:"#1C1B1B",mediumRoadCasing:"#3E3E3E",minorRoadCasing:"#000000",highway:"#5B5B5B",majorRoad:"#595959",mediumRoad:"#4F4F4F",minorRoad:"#393939",boundaries:"#666666",mask:"#dddddd",countryLabel:"#ffffff",cityLabel:"#FFFFFF",stateLabel:"#ffffff",neighbourhoodLabel:"#FDFDFD",landuseLabel:"#DDDDDD",waterLabel:"#707E95",naturalLabel:"#4c4c4c",roadsLabel:"#C4C4C4",poisLabel:"#959393"},jt=Mt(Pe),$t=zt(Pe);var Ve=class{constructor(t){this.lang=t,this.unused=[]}get(t,i){if(this.unused.length){let n=this.unused.shift();return n.removed=!1,n}let r=L.DomUtil.create("canvas","leaflet-tile");return r.width=t,r.height=t,r.lang=this.lang,r}put(t){L.DomEvent.off("click"),L.DomUtil.removeClass(t,"leaflet-tile-loaded"),this.unused.push(t)}},Di=e=>new Promise((t,i)=>{setTimeout(()=>{t()},e)}),kt=class extends L.GridLayer{constructor(t){t.noWrap&&!t.bounds&&(t.bounds=[[-90,-180],[90,180]]),super(t),this.paint_rules=t.paint_rules||(t.dark?jt:ut),this.label_rules=t.label_rules||(t.dark?$t:ct);let i;t.url.url?i=new gt(t.url):t.url.endsWith(".pmtiles")?i=new gt(t.url):i=new at(t.url),this.tasks=t.tasks||[];let r=new ot(i);this.view=new Rt(r,14,4096,2,256),this.debug=t.debug;let n=document.createElement("canvas").getContext("2d");this.scratch=n,this.knockoutTiles=s=>{s.forEach(a=>{this.rerenderTile(a)})},this.labelers=new bt(this.view,this.scratch,this.label_rules,this.knockoutTiles),this.tile_size=256*window.devicePixelRatio,this.pool=new Ve(t.lang),this._onClick=null}setDefaultStyle(t){this.paint_rules=t?jt:ut,this.label_rules=t?$t:ct}onClick(t){this._onClick=t}renderTile(t,i,r,n=()=>{}){return C(this,null,function*(){let s={element:i,tile_size:this.tile_size,ctx:null};var a,o;try{a=yield this.view.get(t)}catch(g){if(g.name=="AbortError")return;throw g}yield Promise.allSettled(this.tasks);try{o=yield this.labelers.get(t)}catch(g){if(g.name=="AbortError")return;throw g}if(!this._map)return;let l=this._map.getCenter().wrap();var u=this._getTiledPixelBounds(l),c=this._pxBoundsToTileRange(u),p=c.getCenter();let x=t.distanceTo(p)*5;yield Di(x);let v=wt(s,r,a,o,this.paint_rules,this.debug);if(this.debug){let g=s.ctx;if(!g)return;let F=this.view.dataTile(t);g.save(),g.fillStyle=this.debug,g.font="600 12px sans-serif",g.fillText(t.z+" "+t.x+" "+t.y,4,14),g.font="200 12px sans-serif",(F.x%2+F.y%2)%2==0&&(g.font="200 italic 12px sans-serif"),g.fillText(F.z+" "+F.x+" "+F.y,4,28),v>8&&g.fillText(v.toFixed()+" ms",4,42),g.strokeStyle=this.debug,g.lineWidth=.5,g.strokeRect(0,0,256,256),g.restore()}n()})}rerenderTile(t){for(var i in this._tiles){let r=this._wrapCoords(this._keyToTileCoords(i));t===this._tileCoordsToKey(r)&&this.renderTile(r,this._tiles[i].el,t)}}clearLayout(){this.labelers=new bt(this.view,this.scratch,this.label_rules,this.knockoutTiles)}rerenderTiles(){for(var t in this._tiles){let i=this._wrapCoords(this._keyToTileCoords(t)),r=this._tileCoordsToKey(i);this.renderTile(i,this._tiles[t].el,r)}}createTile(t,i){let r=this.pool.get(this.tile_size,s=>{let a=this._map.mouseEventToLatLng(s);this.view.within(t,s.offsetX,s.offsetY).then(o=>{this._onClick(a,o)})}),n=this._tileCoordsToKey(t);return r.key=n,this.renderTile(t,r,n,()=>{i(null,r)}),r}_removeTile(t){var i=this._tiles[t];!i||(i.el.removed=!0,i.el.key=void 0,L.DomUtil.remove(i.el),this.pool.put(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))}};function Ht(e){if(e.includes("$type"))return t=>!0;if(e[0]=="==")return t=>t[e[1]]===e[2];if(e[0]=="!=")return t=>t[e[1]]!==e[2];if(e[0]==="<")return t=>t[e[1]]")return t=>t[e[1]]>e[2];if(e[0]==="in")return t=>e.slice(2,e.length).includes(t[e[1]]);if(e[0]==="!in")return t=>!e.slice(2,e.length).includes(t[e[1]]);if(e[0]==="has")return t=>t.hasOwnProperty(e[1]);if(e[0]==="all"){let t=e.slice(1,e.length).map(i=>Ht(i));return i=>t.every(r=>r(i))}else if(e[0]==="any"){let t=e.slice(1,e.length).map(i=>Ht(i));return i=>t.some(r=>r(i))}else console.log("Unimplemented: ",e[0])}function Re(e){if(!e||typeof e=="number")return e;if(e.base&&e.stops)return V(e.base,e.stops);console.log("Unimplemented: ",e)}function Ci(e,t={}){let i=[];for(let s of e["text-font"])t.hasOwnProperty(s)&&i.push(t[s]);i.length===0&&i.push("sans-serif");let r=e["text-size"];if(typeof r=="number")return`${r}px ${i.join(", ")}`;if(r.stops){var n=1.4;return r.base&&(n=r.base),s=>`${Re(r)(s)}px ${i.join(", ")}`}else console.log("Can't parse font: ",e)}function Gt(e){let t=[],i=[],r=new Map;for(var n of e.layers){if(r.set(n.id,n),n.layout&&n.layout.visibility=="none")continue;if(n.ref){let l=r.get(n.ref);n.type=l.type,n.filter=l.filter,n.source=l.source,n["source-layer"]=l["source-layer"]}let o=n["source-layer"];var s,a=void 0;n.filter&&(a=Ht(n.filter)),n.type=="fill"?t.push({dataLayer:n["source-layer"],filter:a,symbolizer:new FillSymbolizer({fill:n.paint["fill-color"],opacity:n.paint["fill-opacity"]})}):n.type=="line"?t.push({dataLayer:n["source-layer"],filter:a,symbolizer:new P({color:n.paint["line-color"],width:Re(n.paint["line-width"])})}):n.type=="symbol"&&(n.layout["symbol-placement"]=="line"?i.push({dataLayer:n["source-layer"],filter:a,symbolizer:new it({fill:n.paint["text-color"],width:n.paint["text-halo-width"],stroke:n.paint["text-halo-color"]})}):i.push({dataLayer:n["source-layer"],filter:a,symbolizer:new R({font:Ci(n.layout),fill:n.paint["text-color"],stroke:n.paint["text-halo-color"],width:n.paint["text-halo-width"]})}))}return{paint_style:t,label_style:i}}var Pi=e=>{let t=0,i=0;for(let o of e)t+=o.w*o.h,i=Math.max(i,o.w);e.sort((o,l)=>l.h-o.h);let r=Math.max(Math.ceil(Math.sqrt(t/.95)),i),n=[{x:0,y:0,w:r,h:Infinity}],s=0,a=0;for(let o of e)for(let l=n.length-1;l>=0;l--){let u=n[l];if(!(o.w>u.w||o.h>u.h)){if(o.x=u.x,o.y=u.y,a=Math.max(a,o.y+o.h),s=Math.max(s,o.x+o.w),o.w===u.w&&o.h===u.h){let c=n.pop();lnew Promise((t,i)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>i("Invalid SVG"),r.src=e}),Vi=` + + + + + + +`,Qt=class{constructor(t){this.src=t,this.canvas=null}load(){return C(this,null,function*(){let t=this.src,i=window.devicePixelRatio;t.endsWith(".html")&&(t=yield(yield fetch(t)).text());let n=new window.DOMParser().parseFromString(t,"text/html").body.children;this.mapping={};let s=yield Xe("data:image/svg+xml;base64,"+btoa(Vi)),a=[{w:s.width*i,h:s.height*i,img:s}],o=new XMLSerializer;for(let x of n){var l=btoa(o.serializeToString(x)),u="data:image/svg+xml;base64,"+l;let v=yield Xe(u);a.push({w:v.width*i,h:v.height*i,img:v,id:x.id})}let c=Pi(a);this.canvas=document.createElement("canvas"),this.canvas.width=c.w,this.canvas.height=c.h;let p=this.canvas.getContext("2d");for(let x of a)p.drawImage(x.img,x.x,x.y,x.w,x.h),x.id?this.mapping[x.id]={x:x.x,y:x.y,w:x.w,h:x.h}:this.missingBox={x:x.x,y:x.y,w:x.w,h:x.h};return this})}get(t){let i=this.mapping[t];return i||(i=this.missingBox),i.canvas=this.canvas,i}},Ye=Qt;var Jt=(e,t,i)=>{let r=new FontFace(e,"url("+t+")",{weight:i});return document.fonts.add(r),r.load()},Kt=e=>new Ye(e);return Ri;})(); /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */