@wemap/providers 12.11.3 → 12.11.4

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomMapProvider.mjs","sources":["../../../../node_modules/mapbox-gl/dist/mapbox-gl.js","../index.mjs","../../helpers/CustomMapProvider.ts"],"sourcesContent":["/* Mapbox GL JS is licensed under the 3-Clause BSD License. Full text of license: https://github.com/mapbox/mapbox-gl-js/blob/v1.13.3/LICENSE.txt */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = global || self, global.mapboxgl = factory());\n}(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar shared, worker, mapboxgl;\n// define gets called three times: one for each chunk. we rely on the order\n// they're imported to know which is which\nfunction define(_, chunk) {\nif (!shared) {\n shared = chunk;\n} else if (!worker) {\n worker = chunk;\n} else {\n var workerBundleString = 'var sharedChunk = {}; (' + shared + ')(sharedChunk); (' + worker + ')(sharedChunk);'\n\n var sharedChunk = {};\n shared(sharedChunk);\n mapboxgl = chunk(sharedChunk);\n if (typeof window !== 'undefined') {\n mapboxgl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n }\n}\n}\n\n\ndefine([\"exports\"],(function(t){\"use strict\";function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n;}n.prototype.sampleCurveX=function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return ((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s;}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r;}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e;}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var o=\"undefined\"!=typeof self?self:{},s=Math.pow(2,53)-1;function u(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}var l=u(.25,.1,.25,1);function p(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function h(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o];}return t}var f=1;function y(){return f++}function d(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function m(t){return !!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e));}));}function g(t,e){return -1!==t.indexOf(e,t.length-e.length)}function x(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function b(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?x(t,w):t}var _={};function A(t){_[t]||(\"undefined\"!=typeof console&&console.warn(t),_[t]=!0);}function S(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)e+=((o=t[i]).x-(a=t[r]).x)*(a.y+o.y);return e}function I(){return \"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope}function z(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r;}return e}var C=null;function E(t){if(null==C){var e=t.navigator?t.navigator.userAgent:null;C=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return C}function P(t){try{var e=o[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return !1}}var M,B,T,V,F=o.performance&&o.performance.now?o.performance.now.bind(o.performance):Date.now.bind(Date),D=o.requestAnimationFrame||o.mozRequestAnimationFrame||o.webkitRequestAnimationFrame||o.msRequestAnimationFrame,L=o.cancelAnimationFrame||o.mozCancelAnimationFrame||o.webkitCancelAnimationFrame||o.msCancelAnimationFrame,O={now:F,frame:function(t){var e=D(t);return {cancel:function(){return L(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=o.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return M||(M=o.document.createElement(\"a\")),M.href=t,M.href},hardwareConcurrency:o.navigator&&o.navigator.hardwareConcurrency||4,get devicePixelRatio(){return o.devicePixelRatio},get prefersReducedMotion(){return !!o.matchMedia&&(null==B&&(B=o.matchMedia(\"(prefers-reduced-motion: reduce)\")),B.matches)}},R={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!j&&V&&(q?N(t):T=t);}},j=!1,q=!1;function N(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,V),t.isContextLost())return;U.supported=!0;}catch(t){}t.deleteTexture(e),j=!0;}o.document&&((V=o.document.createElement(\"img\")).onload=function(){T&&N(T),T=null,q=!0;},V.onerror=function(){j=!0,T=null;},V.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var K=\"01\",G=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken();};function Z(t){return 0===t.indexOf(\"mapbox:\")}G.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return {token:[\"1\",K,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt;},G.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},G.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},G.prototype.normalizeStyleURL=function(t,e){if(!Z(t))return t;var r=Y(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeGlyphsURL=function(t,e){if(!Z(t))return t;var r=Y(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeSourceURL=function(t,e){if(!Z(t))return t;var r=Y(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeSpriteURL=function(t,e,r,n){var i=Y(t);return Z(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,$(i))},G.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Z(t))return t;var r=Y(t);r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,(O.devicePixelRatio>=2||512===e?\"@2x\":\"\")+(U.supported?\".webp\":\"$1\")),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var n=this._customAccessToken||function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||R.ACCESS_TOKEN;return R.REQUIRE_ACCESS_TOKEN&&n&&this._skuToken&&r.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(r,n)},G.prototype.canonicalizeTileURL=function(t,e){var r=Y(t);if(!r.path.match(/(^\\/v4\\/)/)||!r.path.match(/\\.[\\w]+$/))return t;var n=\"mapbox://tiles/\";n+=r.path.replace(\"/v4/\",\"\");var i=r.params;return e&&(i=i.filter((function(t){return !t.match(/^access_token=/)}))),i.length&&(n+=\"?\"+i.join(\"&\")),n},G.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&Z(e),n=[],i=0,a=t.tiles||[];i<a.length;i+=1){var o=a[i];J(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o);}return n},G.prototype._makeAPIURL=function(t,e){var r=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",n=Y(R.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,\"http\"===t.protocol){var i=t.params.indexOf(\"secure\");i>=0&&t.params.splice(i,1);}if(\"/\"!==n.path&&(t.path=\"\"+n.path+t.path),!R.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||R.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+r);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+r);return t.params=t.params.filter((function(t){return -1===t.indexOf(\"access_token\")})),t.params.push(\"access_token=\"+e),$(t)};var X=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function J(t){return X.test(t)}var H=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Y(t){var e=t.match(H);if(!e)throw new Error(\"Unable to parse URL object\");return {protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function $(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}function W(t){if(!t)return null;var e=t.split(\".\");if(!e||3!==e.length)return null;try{return JSON.parse(decodeURIComponent(o.atob(e[1]).split(\"\").map((function(t){return \"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2)})).join(\"\")))}catch(t){return null}}var Q=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null;};Q.prototype.getStorageKey=function(t){var e,r=W(R.ACCESS_TOKEN);return e=r&&r.u?o.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number(\"0x\"+e))}))):R.ACCESS_TOKEN||\"\",t?\"mapbox.eventData.\"+t+\":\"+e:\"mapbox.eventData:\"+e},Q.prototype.fetchEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{var n=o.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=o.localStorage.getItem(r);i&&(this.anonId=i);}catch(t){A(\"Unable to read from LocalStorage\");}},Q.prototype.saveEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{o.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&o.localStorage.setItem(e,JSON.stringify(this.eventData));}catch(t){A(\"Unable to write to LocalStorage\");}},Q.prototype.processRequests=function(t){},Q.prototype.postEvent=function(t,e,r,n){var i=this;if(R.EVENTS_URL){var a=Y(R.EVENTS_URL);a.params.push(\"access_token=\"+(n||R.ACCESS_TOKEN||\"\"));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:\"1.13.3\",skuId:K,userId:this.anonId},s=e?h(o,e):o,u={url:$(a),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([s])};this.pendingRequest=wt(u,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n);}));}},Q.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e);};var tt,et,rt=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\";}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r;var i=!(!n&&!R.ACCESS_TOKEN),a=Array.isArray(t)&&t.some((function(t){return Z(t)||J(t)}));R.EVENTS_URL&&i&&a&&this.queueRequest({id:e,timestamp:Date.now()},n);},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),m(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0);}),t));}},e}(Q),nt=new(function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postTurnstileEvent=function(t,e){R.EVENTS_URL&&R.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Z(t)||J(t)}))&&this.queueRequest(Date.now(),e);},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=W(R.ACCESS_TOKEN),n=r?r.u:R.ACCESS_TOKEN,i=n!==this.eventData.tokenU;m(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),u=(a-this.eventData.lastSuccess)/864e5;i=i||u>=1||u<-1||o.getDate()!==s.getDate();}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n);}),t);}},e}(Q)),it=nt.postTurnstileEvent.bind(nt),at=new rt,ot=at.postMapLoadEvent.bind(at),st=500,ut=50;function lt(){o.caches&&!tt&&(tt=o.caches.open(\"mapbox-tiles\"));}function pt(t){var e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}var ct,ht=1/0;function ft(){return null==ct&&(ct=o.OffscreenCanvas&&new o.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof o.createImageBitmap),ct}var yt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(yt);var dt=function(t){function e(e,r,n){401===r&&J(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),mt=I()?function(){return self.worker&&self.worker.referrer}:function(){return (\"blob:\"===o.location.protocol?o.parent:o).location.href};var vt,gt,xt=function(t,e){if(!(/^file:/.test(r=t.url)||/^file:/.test(mt())&&!/^\\w+:/.test(r))){if(o.fetch&&o.Request&&o.AbortController&&o.Request.prototype.hasOwnProperty(\"signal\"))return function(t,e){var r,n=new o.AbortController,i=new o.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:mt(),signal:n.signal}),a=!1,s=!1,u=(r=i.url).indexOf(\"sku=\")>0&&J(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var l=function(r,n,a){if(!s){if(r&&\"SecurityError\"!==r.message&&A(r),n&&a)return p(n);var l=Date.now();o.fetch(i).then((function(r){if(r.ok){var n=u?r.clone():null;return p(r,n,l)}return e(new dt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message));}));}},p=function(r,n,u){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){s||(n&&u&&function(t,e,r){if(lt(),tt){var n={status:e.status,statusText:e.statusText,headers:new o.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=z(e.headers.get(\"Cache-Control\")||\"\");i[\"no-store\"]||(i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<42e4||function(t,e){if(void 0===et)try{new Response(new ReadableStream),et=!0;}catch(t){et=!1;}et?e(t.body):t.blob().then(e);}(e,(function(e){var r=new o.Response(e,n);lt(),tt&&tt.then((function(e){return e.put(pt(t.url),r)})).catch((function(t){return A(t.message)}));})));}}(i,n,u),a=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")));})).catch((function(t){s||e(new Error(t.message));}));};return u?function(t,e){if(lt(),!tt)return e(null);var r=pt(t.url);tt.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return !1;var e=new Date(t.headers.get(\"Expires\")||0),r=z(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i);})).catch(e);})).catch(e);}(i,l):l(null,null),{cancel:function(){s=!0,a||n.abort();}}}(t,e);if(I()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}var r;return function(t,e){var r=new o.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers)r.setRequestHeader(n,t.headers[n]);return \"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText));},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response);}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"));}else e(new dt(r.statusText,r.status,t.url));},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},bt=function(t,e){return xt(h(t,{type:\"arrayBuffer\"}),e)},wt=function(t,e){return xt(h(t,{method:\"POST\"}),e)},_t=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";vt=[],gt=0;var At=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),gt>=R.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0;}};return vt.push(r),r}gt++;var n=!1,i=function(){if(!n)for(n=!0,gt--;vt.length&&gt<R.MAX_PARALLEL_IMAGE_REQUESTS;){var t=vt.shift();t.cancelled||(t.cancel=At(t.requestParameters,t.callback).cancel);}},a=bt(t,(function(t,r,n,a){i(),t?e(t):r&&(ft()?function(t,e){var r=new o.Blob([new Uint8Array(t)],{type:\"image/png\"});o.createImageBitmap(r).then((function(t){e(null,t);})).catch((function(t){e(new Error(\"Could not load image because of \"+t.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));}));}(r,e):function(t,e,r,n){var i=new o.Image,a=o.URL;i.onload=function(){e(null,i),a.revokeObjectURL(i.src),i.onload=null,o.requestAnimationFrame((function(){i.src=_t;}));},i.onerror=function(){return e(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var s=new o.Blob([new Uint8Array(t)],{type:\"image/png\"});i.cacheControl=r,i.expires=n,i.src=t.byteLength?a.createObjectURL(s):_t;}(r,e,n,a));}));return {cancel:function(){a.cancel(),i();}}};function St(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function kt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}var It=function(t,e){void 0===e&&(e={}),h(this,e),this.type=t;},zt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,\"error\",h({error:e},r));}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(It),Ct=function(){};Ct.prototype.on=function(t,e){return this._listeners=this._listeners||{},St(t,e,this._listeners),this},Ct.prototype.off=function(t,e){return kt(t,e,this._listeners),kt(t,e,this._oneTimeListeners),this},Ct.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},St(t,e,this._oneTimeListeners),this},Ct.prototype.fire=function(t,e){\"string\"==typeof t&&(t=new It(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1)i[n].call(this,t);for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];kt(r,s,this._oneTimeListeners),s.call(this,t);}var u=this._eventedParent;u&&(h(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),u.fire(t));}else t instanceof zt&&console.error(t.error);return this},Ct.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Ct.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Et={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},Pt=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);};function Mt(t){var e=t.value;return e?[new Pt(t.key,e,\"constants have been deprecated as of v8\")]:[]}function Bt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o];}return t}function Tt(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function Vt(t){if(Array.isArray(t))return t.map(Vt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=Vt(t[r]);return e}return Tt(t)}var Ft=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),Dt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r];this.bindings[i[0]]=i[1];}};Dt.prototype.concat=function(t){return new Dt(this,t)},Dt.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},Dt.prototype.has=function(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Lt={kind:\"null\"},Ot={kind:\"number\"},Rt={kind:\"string\"},Ut={kind:\"boolean\"},jt={kind:\"color\"},qt={kind:\"object\"},Nt={kind:\"value\"},Kt={kind:\"collator\"},Gt={kind:\"formatted\"},Zt={kind:\"resolvedImage\"};function Xt(t,e){return {kind:\"array\",itemType:t,N:e}}function Jt(t){if(\"array\"===t.kind){var e=Jt(t.itemType);return \"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var Ht=[Lt,Ot,Rt,Ut,jt,Gt,qt,Xt(Nt),Zt];function Yt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Yt(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=Ht;r<n.length;r+=1)if(!Yt(n[r],e))return null}return \"Expected \"+Jt(t)+\" but found \"+Jt(e)+\" instead.\"}function $t(t,e){return e.some((function(e){return e.kind===t.kind}))}function Wt(t,e){return e.some((function(e){return \"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t}))}var Qt=e((function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return (t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return (e=\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,s=t.replace(/ /g,\"\").toLowerCase();if(s in r)return r[s].slice();if(\"#\"===s[0])return 4===s.length?(e=parseInt(s.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===s.length&&(e=parseInt(s.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var u=s.indexOf(\"(\"),l=s.indexOf(\")\");if(-1!==u&&l+1===s.length){var p=s.substr(0,u),c=s.substr(u+1,l-(u+1)).split(\",\"),h=1;switch(p){case\"rgba\":if(4!==c.length)return null;h=a(c.pop());case\"rgb\":return 3!==c.length?null:[i(c[0]),i(c[1]),i(c[2]),h];case\"hsla\":if(4!==c.length)return null;h=a(c.pop());case\"hsl\":if(3!==c.length)return null;var f=(parseFloat(c[0])%360+360)%360/360,y=a(c[1]),d=a(c[2]),m=d<=.5?d*(y+1):d+y-d*y,v=2*d-m;return [n(255*o(v,m,f+1/3)),n(255*o(v,m,f)),n(255*o(v,m,f-1/3)),h];default:return null}}return null};}catch(t){}})).parseCSSColor,te=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n;};te.parse=function(t){if(t){if(t instanceof te)return t;if(\"string\"==typeof t){var e=Qt(t);if(e)return new te(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},te.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return \"rgba(\"+Math.round(t[0])+\",\"+Math.round(e)+\",\"+Math.round(r)+\",\"+n+\")\"},te.prototype.toArray=function(){var t=this.a;return 0===t?[0,0,0,0]:[255*this.r/t,255*this.g/t,255*this.b/t,t]},te.black=new te(0,0,0,1),te.white=new te(1,1,1,1),te.transparent=new te(0,0,0,0),te.red=new te(1,0,0,1);var ee=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});};ee.prototype.compare=function(t,e){return this.collator.compare(t,e)},ee.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var re=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;},ne=function(t){this.sections=t;};ne.fromString=function(t){return new ne([new re(t,null,null,null,null)])},ne.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},ne.factory=function(t){return t instanceof ne?t:ne.fromString(t)},ne.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},ne.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image)t.push([\"image\",n.image.name]);else {t.push(n.text);var i={};n.fontStack&&(i[\"text-font\"]=[\"literal\",n.fontStack.split(\",\")]),n.scale&&(i[\"font-scale\"]=n.scale),n.textColor&&(i[\"text-color\"]=[\"rgba\"].concat(n.textColor.toArray())),t.push(i);}}return t};var ie=function(t){this.name=t.name,this.available=t.available;};function ae(t,e,r,n){return \"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function oe(t){if(null===t)return !0;if(\"string\"==typeof t)return !0;if(\"boolean\"==typeof t)return !0;if(\"number\"==typeof t)return !0;if(t instanceof te)return !0;if(t instanceof ee)return !0;if(t instanceof ne)return !0;if(t instanceof ie)return !0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1)if(!oe(r[e]))return !1;return !0}if(\"object\"==typeof t){for(var n in t)if(!oe(t[n]))return !1;return !0}return !1}function se(t){if(null===t)return Lt;if(\"string\"==typeof t)return Rt;if(\"boolean\"==typeof t)return Ut;if(\"number\"==typeof t)return Ot;if(t instanceof te)return jt;if(t instanceof ee)return Kt;if(t instanceof ne)return Gt;if(t instanceof ie)return Zt;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=se(i[n]);if(e){if(e===a)continue;e=Nt;break}e=a;}return Xt(e||Nt,r)}return qt}function ue(t){var e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof te||t instanceof ne||t instanceof ie?t.toString():JSON.stringify(t)}ie.prototype.toString=function(){return this.name},ie.fromString=function(t){return t?new ie({name:t,available:!1}):null},ie.prototype.serialize=function(){return [\"image\",this.name]};var le=function(t,e){this.type=t,this.value=e;};le.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!oe(t[1]))return e.error(\"invalid value\");var r=t[1],n=se(r),i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new le(n,r)},le.prototype.evaluate=function(){return this.value},le.prototype.eachChild=function(){},le.prototype.outputDefined=function(){return !0},le.prototype.serialize=function(){return \"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof te?[\"rgba\"].concat(this.value.toArray()):this.value instanceof ne?this.value.serialize():this.value};var pe=function(t){this.name=\"ExpressionEvaluationError\",this.message=t;};pe.prototype.toJSON=function(){return this.message};var ce={string:Rt,number:Ot,boolean:Ut,object:qt},he=function(t,e){this.type=t,this.args=e;};he.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r,n=1,i=t[0];if(\"array\"===i){var a,o;if(t.length>2){var s=t[1];if(\"string\"!=typeof s||!(s in ce)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=ce[s],n++;}else a=Nt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);o=t[2],n++;}r=Xt(a,o);}else r=ce[i];for(var u=[];n<t.length;n++){var l=e.parse(t[n],n,Nt);if(!l)return null;u.push(l);}return new he(r,u)},he.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Yt(this.type,se(r)))return r;if(e===this.args.length-1)throw new pe(\"Expected value to be of type \"+Jt(this.type)+\", but found \"+Jt(se(r))+\" instead.\")}return null},he.prototype.eachChild=function(t){this.args.forEach(t);},he.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},he.prototype.serialize=function(){var t=this.type,e=[t.kind];if(\"array\"===t.kind){var r=t.itemType;if(\"string\"===r.kind||\"number\"===r.kind||\"boolean\"===r.kind){e.push(r.kind);var n=t.N;(\"number\"==typeof n||this.args.length>1)&&e.push(n);}}return e.concat(this.args.map((function(t){return t.serialize()})))};var fe=function(t){this.type=Gt,this.sections=t;};fe.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Ot)))return null;var u=null;if(o[\"text-font\"]&&!(u=e.parse(o[\"text-font\"],1,Xt(Rt))))return null;var l=null;if(o[\"text-color\"]&&!(l=e.parse(o[\"text-color\"],1,jt)))return null;var p=n[n.length-1];p.scale=s,p.font=u,p.textColor=l;}else {var c=e.parse(t[a],1,Nt);if(!c)return null;var h=c.type.kind;if(\"string\"!==h&&\"value\"!==h&&\"null\"!==h&&\"resolvedImage\"!==h)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:c,scale:null,font:null,textColor:null});}}return new fe(n)},fe.prototype.evaluate=function(t){return new ne(this.sections.map((function(e){var r=e.content.evaluate(t);return se(r)===Zt?new re(\"\",r,null,null,null):new re(ue(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},fe.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor);}},fe.prototype.outputDefined=function(){return !1},fe.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var i={};n.scale&&(i[\"font-scale\"]=n.scale.serialize()),n.font&&(i[\"text-font\"]=n.font.serialize()),n.textColor&&(i[\"text-color\"]=n.textColor.serialize()),t.push(i);}return t};var ye=function(t){this.type=Zt,this.input=t;};ye.parse=function(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Rt);return r?new ye(r):e.error(\"No image name provided.\")},ye.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ie.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},ye.prototype.eachChild=function(t){t(this.input);},ye.prototype.outputDefined=function(){return !1},ye.prototype.serialize=function(){return [\"image\",this.input.serialize()]};var de={\"to-boolean\":Ut,\"to-color\":jt,\"to-number\":Ot,\"to-string\":Rt},me=function(t,e){this.type=t,this.args=e;};me.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");for(var n=de[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Nt);if(!o)return null;i.push(o);}return new me(n,i)},me.prototype.evaluate=function(t){if(\"boolean\"===this.type.kind)return Boolean(this.args[0].evaluate(t));if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof te)return e;if(\"string\"==typeof e){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":ae(e[0],e[1],e[2],e[3])))return new te(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new pe(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,u=this.args;s<u.length;s+=1){if(null===(o=u[s].evaluate(t)))return 0;var l=Number(o);if(!isNaN(l))return l}throw new pe(\"Could not convert \"+JSON.stringify(o)+\" to number.\")}return \"formatted\"===this.type.kind?ne.fromString(ue(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?ie.fromString(ue(this.args[0].evaluate(t))):ue(this.args[0].evaluate(t))},me.prototype.eachChild=function(t){this.args.forEach(t);},me.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},me.prototype.serialize=function(){if(\"formatted\"===this.type.kind)return new fe([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(\"resolvedImage\"===this.type.kind)return new ye(this.args[0]).serialize();var t=[\"to-\"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize());})),t};var ve=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],ge=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;};ge.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},ge.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?ve[this.feature.type]:this.feature.type:null},ge.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},ge.prototype.canonicalID=function(){return this.canonical},ge.prototype.properties=function(){return this.feature&&this.feature.properties||{}},ge.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=te.parse(t)),e};var xe=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;};xe.prototype.evaluate=function(t){return this._evaluate(t,this.args)},xe.prototype.eachChild=function(t){this.args.forEach(t);},xe.prototype.outputDefined=function(){return !1},xe.prototype.serialize=function(){return [this.name].concat(this.args.map((function(t){return t.serialize()})))},xe.parse=function(t,e){var r,n=t[0],i=xe.definitions[n];if(!i)return e.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return !Array.isArray(r)||r.length===t.length-1})),u=null,l=0,p=s;l<p.length;l+=1){var c=p[l],h=c[0],f=c[1];u=new je(e.registry,e.path,null,e.scope);for(var y=[],d=!1,m=1;m<t.length;m++){var v=t[m],g=Array.isArray(h)?h[m-1]:h.type,x=u.parse(v,1+y.length,g);if(!x){d=!0;break}y.push(x);}if(!d)if(Array.isArray(h)&&h.length!==y.length)u.error(\"Expected \"+h.length+\" arguments, but found \"+y.length+\" instead.\");else {for(var b=0;b<y.length;b++){var w=Array.isArray(h)?h[b]:h.type,_=y[b];u.concat(b+1).checkSubtype(w,_.type);}if(0===u.errors.length)return new xe(n,a,f,y)}}if(1===s.length)(r=e.errors).push.apply(r,u.errors);else {for(var A=(s.length?s:o).map((function(t){var e;return e=t[0],Array.isArray(e)?\"(\"+e.map(Jt).join(\", \")+\")\":\"(\"+Jt(e.type)+\"...)\"})).join(\" | \"),S=[],k=1;k<t.length;k++){var I=e.parse(t[k],1+S.length);if(!I)return null;S.push(Jt(I.type));}e.error(\"Expected arguments of type \"+A+\", but found (\"+S.join(\", \")+\") instead.\");}return null},xe.register=function(t,e){for(var r in xe.definitions=e,e)t[r]=xe;};var be=function(t,e,r){this.type=Kt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;};function we(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function _e(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ae(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*8192),Math.round(n*i*8192)]}function Se(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function ke(t,e){for(var r,n,i,a,o,s,u,l=!1,p=0,c=e.length;p<c;p++)for(var h=e[p],f=0,y=h.length;f<y-1;f++){if((a=(r=t)[0]-(n=h[f])[0])*(u=r[1]-(i=h[f+1])[1])-(s=r[0]-i[0])*(o=r[1]-n[1])==0&&a*s<=0&&o*u<=0)return !1;Se(t,h[f],h[f+1])&&(l=!l);}return l}function Ie(t,e){for(var r=0;r<e.length;r++)if(ke(t,e[r]))return !0;return !1}function ze(t,e,r,n){var i=n[0]-r[0],a=n[1]-r[1],o=(t[0]-r[0])*a-i*(t[1]-r[1]),s=(e[0]-r[0])*a-i*(e[1]-r[1]);return o>0&&s<0||o<0&&s>0}function Ce(t,e,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(0!=(c=[(p=a[o+1])[0]-(l=a[o])[0],p[1]-l[1]])[0]*(h=[(u=e)[0]-(s=t)[0],u[1]-s[1]])[1]-c[1]*h[0]&&ze(s,u,l,p)&&ze(l,p,s,u))return !0;var s,u,l,p,c,h;return !1}function Ee(t,e){for(var r=0;r<t.length;++r)if(!ke(t[r],e))return !1;for(var n=0;n<t.length-1;++n)if(Ce(t[n],t[n+1],e))return !1;return !0}function Pe(t,e){for(var r=0;r<e.length;r++)if(Ee(t,e[r]))return !0;return !1}function Me(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=Ae(t[i][o],r);we(e,s),a.push(s);}n.push(a);}return n}function Be(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Me(t[i],e,r);n.push(a);}return n}function Te(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a;}we(e,t);}function Ve(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,u=t;s<u.length;s+=1)for(var l=0,p=u[s];l<p.length;l+=1){var c=p[l],h=[c.x+a[0],c.y+a[1]];Te(h,e,r,i),o.push(h);}return o}function Fe(t,e,r,n){for(var i,a=8192*Math.pow(2,n.z),o=[8192*n.x,8192*n.y],s=[],u=0,l=t;u<l.length;u+=1){for(var p=[],c=0,h=l[u];c<h.length;c+=1){var f=h[c],y=[f.x+o[0],f.y+o[1]];we(e,y),p.push(y);}s.push(p);}if(e[2]-e[0]<=a/2){(i=e)[0]=i[1]=1/0,i[2]=i[3]=-1/0;for(var d=0,m=s;d<m.length;d+=1)for(var v=0,g=m[d];v<g.length;v+=1)Te(g[v],e,r,a);}return s}be.parse=function(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");var r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");var n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,Ut);if(!n)return null;var i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,Ut);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,Rt))?null:new be(n,i,a)},be.prototype.evaluate=function(t){return new ee(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},be.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);},be.prototype.outputDefined=function(){return !1},be.prototype.serialize=function(){var t={};return t[\"case-sensitive\"]=this.caseSensitive.serialize(),t[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),[\"collator\",t]};var De=function(t,e){this.type=Ut,this.geojson=t,this.geometries=e;};function Le(t){if(t instanceof xe){if(\"get\"===t.name&&1===t.args.length)return !1;if(\"feature-state\"===t.name)return !1;if(\"has\"===t.name&&1===t.args.length)return !1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return !1;if(/^filter-/.test(t.name))return !1}if(t instanceof De)return !1;var e=!0;return t.eachChild((function(t){e&&!Le(t)&&(e=!1);})),e}function Oe(t){if(t instanceof xe&&\"feature-state\"===t.name)return !1;var e=!0;return t.eachChild((function(t){e&&!Oe(t)&&(e=!1);})),e}function Re(t,e){if(t instanceof xe&&e.indexOf(t.name)>=0)return !1;var r=!0;return t.eachChild((function(t){r&&!Re(t,e)&&(r=!1);})),r}De.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(oe(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if(\"Polygon\"===i||\"MultiPolygon\"===i)return new De(r,r.features[n].geometry)}else if(\"Feature\"===r.type){var a=r.geometry.type;if(\"Polygon\"===a||\"MultiPolygon\"===a)return new De(r,r.geometry)}else if(\"Polygon\"===r.type||\"MultiPolygon\"===r.type)return new De(r,r)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},De.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){var a=Me(e.coordinates,n,i),o=Ve(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var s=0,u=o;s<u.length;s+=1)if(!ke(u[s],a))return !1}if(\"MultiPolygon\"===e.type){var l=Be(e.coordinates,n,i),p=Ve(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var c=0,h=p;c<h.length;c+=1)if(!Ie(h[c],l))return !1}return !0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){var a=Me(e.coordinates,n,i),o=Fe(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var s=0,u=o;s<u.length;s+=1)if(!Ee(u[s],a))return !1}if(\"MultiPolygon\"===e.type){var l=Be(e.coordinates,n,i),p=Fe(t.geometry(),r,n,i);if(!_e(r,n))return !1;for(var c=0,h=p;c<h.length;c+=1)if(!Pe(h[c],l))return !1}return !0}(t,this.geometries)}return !1},De.prototype.eachChild=function(){},De.prototype.outputDefined=function(){return !0},De.prototype.serialize=function(){return [\"within\",this.geojson]};var Ue=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e;};Ue.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new Ue(r,e.scope.get(r)):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Ue.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Ue.prototype.eachChild=function(){},Ue.prototype.outputDefined=function(){return !1},Ue.prototype.serialize=function(){return [\"var\",this.name]};var je=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new Dt),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return \"[\"+t+\"]\"})).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r;};function qe(t,e){for(var r,n=t.length-1,i=0,a=n,o=0;i<=a;)if((r=t[o=Math.floor((i+a)/2)])<=e){if(o===n||e<t[o+1])return o;i=o+1;}else {if(!(r>e))throw new pe(\"Input is not a number.\");a=o-1;}return 0}je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},je.prototype._parse=function(t,e){function r(t,e,r){return \"assert\"===r?new he(e,[t]):\"coerce\"===r?new me(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=t[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||\"coerce\");else a=r(a,o,e.typeAnnotation||\"assert\");}if(!(a instanceof le)&&\"resolvedImage\"!==a.type.kind&&function t(e){if(e instanceof Ue)return t(e.boundExpression);if(e instanceof xe&&\"error\"===e.name)return !1;if(e instanceof be)return !1;if(e instanceof De)return !1;var r=e instanceof me||e instanceof he,n=!0;return e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof le;})),!!n&&Le(e)&&Re(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}(a)){var u=new ge;try{a=new le(a.type,a.evaluate(u));}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':\"Expected an array, but found \"+typeof t+\" instead.\")},je.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new je(this.registry,n,e||null,i,this.errors)},je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map((function(t){return \"[\"+t+\"]\"})).join(\"\");this.errors.push(new Ft(n,t));},je.prototype.checkSubtype=function(t,e){var r=Yt(t,e);return r&&this.error(r),r};var Ne=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[1];this.labels.push(a[0]),this.outputs.push(o);}};function Ke(t,e,r){return t*(1-r)+e*r}Ne.parse=function(t,e){if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");var r=e.parse(t[1],1,Ot);if(!r)return null;var n=[],i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],u=a,l=a+1;if(\"number\"!=typeof o)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',u);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',u);var p=e.parse(s,l,i);if(!p)return null;i=i||p.type,n.push([o,p]);}return new Ne(i,r,n)},Ne.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[qe(e,n)].evaluate(t)},Ne.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e]);},Ne.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},Ne.prototype.serialize=function(){for(var t=[\"step\",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ge=Object.freeze({__proto__:null,number:Ke,color:function(t,e,r){return new te(Ke(t.r,e.r,r),Ke(t.g,e.g,r),Ke(t.b,e.b,r),Ke(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ke(t,e[n],r)}))}}),Ze=6/29*3*(6/29),Xe=Math.PI/180,Je=180/Math.PI;function He(t){return t>.008856451679035631?Math.pow(t,1/3):t/Ze+4/29}function Ye(t){return t>6/29?t*t*t:Ze*(t-4/29)}function $e(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function We(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Qe(t){var e=We(t.r),r=We(t.g),n=We(t.b),i=He((.4124564*e+.3575761*r+.1804375*n)/.95047),a=He((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*a-16,a:500*(i-a),b:200*(a-He((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function tr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Ye(e),r=.95047*Ye(r),n=1.08883*Ye(n),new te($e(3.2404542*r-1.5371385*e-.4985314*n),$e(-.969266*r+1.8760108*e+.041556*n),$e(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function er(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var rr={forward:Qe,reverse:tr,interpolate:function(t,e,r){return {l:Ke(t.l,e.l,r),a:Ke(t.a,e.a,r),b:Ke(t.b,e.b,r),alpha:Ke(t.alpha,e.alpha,r)}}},nr={forward:function(t){var e=Qe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Je;return {h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Xe,r=t.c;return tr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:er(t.h,e.h,r),c:Ke(t.c,e.c,r),l:Ke(t.l,e.l,r),alpha:Ke(t.alpha,e.alpha,r)}}},ir=Object.freeze({__proto__:null,lab:rr,hcl:nr}),ar=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],u=s[1];this.labels.push(s[0]),this.outputs.push(u);}};function or(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}ar.interpolationFactor=function(t,e,n,i){var a=0;if(\"exponential\"===t.name)a=or(e,t.base,n,i);else if(\"linear\"===t.name)a=or(e,1,n,i);else if(\"cubic-bezier\"===t.name){var o=t.controlPoints;a=new r(o[0],o[1],o[2],o[3]).solve(or(e,1,n,i));}return a},ar.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===n[0])n={name:\"linear\"};else if(\"exponential\"===n[0]){var o=n[1];if(\"number\"!=typeof o)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:o};}else {if(\"cubic-bezier\"!==n[0])return e.error(\"Unknown interpolation type \"+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return \"number\"!=typeof t||t<0||t>1})))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s};}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(i=e.parse(i,2,Ot)))return null;var u=[],l=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?l=jt:e.expectedType&&\"value\"!==e.expectedType.kind&&(l=e.expectedType);for(var p=0;p<a.length;p+=2){var c=a[p],h=a[p+1],f=p+3,y=p+4;if(\"number\"!=typeof c)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',f);if(u.length&&u[u.length-1][0]>=c)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',f);var d=e.parse(h,y,l);if(!d)return null;l=l||d.type,u.push([c,d]);}return \"number\"===l.kind||\"color\"===l.kind||\"array\"===l.kind&&\"number\"===l.itemType.kind&&\"number\"==typeof l.N?new ar(l,r,n,i,u):e.error(\"Type \"+Jt(l)+\" is not interpolatable.\")},ar.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=qe(e,n),o=ar.interpolationFactor(this.interpolation,n,e[a],e[a+1]),s=r[a].evaluate(t),u=r[a+1].evaluate(t);return \"interpolate\"===this.operator?Ge[this.type.kind.toLowerCase()](s,u,o):\"interpolate-hcl\"===this.operator?nr.reverse(nr.interpolate(nr.forward(s),nr.forward(u),o)):rr.reverse(rr.interpolate(rr.forward(s),rr.forward(u),o))},ar.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e]);},ar.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},ar.prototype.serialize=function(){var t;t=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var sr=function(t,e){this.type=t,this.args=e;};sr.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=e.parse(o[a],1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!s)return null;r=r||s.type,i.push(s);}var u=n&&i.some((function(t){return Yt(n,t.type)}));return new sr(u?Nt:r,i)},sr.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(t))&&r instanceof ie&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);i+=1);return r},sr.prototype.eachChild=function(t){this.args.forEach(t);},sr.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},sr.prototype.serialize=function(){var t=[\"coalesce\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var ur=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;};ur.prototype.evaluate=function(t){return this.result.evaluate(t)},ur.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result);},ur.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if(\"string\"!=typeof i)return e.error(\"Expected string, but found \"+typeof i+\" instead.\",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a]);}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new ur(r,o):null},ur.prototype.outputDefined=function(){return this.result.outputDefined()},ur.prototype.serialize=function(){for(var t=[\"let\"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e];t.push(n[0],n[1].serialize());}return t.push(this.result.serialize()),t};var lr=function(t,e,r){this.type=t,this.index=e,this.input=r;};lr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ot),n=e.parse(t[2],2,Xt(e.expectedType||Nt));return r&&n?new lr(n.type.itemType,r,n):null},lr.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new pe(\"Array index out of bounds: \"+e+\" < 0.\");if(e>=r.length)throw new pe(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new pe(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},lr.prototype.eachChild=function(t){t(this.index),t(this.input);},lr.prototype.outputDefined=function(){return !1},lr.prototype.serialize=function(){return [\"at\",this.index.serialize(),this.input.serialize()]};var pr=function(t,e){this.type=Ut,this.needle=t,this.haystack=e;};pr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Nt),n=e.parse(t[2],2,Nt);return r&&n?$t(r.type,[Ut,Rt,Ot,Lt,Nt])?new pr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(r.type)+\" instead\"):null},pr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!Wt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new pe(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(se(e))+\" instead.\");if(!Wt(r,[\"string\",\"array\"]))throw new pe(\"Expected second argument to be of type array or string, but found \"+Jt(se(r))+\" instead.\");return r.indexOf(e)>=0},pr.prototype.eachChild=function(t){t(this.needle),t(this.haystack);},pr.prototype.outputDefined=function(){return !0},pr.prototype.serialize=function(){return [\"in\",this.needle.serialize(),this.haystack.serialize()]};var cr=function(t,e,r){this.type=Ot,this.needle=t,this.haystack=e,this.fromIndex=r;};cr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Nt),n=e.parse(t[2],2,Nt);if(!r||!n)return null;if(!$t(r.type,[Ut,Rt,Ot,Lt,Nt]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Ot);return i?new cr(r,n,i):null}return new cr(r,n)},cr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Wt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new pe(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(se(e))+\" instead.\");if(!Wt(r,[\"string\",\"array\"]))throw new pe(\"Expected second argument to be of type array or string, but found \"+Jt(se(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},cr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);},cr.prototype.outputDefined=function(){return !1},cr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return [\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return [\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var hr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a;};hr.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],u=t[o+1];Array.isArray(s)||(s=[s]);var l=e.concat(o);if(0===s.length)return l.error(\"Expected at least one branch label.\");for(var p=0,c=s;p<c.length;p+=1){var h=c[p];if(\"number\"!=typeof h&&\"string\"!=typeof h)return l.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return l.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return l.error(\"Numeric branch labels must be integer values.\");if(r){if(l.checkSubtype(r,se(h)))return null}else r=se(h);if(void 0!==i[String(h)])return l.error(\"Branch labels must be unique.\");i[String(h)]=a.length;}var f=e.parse(u,o,n);if(!f)return null;n=n||f.type,a.push(f);}var y=e.parse(t[1],1,Nt);if(!y)return null;var d=e.parse(t[t.length-1],t.length-1,n);return d?\"value\"!==y.type.kind&&e.concat(1).checkSubtype(r,y.type)?null:new hr(r,n,y,i,a,d):null},hr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return (se(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},hr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);},hr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},hr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(c=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[c][1].push(o);}for(var s=function(e){return \"number\"===t.inputType.kind?Number(e):e},u=0,l=r;u<l.length;u+=1){var p=l[u],c=p[0],h=p[1];e.push(1===h.length?s(h[0]):h.map(s)),e.push(this.outputs[outputIndex$1].serialize());}return e.push(this.otherwise.serialize()),e};var fr=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r;};fr.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,Ut);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type;}var s=e.parse(t[t.length-1],t.length-1,r);return s?new fr(r,n,s):null},fr.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];if(n[0].evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},fr.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];t(n[0]),t(i);}t(this.otherwise);},fr.prototype.outputDefined=function(){return this.branches.every((function(t){return t[1].outputDefined()}))&&this.otherwise.outputDefined()},fr.prototype.serialize=function(){var t=[\"case\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var yr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;};function dr(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function mr(t,e,r,n){return 0===n.compare(e,r)}function vr(t,e,r){var n=\"==\"!==t&&\"!=\"!==t;return function(){function i(t,e,r){this.type=Ut,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}return i.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");var r=t[0],a=e.parse(t[1],1,Nt);if(!a)return null;if(!dr(r,a.type))return e.concat(1).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Jt(a.type)+\"'.\");var o=e.parse(t[2],2,Nt);if(!o)return null;if(!dr(r,o.type))return e.concat(2).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Jt(o.type)+\"'.\");if(a.type.kind!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot compare types '\"+Jt(a.type)+\"' and '\"+Jt(o.type)+\"'.\");n&&(\"value\"===a.type.kind&&\"value\"!==o.type.kind?a=new he(o.type,[a]):\"value\"!==a.type.kind&&\"value\"===o.type.kind&&(o=new he(a.type,[o])));var s=null;if(4===t.length){if(\"string\"!==a.type.kind&&\"string\"!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(!(s=e.parse(t[3],3,Kt)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=se(a),u=se(o);if(s.kind!==u.kind||\"string\"!==s.kind&&\"number\"!==s.kind)throw new pe('Expected arguments for \"'+t+'\" to be (string, string) or (number, number), but found ('+s.kind+\", \"+u.kind+\") instead.\")}if(this.collator&&!n&&this.hasUntypedArgument){var l=se(a),p=se(o);if(\"string\"!==l.kind||\"string\"!==p.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);},i.prototype.outputDefined=function(){return !0},i.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize());})),e},i}()}yr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Nt),n=e.parse(t[2],2,Ot);if(!r||!n)return null;if(!$t(r.type,[Xt(Nt),Rt,Nt]))return e.error(\"Expected first argument to be of type array or string, but found \"+Jt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Ot);return i?new yr(r.type,r,n,i):null}return new yr(r.type,r,n)},yr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Wt(e,[\"string\",\"array\"]))throw new pe(\"Expected first argument to be of type array or string, but found \"+Jt(se(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},yr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);},yr.prototype.outputDefined=function(){return !1},yr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return [\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return [\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var gr=vr(\"==\",(function(t,e,r){return e===r}),mr),xr=vr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !mr(0,e,r,n)})),br=vr(\"<\",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),wr=vr(\">\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),_r=vr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Ar=vr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Sr=function(t,e,r,n,i){this.type=Rt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;};Sr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Ot);if(!r)return null;var n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Rt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Rt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Ot)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Ot))?null:new Sr(r,i,a,o,s)},Sr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Sr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);},Sr.prototype.outputDefined=function(){return !1},Sr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]};var kr=function(t){this.type=Ot,this.input=t;};kr.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+Jt(r.type)+\" instead.\"):new kr(r):null},kr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new pe(\"Expected value to be of type string or array, but found \"+Jt(se(e))+\" instead.\")},kr.prototype.eachChild=function(t){t(this.input);},kr.prototype.outputDefined=function(){return !1},kr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var Ir={\"==\":gr,\"!=\":xr,\">\":wr,\"<\":br,\">=\":Ar,\"<=\":_r,array:he,at:lr,boolean:he,case:fr,coalesce:sr,collator:be,format:fe,image:ye,in:pr,\"index-of\":cr,interpolate:ar,\"interpolate-hcl\":ar,\"interpolate-lab\":ar,length:kr,let:ur,literal:le,match:hr,number:he,\"number-format\":Sr,object:he,slice:yr,step:Ne,string:he,\"to-boolean\":me,\"to-color\":me,\"to-number\":me,\"to-string\":me,var:Ue,within:De};function zr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ae(r,n,i,o);if(s)throw new pe(s);return new te(r/255*o,n/255*o,i/255*o,o)}function Cr(t,e){return t in e}function Er(t,e){var r=e[t];return void 0===r?null:r}function Pr(t){return {type:t}}function Mr(t){return {result:\"success\",value:t}}function Br(t){return {result:\"error\",value:t}}function Tr(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Vr(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Fr(t){return !!t.expression&&t.expression.interpolated}function Dr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function Lr(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Or(t){return t}function Rr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Ur(t,e,r,n,i){return Rr(typeof r===i?n[r]:void 0,t.default,e.default)}function jr(t,e,r){if(\"number\"!==Dr(r))return Rr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function qr(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Dr(r))return Rr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],l=Ge[e.type]||Or;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var p=ir[t.colorSpace];l=function(t,e){return p.reverse(p.interpolate(p.forward(t),p.forward(e),o))};}return \"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=u.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return l(r,n,o)}}:l(s,u,o)}function Nr(t,e,r){return \"color\"===e.type?r=te.parse(r):\"formatted\"===e.type?r=ne.fromString(r.toString()):\"resolvedImage\"===e.type?r=ie.fromString(r.toString()):Dr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),Rr(r,t.default,e.default)}xe.register(Ir,{error:[{kind:\"error\"},[Rt],function(t,e){throw new pe(e[0].evaluate(t))}],typeof:[Rt,[Nt],function(t,e){return Jt(se(e[0].evaluate(t)))}],\"to-rgba\":[Xt(Ot,4),[jt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[jt,[Ot,Ot,Ot],zr],rgba:[jt,[Ot,Ot,Ot,Ot],zr],has:{type:Ut,overloads:[[[Rt],function(t,e){return Cr(e[0].evaluate(t),t.properties())}],[[Rt,qt],function(t,e){var r=e[1];return Cr(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:Nt,overloads:[[[Rt],function(t,e){return Er(e[0].evaluate(t),t.properties())}],[[Rt,qt],function(t,e){var r=e[1];return Er(e[0].evaluate(t),r.evaluate(t))}]]},\"feature-state\":[Nt,[Rt],function(t,e){return Er(e[0].evaluate(t),t.featureState||{})}],properties:[qt,[],function(t){return t.properties()}],\"geometry-type\":[Rt,[],function(t){return t.geometryType()}],id:[Nt,[],function(t){return t.id()}],zoom:[Ot,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Ot,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Ot,[],function(t){return t.globals.lineProgress||0}],accumulated:[Nt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Ot,Pr(Ot),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\"*\":[Ot,Pr(Ot),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\"-\":{type:Ot,overloads:[[[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)-r.evaluate(t)}],[[Ot],function(t,e){return -e[0].evaluate(t)}]]},\"/\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)/r.evaluate(t)}],\"%\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)%r.evaluate(t)}],ln2:[Ot,[],function(){return Math.LN2}],pi:[Ot,[],function(){return Math.PI}],e:[Ot,[],function(){return Math.E}],\"^\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return Math.pow(e[0].evaluate(t),r.evaluate(t))}],sqrt:[Ot,[Ot],function(t,e){return Math.sqrt(e[0].evaluate(t))}],log10:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN10}],ln:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))}],log2:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN2}],sin:[Ot,[Ot],function(t,e){return Math.sin(e[0].evaluate(t))}],cos:[Ot,[Ot],function(t,e){return Math.cos(e[0].evaluate(t))}],tan:[Ot,[Ot],function(t,e){return Math.tan(e[0].evaluate(t))}],asin:[Ot,[Ot],function(t,e){return Math.asin(e[0].evaluate(t))}],acos:[Ot,[Ot],function(t,e){return Math.acos(e[0].evaluate(t))}],atan:[Ot,[Ot],function(t,e){return Math.atan(e[0].evaluate(t))}],min:[Ot,Pr(Ot),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Ot,Pr(Ot),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Ot,[Ot],function(t,e){return Math.abs(e[0].evaluate(t))}],round:[Ot,[Ot],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Ot,[Ot],function(t,e){return Math.floor(e[0].evaluate(t))}],ceil:[Ot,[Ot],function(t,e){return Math.ceil(e[0].evaluate(t))}],\"filter-==\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[Ut,[Nt],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[Ut,[Rt],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[Ut,[Nt],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[Ut,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[Ut,[Xt(Rt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[Ut,[Xt(Nt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[Ut,[Rt,Xt(Nt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[Ut,[Rt,Xt(Nt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Ut,overloads:[[[Ut,Ut],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Pr(Ut),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return !1;return !0}]]},any:{type:Ut,overloads:[[[Ut,Ut],function(t,e){var r=e[1];return e[0].evaluate(t)||r.evaluate(t)}],[Pr(Ut),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return !0;return !1}]]},\"!\":[Ut,[Ut],function(t,e){return !e[0].evaluate(t)}],\"is-supported-script\":[Ut,[Rt],function(t,e){var r=t.globals&&t.globals.isSupportedScript;return !r||r(e[0].evaluate(t))}],upcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Rt,Pr(Nt),function(t,e){return e.map((function(e){return ue(e.evaluate(t))})).join(\"\")}],\"resolved-locale\":[Rt,[Kt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Kr=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new ge,this._defaultValue=e?function(t){return \"color\"===t.type&&Lr(t.default)?new te(0,0,0,0):\"color\"===t.type?te.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null;};function Gr(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Ir}function Zr(t,e){var r=new je(Ir,[],e?function(t){var e={color:jt,string:Rt,number:Ot,enum:Rt,boolean:Ut,formatted:Gt,resolvedImage:Zt};return \"array\"===t.type?Xt(e[t.value]||Nt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Mr(new Kr(n,e)):Br(r.errors)}Kr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Kr.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new pe(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Xr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Oe(e.expression);};Xr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Xr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Jr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Oe(e.expression),this.interpolationType=n;};function Hr(t,e){if(\"error\"===(t=Zr(t,e)).result)return t;var r=t.value.expression,n=Le(r);if(!n&&!Tr(e))return Br([new Ft(\"\",\"data expressions not supported\")]);var i=Re(r,[\"zoom\"]);if(!i&&!Vr(e))return Br([new Ft(\"\",\"zoom expressions not supported\")]);var a=function t(e){var r=null;if(e instanceof ur)r=t(e.result);else if(e instanceof sr)for(var n=0,i=e.args;n<i.length&&!(r=t(i[n]));n+=1);else (e instanceof Ne||e instanceof ar)&&e.input instanceof xe&&\"zoom\"===e.input.name&&(r=e);return r instanceof Ft||e.eachChild((function(e){var n=t(e);n instanceof Ft?r=n:!r&&n?r=new Ft(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new Ft(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),r}(r);return a||i?a instanceof Ft?Br([a]):a instanceof ar&&!Fr(e)?Br([new Ft(\"\",'\"interpolate\" expressions cannot be used with this property')]):Mr(a?new Jr(n?\"camera\":\"composite\",t.value,a.labels,a instanceof ar?a.interpolation:void 0):new Xr(n?\"constant\":\"source\",t.value)):Br([new Ft(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}Jr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Jr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},Jr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?ar.interpolationFactor(this.interpolationType,t,e,r):0};var Yr=function(t,e){this._parameters=t,this._specification=e,Bt(this,function t(e,r){var n,i,a,o=\"color\"===r.type,s=e.stops&&\"object\"==typeof e.stops[0][0],u=s||!(s||void 0!==e.property),l=e.type||(Fr(r)?\"exponential\":\"interval\");if(o&&((e=Bt({},e)).stops&&(e.stops=e.stops.map((function(t){return [t[0],te.parse(t[1])]}))),e.default=te.parse(e.default?e.default:r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!ir[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===l)n=qr;else if(\"interval\"===l)n=jr;else if(\"categorical\"===l){n=Ur,i=Object.create(null);for(var p=0,c=e.stops;p<c.length;p+=1){var h=c[p];i[h[0]]=h[1];}a=typeof e.stops[0][0];}else {if(\"identity\"!==l)throw new Error('Unknown function type \"'+l+'\"');n=Nr;}if(s){for(var f={},y=[],d=0;d<e.stops.length;d++){var m=e.stops[d],v=m[0].zoom;void 0===f[v]&&(f[v]={zoom:v,type:e.type,property:e.property,default:e.default,stops:[]},y.push(v)),f[v].stops.push([m[0].value,m[1]]);}for(var g=[],x=0,b=y;x<b.length;x+=1){var w=b[x];g.push([f[w].zoom,t(f[w],r)]);}var _={name:\"linear\"};return {kind:\"composite\",interpolationType:_,interpolationFactor:ar.interpolationFactor.bind(void 0,_),zoomStops:g.map((function(t){return t[0]})),evaluate:function(t,n){var i=t.zoom;return qr({stops:g,base:e.base},r,i).evaluate(i,n)}}}if(u){var A=\"exponential\"===l?{name:\"exponential\",base:void 0!==e.base?e.base:1}:null;return {kind:\"camera\",interpolationType:A,interpolationFactor:ar.interpolationFactor.bind(void 0,A),zoomStops:e.stops.map((function(t){return t[0]})),evaluate:function(t){return n(e,r,t.zoom,i,a)}}}return {kind:\"source\",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?Rr(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification));};function $r(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],u=Dr(r);if(\"object\"!==u)return [new Pt(e,r,\"object expected, \"+u+\" found\")];for(var l in r){var p=l.split(\".\")[0],c=n[p]||n[\"*\"],h=void 0;if(i[p])h=i[p];else if(n[p])h=An;else if(i[\"*\"])h=i[\"*\"];else {if(!n[\"*\"]){s.push(new Pt(e,r[l],'unknown property \"'+l+'\"'));continue}h=An;}s=s.concat(h({key:(e?e+\".\":e)+l,value:r[l],valueSpec:c,style:a,styleSpec:o,object:r,objectKey:l},r));}for(var f in n)i[f]||n[f].required&&void 0===n[f].default&&void 0===r[f]&&s.push(new Pt(e,r,'missing required property \"'+f+'\"'));return s}function Wr(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||An;if(\"array\"!==Dr(e))return [new Pt(a,e,\"array expected, \"+Dr(e)+\" found\")];if(r.length&&e.length!==r.length)return [new Pt(a,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return [new Pt(a,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),\"object\"===Dr(r.value)&&(s=r.value);for(var u=[],l=0;l<e.length;l++)u=u.concat(o({array:e,arrayIndex:l,value:e[l],valueSpec:s,style:n,styleSpec:i,key:a+\"[\"+l+\"]\"}));return u}function Qr(t){var e=t.key,r=t.value,n=t.valueSpec,i=Dr(r);return \"number\"===i&&r!=r&&(i=\"NaN\"),\"number\"!==i?[new Pt(e,r,\"number expected, \"+i+\" found\")]:\"minimum\"in n&&r<n.minimum?[new Pt(e,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new Pt(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function tn(t){var e,r,n,i=t.valueSpec,a=Tt(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,u=!s,l=\"array\"===Dr(t.value.stops)&&\"array\"===Dr(t.value.stops[0])&&\"object\"===Dr(t.value.stops[0][0]),p=$r({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return [new Pt(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;return e=e.concat(Wr({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:c})),\"array\"===Dr(r)&&0===r.length&&e.push(new Pt(t.key,r,\"array must have at least one stop\")),e},default:function(t){return An({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===a&&s&&p.push(new Pt(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||p.push(new Pt(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!Fr(t.valueSpec)&&p.push(new Pt(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(u&&!Tr(t.valueSpec)?p.push(new Pt(t.key,t.value,\"property functions not supported\")):s&&!Vr(t.valueSpec)&&p.push(new Pt(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!l||void 0!==t.value.property||p.push(new Pt(t.key,t.value,'\"property\" property is required')),p;function c(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Dr(a))return [new Pt(s,a,\"array expected, \"+Dr(a)+\" found\")];if(2!==a.length)return [new Pt(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(l){if(\"object\"!==Dr(a[0]))return [new Pt(s,a,\"object expected, \"+Dr(a[0])+\" found\")];if(void 0===a[0].zoom)return [new Pt(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return [new Pt(s,a,\"object stop key must have value\")];if(n&&n>Tt(a[0].zoom))return [new Pt(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Tt(a[0].zoom)!==n&&(n=Tt(a[0].zoom),r=void 0,o={}),e=e.concat($r({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Qr,value:h}}));}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Gr(Vt(a[1]))?e.concat([new Pt(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(An({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Dr(t.value),u=Tt(t.value),l=null!==t.value?t.value:n;if(e){if(s!==e)return [new Pt(t.key,l,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return [new Pt(t.key,l,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var p=\"number expected, \"+s+\" found\";return Tr(i)&&void 0===a&&(p+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Pt(t.key,l,p)]}return \"categorical\"!==a||\"number\"!==s||isFinite(u)&&Math.floor(u)===u?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&u<r?[new Pt(t.key,l,\"stop domain values must appear in ascending order\")]:(r=u,\"categorical\"===a&&u in o?[new Pt(t.key,l,\"stop domain values must be unique\")]:(o[u]=!0,[])):[new Pt(t.key,l,\"integer expected, found \"+u)]}}function en(t){var e=(\"property\"===t.expressionContext?Hr:Zr)(Vt(t.value),t.valueSpec);if(\"error\"===e.result)return e.value.map((function(e){return new Pt(\"\"+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new Pt(t.key,t.value,'Invalid data expression for \"'+t.propertyKey+'\". Output values must be contained as literals within the expression.')];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!Oe(r))return [new Pt(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!Oe(r))return [new Pt(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!Re(r,[\"zoom\",\"feature-state\"]))return [new Pt(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!Le(r))return [new Pt(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function rn(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Tt(r))&&i.push(new Pt(e,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(Tt(r))&&i.push(new Pt(e,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),i}function nn(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return !1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!nn(n)&&\"boolean\"!=typeof n)return !1}return !0;default:return !0}}Yr.deserialize=function(t){return new Yr(t._parameters,t._specification)},Yr.serialize=function(t){return {_parameters:t._parameters,_specification:t._specification}};var an={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function on(t){if(null==t)return {filter:function(){return !0},needGeometry:!1};nn(t)||(t=un(t));var e=Zr(t,an);if(\"error\"===e.result)throw new Error(e.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return {filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:function t(e){if(!Array.isArray(e))return !1;if(\"within\"===e[0])return !0;for(var r=1;r<e.length;r++)if(t(e[r]))return !0;return !1}(t)}}function sn(t,e){return t<e?-1:t>e?1:0}function un(t){if(!t)return !0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?ln(t[1],t[2],\"==\"):\"!=\"===r?hn(ln(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?ln(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(un))):\"all\"===r?[\"all\"].concat(t.slice(1).map(un)):\"none\"===r?[\"all\"].concat(t.slice(1).map(un).map(hn)):\"in\"===r?pn(t[1],t.slice(2)):\"!in\"===r?hn(pn(t[1],t.slice(2))):\"has\"===r?cn(t[1]):\"!has\"===r?hn(cn(t[1])):\"within\"!==r||t}function ln(t,e,r){switch(t){case\"$type\":return [\"filter-type-\"+r,e];case\"$id\":return [\"filter-id-\"+r,e];default:return [\"filter-\"+r,t,e]}}function pn(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(sn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function cn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function hn(t){return [\"!\",t]}function fn(t){return nn(Vt(t.value))?en(Bt({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==Dr(r))return [new Pt(n,r,\"array expected, \"+Dr(r)+\" found\")];var i,a=e.styleSpec,o=[];if(r.length<1)return [new Pt(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat(rn({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Tt(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===Tt(r[1])&&o.push(new Pt(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new Pt(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=Dr(r[1]))&&o.push(new Pt(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s<r.length;s++)i=Dr(r[s]),\"$type\"===Tt(r[1])?o=o.concat(rn({key:n+\"[\"+s+\"]\",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==i&&\"number\"!==i&&\"boolean\"!==i&&o.push(new Pt(n+\"[\"+s+\"]\",r[s],\"string, number, or boolean expected, \"+i+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var u=1;u<r.length;u++)o=o.concat(t({key:n+\"[\"+u+\"]\",value:r[u],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":i=Dr(r[1]),2!==r.length?o.push(new Pt(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==i&&o.push(new Pt(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));break;case\"within\":i=Dr(r[1]),2!==r.length?o.push(new Pt(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"object\"!==i&&o.push(new Pt(n+\"[1]\",r[1],\"object expected, \"+i+\" found\"));}return o}(t)}function yn(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+\"_\"+t.layerType];if(!s)return [];var u=o.match(/^(.*)-transition$/);if(\"paint\"===e&&u&&s[u[1]]&&s[u[1]].transition)return An({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var l,p=t.valueSpec||s[o];if(!p)return [new Pt(r,a,'unknown property \"'+o+'\"')];if(\"string\"===Dr(a)&&Tr(p)&&!p.tokens&&(l=/^{([^}]+)}$/.exec(a)))return [new Pt(r,a,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(l[1])+\" }`.\")];var c=[];return \"symbol\"===t.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&c.push(new Pt(r,a,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&Lr(Vt(a))&&\"identity\"===Tt(a.type)&&c.push(new Pt(r,a,'\"text-font\" does not support identity functions'))),c.concat(An({key:t.key,value:a,valueSpec:p,style:n,styleSpec:i,expressionContext:\"property\",propertyType:e,propertyKey:o}))}function dn(t){return yn(t,\"paint\")}function mn(t){return yn(t,\"layout\")}function vn(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new Pt(n,r,'either \"type\" or \"ref\" is required'));var o,s=Tt(r.type),u=Tt(r.ref);if(r.id)for(var l=Tt(r.id),p=0;p<t.arrayIndex;p++){var c=i.layers[p];Tt(c.id)===l&&e.push(new Pt(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+c.id.__line__));}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach((function(t){t in r&&e.push(new Pt(n,r[t],'\"'+t+'\" is prohibited for ref layers'));})),i.layers.forEach((function(t){Tt(t.id)===u&&(o=t);})),o?o.ref?e.push(new Pt(n,r.ref,\"ref cannot reference another ref layer\")):s=Tt(o.type):e.push(new Pt(n,r.ref,'ref layer \"'+u+'\" not found'));else if(\"background\"!==s)if(r.source){var h=i.sources&&i.sources[r.source],f=h&&Tt(h.type);h?\"vector\"===f&&\"raster\"===s?e.push(new Pt(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===f&&\"raster\"!==s?e.push(new Pt(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==f||r[\"source-layer\"]?\"raster-dem\"===f&&\"hillshade\"!==s?e.push(new Pt(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===f&&h.lineMetrics||e.push(new Pt(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new Pt(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new Pt(n,r.source,'source \"'+r.source+'\" not found'));}else e.push(new Pt(n,r,'missing required property \"source\"'));return e=e.concat($r({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return []},type:function(){return An({key:n+\".type\",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},filter:fn,layout:function(t){return $r({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return mn(Bt({layerType:s},t))}}})},paint:function(t){return $r({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return dn(Bt({layerType:s},t))}}})}}}))}function gn(t){var e=t.value,r=t.key,n=Dr(e);return \"string\"!==n?[new Pt(r,e,\"string expected, \"+n+\" found\")]:[]}var xn={promoteId:function(t){var e=t.key,r=t.value;if(\"string\"===Dr(r))return gn({key:e,value:r});var n=[];for(var i in r)n.push.apply(n,gn({key:e+\".\"+i,value:r[i]}));return n}};function bn(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return [new Pt(r,e,'\"type\" is required')];var a,o=Tt(e.type);switch(o){case\"vector\":case\"raster\":case\"raster-dem\":return $r({key:r,value:e,valueSpec:n[\"source_\"+o.replace(\"-\",\"_\")],style:t.style,styleSpec:n,objectElementValidators:xn});case\"geojson\":if(a=$r({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:xn}),e.cluster)for(var s in e.clusterProperties){var u=e.clusterProperties[s],l=u[0],p=\"string\"==typeof l?[l,[\"accumulated\"],[\"get\",s]]:l;a.push.apply(a,en({key:r+\".\"+s+\".map\",value:u[1],expressionContext:\"cluster-map\"})),a.push.apply(a,en({key:r+\".\"+s+\".reduce\",value:p,expressionContext:\"cluster-reduce\"}));}return a;case\"video\":return $r({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return $r({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return [new Pt(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return rn({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function wn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=Dr(e);if(void 0===e)return a;if(\"object\"!==o)return a.concat([new Pt(\"light\",e,\"object expected, \"+o+\" found\")]);for(var s in e){var u=s.match(/^(.*)-transition$/);a=a.concat(u&&n[u[1]]&&n[u[1]].transition?An({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r}):n[s]?An({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new Pt(s,e[s],'unknown property \"'+s+'\"')]);}return a}var _n={\"*\":function(){return []},array:Wr,boolean:function(t){var e=t.value,r=t.key,n=Dr(e);return \"boolean\"!==n?[new Pt(r,e,\"boolean expected, \"+n+\" found\")]:[]},number:Qr,color:function(t){var e=t.key,r=t.value,n=Dr(r);return \"string\"!==n?[new Pt(e,r,\"color expected, \"+n+\" found\")]:null===Qt(r)?[new Pt(e,r,'color expected, \"'+r+'\" found')]:[]},constants:Mt,enum:rn,filter:fn,function:tn,layer:vn,object:$r,source:bn,light:wn,string:gn,formatted:function(t){return 0===gn(t).length?[]:en(t)},resolvedImage:function(t){return 0===gn(t).length?[]:en(t)}};function An(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Lr(Tt(e))?tn(t):r.expression&&Gr(Vt(e))?en(t):r.type&&_n[r.type]?_n[r.type](t):$r(Bt({},t,{valueSpec:r.type?n[r.type]:r}))}function Sn(t){var e=t.value,r=t.key,n=gn(t);return n.length||(-1===e.indexOf(\"{fontstack}\")&&n.push(new Pt(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new Pt(r,e,'\"glyphs\" url must include a \"{range}\" token'))),n}function kn(t,e){void 0===e&&(e=Et);var r=[];return r=r.concat(An({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Sn,\"*\":function(){return []}}})),t.constants&&(r=r.concat(Mt({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),In(r)}function In(t){return [].concat(t).sort((function(t,e){return t.line-e.line}))}function zn(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return In(t.apply(this,e))}}kn.source=zn(bn),kn.light=zn(wn),kn.layer=zn(vn),kn.filter=zn(fn),kn.paintProperty=zn(dn),kn.layoutProperty=zn(mn);var Cn=kn,En=Cn.light,Pn=Cn.paintProperty,Mn=Cn.layoutProperty;function Bn(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1)t.fire(new zt(new Error(i[n].message))),r=!0;return r}var Tn=Vn;function Vn(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s));}var u=i[3+n.length+1];this.keys=i.subarray(i[3+n.length],u),this.bboxes=i.subarray(u),this.insert=this._insertReadonly;}else {this.d=e+2*r;for(var l=0;l<this.d*this.d;l++)n.push([]);this.keys=[],this.bboxes=[];}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var p=r/e*t;this.min=-p,this.max=t+p;}Vn.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i);},Vn.prototype._insertReadonly=function(){throw \"Cannot insert into a GridIndex created from an ArrayBuffer.\"},Vn.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a);},Vn.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},Vn.prototype._queryCell=function(t,e,r,n,i,a,o,s){var u=this.cells[i];if(null!==u)for(var l=this.keys,p=this.bboxes,c=0;c<u.length;c++){var h=u[c];if(void 0===o[h]){var f=4*h;(s?s(p[f+0],p[f+1],p[f+2],p[f+3]):t<=p[f+2]&&e<=p[f+3]&&r>=p[f+0]&&n>=p[f+1])?(o[h]=!0,a.push(l[h])):o[h]=!1;}}},Vn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var u=this._convertToCellCoord(t),l=this._convertToCellCoord(e),p=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=u;h<=p;h++)for(var f=l;f<=c;f++){var y=this.d*f+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(f),this._convertFromCellCoord(h+1),this._convertFromCellCoord(f+1)))&&i.call(this,t,e,r,n,y,a,o,s))return}},Vn.prototype._convertFromCellCoord=function(t){return (t-this.padding)/this.scale},Vn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Vn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length;}return i[3+t.length]=a,i.set(this.keys,a),i[3+t.length+1]=a+=this.keys.length,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var Fn=o.ImageData,Dn=o.ImageBitmap,Ln={};function On(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),Ln[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]};}for(var Rn in On(\"Object\",Object),Tn.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Tn.deserialize=function(t){return new Tn(t.buffer)},On(\"Grid\",Tn),On(\"Color\",te),On(\"Error\",Error),On(\"ResolvedImage\",ie),On(\"StylePropertyFunction\",Yr),On(\"StyleExpression\",Kr,{omit:[\"_evaluator\"]}),On(\"ZoomDependentExpression\",Jr),On(\"ZoomConstantExpression\",Xr),On(\"CompoundExpression\",xe,{omit:[\"_evaluate\"]}),Ir)Ir[Rn]._classRegistryKey||On(\"Expression_\"+Rn,Ir[Rn]);function Un(t){return t&&\"undefined\"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&\"ArrayBuffer\"===t.constructor.name)}function jn(t){return Dn&&t instanceof Dn}function qn(t,e){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(Un(t)||jn(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof Fn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1)n.push(qn(a[i],e));return n}if(\"object\"==typeof t){var o=t.constructor,s=o._classRegistryKey;if(!s)throw new Error(\"can't serialize object of unregistered class\");var u=o.serialize?o.serialize(t,e):{};if(!o.serialize){for(var l in t)if(t.hasOwnProperty(l)&&!(Ln[s].omit.indexOf(l)>=0)){var p=t[l];u[l]=Ln[s].shallow.indexOf(l)>=0?p:qn(p,e);}t instanceof Error&&(u.message=t.message);}if(u.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==s&&(u.$name=s),u}throw new Error(\"can't serialize object of type \"+typeof t)}function Nn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Un(t)||jn(t)||ArrayBuffer.isView(t)||t instanceof Fn)return t;if(Array.isArray(t))return t.map(Nn);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=Ln[e].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i<a.length;i+=1){var o=a[i];if(\"$name\"!==o){var s=t[o];n[o]=Ln[e].shallow.indexOf(o)>=0?s:Nn(s);}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var Kn=function(){this.first=!0;};Kn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Gn={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function Zn(t){for(var e=0,r=t;e<r.length;e+=1)if(Xn(r[e].charCodeAt(0)))return !0;return !1}function Xn(t){return !(746!==t&&747!==t&&(t<4352||!(Gn[\"Bopomofo Extended\"](t)||Gn.Bopomofo(t)||Gn[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Gn[\"CJK Compatibility Ideographs\"](t)||Gn[\"CJK Compatibility\"](t)||Gn[\"CJK Radicals Supplement\"](t)||Gn[\"CJK Strokes\"](t)||!(!Gn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Gn[\"CJK Unified Ideographs Extension A\"](t)||Gn[\"CJK Unified Ideographs\"](t)||Gn[\"Enclosed CJK Letters and Months\"](t)||Gn[\"Hangul Compatibility Jamo\"](t)||Gn[\"Hangul Jamo Extended-A\"](t)||Gn[\"Hangul Jamo Extended-B\"](t)||Gn[\"Hangul Jamo\"](t)||Gn[\"Hangul Syllables\"](t)||Gn.Hiragana(t)||Gn[\"Ideographic Description Characters\"](t)||Gn.Kanbun(t)||Gn[\"Kangxi Radicals\"](t)||Gn[\"Katakana Phonetic Extensions\"](t)||Gn.Katakana(t)&&12540!==t||!(!Gn[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Gn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Gn[\"Unified Canadian Aboriginal Syllabics\"](t)||Gn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Gn[\"Vertical Forms\"](t)||Gn[\"Yijing Hexagram Symbols\"](t)||Gn[\"Yi Syllables\"](t)||Gn[\"Yi Radicals\"](t))))}function Jn(t){return !(Xn(t)||function(t){return !!(Gn[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Gn[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Gn[\"Letterlike Symbols\"](t)||Gn[\"Number Forms\"](t)||Gn[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Gn[\"Control Pictures\"](t)&&9251!==t||Gn[\"Optical Character Recognition\"](t)||Gn[\"Enclosed Alphanumerics\"](t)||Gn[\"Geometric Shapes\"](t)||Gn[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Gn[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Gn[\"CJK Symbols and Punctuation\"](t)||Gn.Katakana(t)||Gn[\"Private Use Area\"](t)||Gn[\"CJK Compatibility Forms\"](t)||Gn[\"Small Form Variants\"](t)||Gn[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Hn(t){return t>=1424&&t<=2303||Gn[\"Arabic Presentation Forms-A\"](t)||Gn[\"Arabic Presentation Forms-B\"](t)}function Yn(t,e){return !(!e&&Hn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Gn.Khmer(t))}function $n(t){for(var e=0,r=t;e<r.length;e+=1)if(Hn(r[e].charCodeAt(0)))return !0;return !1}var Wn=null,Qn=\"unavailable\",ti=null,ei=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(Qn=\"error\"),Wn&&Wn(t);};function ri(){ni.fire(new It(\"pluginStateChange\",{pluginStatus:Qn,pluginURL:ti}));}var ni=new Ct,ii=function(){return Qn},ai=function(){if(\"deferred\"!==Qn||!ti)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Qn=\"loading\",ri(),ti&&bt({url:ti},(function(t){t?ei(t):(Qn=\"loaded\",ri());}));},oi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return \"loaded\"===Qn||null!=oi.applyArabicShaping},isLoading:function(){return \"loading\"===Qn},setState:function(t){Qn=t.pluginStatus,ti=t.pluginURL;},isParsed:function(){return null!=oi.applyArabicShaping&&null!=oi.processBidirectionalText&&null!=oi.processStyledBidirectionalText},getPluginURL:function(){return ti}},si=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Kn,this.transition={});};si.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!Yn(n[r].charCodeAt(0),e))return !1;return !0}(t,oi.isLoaded())},si.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},si.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var ui=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Lr(t))return new Yr(t,e);if(Gr(t)){var r=Hr(t,e);if(\"error\"===r.result)throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return r.value}var n=t;return \"string\"==typeof t&&\"color\"===e.type&&(n=te.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification);};ui.prototype.isDataDriven=function(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind},ui.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var li=function(t){this.property=t,this.value=new ui(t,void 0);};li.prototype.transitioned=function(t,e){return new ci(this.property,this.value,e,h({},t.transition,this.transition),t.now)},li.prototype.untransitioned=function(){return new ci(this.property,this.value,null,{},0)};var pi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);};pi.prototype.getValue=function(t){return w(this._values[t].value.value)},pi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new li(this._values[t].property)),this._values[t].value=new ui(this._values[t].property,null===e?void 0:w(e));},pi.prototype.getTransition=function(t){return w(this._values[t].transition)},pi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new li(this._values[t].property)),this._values[t].transition=w(e)||void 0;},pi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+\"-transition\"]=a);}return t},pi.prototype.transitioned=function(t,e){for(var r=new hi(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a]);}return r},pi.prototype.untransitioned=function(){for(var t=new hi(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned();}return t};var ci=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);};ci.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n<this.begin)return a.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var hi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);};hi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new di(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n},hi.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1)if(this._values[e[t]].prior)return !0;return !1};var fi=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);};fi.prototype.getValue=function(t){return w(this._values[t].value)},fi.prototype.setValue=function(t,e){this._values[t]=new ui(this._values[t].property,null===e?void 0:w(e));},fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);}return t},fi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new di(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n};var yi=function(t,e,r){this.property=t,this.value=e,this.parameters=r;};yi.prototype.isConstant=function(){return \"constant\"===this.value.kind},yi.prototype.constantOr=function(t){return \"constant\"===this.value.kind?this.value.value:t},yi.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var di=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);};di.prototype.get=function(t){return this._values[t]};var mi=function(t){this.specification=t;};mi.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},mi.prototype.interpolate=function(t,e,r){var n=Ge[this.specification.type];return n?n(t,e,r):t};var vi=function(t,e){this.specification=t,this.overrides=e;};vi.prototype.possiblyEvaluate=function(t,e,r,n){return new yi(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)},vi.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new yi(this,{kind:\"constant\",value:void 0},t.parameters);var n=Ge[this.specification.type];return n?new yi(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.parameters):t},vi.prototype.evaluate=function(t,e,r,n,i,a){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new yi(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n),a=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new yi(this,{kind:\"constant\",value:o},e)}if(\"camera\"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new yi(this,{kind:\"constant\",value:s},e)}return new yi(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if(\"source\"===t.kind){var o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(vi),xi=function(t){this.specification=t;};xi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new si(Math.floor(e.zoom-1),e)),t.expression.evaluate(new si(Math.floor(e.zoom),e)),t.expression.evaluate(new si(Math.floor(e.zoom+1),e)),e)}},xi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},xi.prototype.interpolate=function(t){return t};var bi=function(t){this.specification=t;};bi.prototype.possiblyEvaluate=function(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)},bi.prototype.interpolate=function(){return !1};var wi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new ui(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new li(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}};On(\"DataDrivenProperty\",vi),On(\"DataConstantProperty\",mi),On(\"CrossFadedDataDrivenProperty\",gi),On(\"CrossFadedProperty\",xi),On(\"ColorRampProperty\",bi);var _i=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return !0},needGeometry:!1},\"custom\"!==e.type&&(this.metadata=(e=e).metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new fi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new pi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new di(r.paint);}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(Mn,\"layers.\"+this.id+\".layout.\"+t,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);},e.prototype.getPaintProperty=function(t){return g(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Pn,\"layers.\"+this.id+\".paint.\"+t,t,e,r))return !1;if(g(t,\"-transition\"))return this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0),!1;var n=this._transitionablePaint._values[t],i=\"cross-faded-data-driven\"===n.property.specification[\"property-type\"],a=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||a||i||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return !1},e.prototype.isHidden=function(t){return !!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,(function(t,e){return !(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Bn(this,t.call(Cn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Et,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return !1},e.prototype.isTileClipped=function(){return !1},e.prototype.hasOffscreenPass=function(){return !1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof yi&&Tr(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1},e}(Ct),Ai={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Si=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;},ki=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0);};function Ii(t,e){void 0===e&&(e=1);var r=0,n=0;return {members:t.map((function(t){var i=Ai[t.type].BYTES_PER_ELEMENT,a=r=zi(r,Math.max(e,i)),o=t.components||1;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:zi(r,Math.max(n,e)),alignment:e}}function zi(t,e){return Math.ceil(t/e)*e}ki.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},ki.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},ki.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());},ki.prototype.clear=function(){this.length=0;},ki.prototype.resize=function(t){this.reserve(t),this.length=t;},ki.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}},ki.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var Ci=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(ki);Ci.prototype.bytesPerElement=4,On(\"StructArrayLayout2i4\",Ci);var Ei=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(ki);Ei.prototype.bytesPerElement=8,On(\"StructArrayLayout4i8\",Ei);var Pi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(ki);Pi.prototype.bytesPerElement=12,On(\"StructArrayLayout2i4i12\",Pi);var Mi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,u=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[u+4]=n,this.uint8[u+5]=i,this.uint8[u+6]=a,this.uint8[u+7]=o,t},e}(ki);Mi.prototype.bytesPerElement=8,On(\"StructArrayLayout2i4ub8\",Mi);var Bi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(ki);Bi.prototype.bytesPerElement=8,On(\"StructArrayLayout2f8\",Bi);var Ti=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l){var p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,a,o,s,u,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p){var c=10*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=i,this.uint16[c+4]=a,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=u,this.uint16[c+8]=l,this.uint16[c+9]=p,t},e}(ki);Ti.prototype.bytesPerElement=20,On(\"StructArrayLayout10ui20\",Ti);var Vi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,u,l,p,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=u,this.int16[f+8]=l,this.int16[f+9]=p,this.int16[f+10]=c,this.int16[f+11]=h,t},e}(ki);Vi.prototype.bytesPerElement=24,On(\"StructArrayLayout4i4ui4i24\",Vi);var Fi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(ki);Fi.prototype.bytesPerElement=12,On(\"StructArrayLayout3f12\",Fi);var Di=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(ki);Di.prototype.bytesPerElement=4,On(\"StructArrayLayout1ul4\",Di);var Li=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,i,a,o,s,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l){var p=10*t,c=5*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.int16[p+4]=a,this.int16[p+5]=o,this.uint32[c+3]=s,this.uint16[p+8]=u,this.uint16[p+9]=l,t},e}(ki);Li.prototype.bytesPerElement=20,On(\"StructArrayLayout6i1ul2ui20\",Li);var Oi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(ki);Oi.prototype.bytesPerElement=12,On(\"StructArrayLayout2i2i2i12\",Oi);var Ri=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(ki);Ri.prototype.bytesPerElement=16,On(\"StructArrayLayout2f1f2i16\",Ri);var Ui=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(ki);Ui.prototype.bytesPerElement=12,On(\"StructArrayLayout2ub2f12\",Ui);var ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(ki);ji.prototype.bytesPerElement=6,On(\"StructArrayLayout3ui6\",ji);var qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v){var g=24*t,x=12*t,b=48*t;return this.int16[g+0]=e,this.int16[g+1]=r,this.uint16[g+2]=n,this.uint16[g+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[g+10]=u,this.uint16[g+11]=l,this.uint16[g+12]=p,this.float32[x+7]=c,this.float32[x+8]=h,this.uint8[b+36]=f,this.uint8[b+37]=y,this.uint8[b+38]=d,this.uint32[x+10]=m,this.int16[g+22]=v,t},e}(ki);qi.prototype.bytesPerElement=48,On(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",qi);var Ni=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z){var C=this.length;return this.resize(C+1),this.emplace(C,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z,C){var E=34*t,P=17*t;return this.int16[E+0]=e,this.int16[E+1]=r,this.int16[E+2]=n,this.int16[E+3]=i,this.int16[E+4]=a,this.int16[E+5]=o,this.int16[E+6]=s,this.int16[E+7]=u,this.uint16[E+8]=l,this.uint16[E+9]=p,this.uint16[E+10]=c,this.uint16[E+11]=h,this.uint16[E+12]=f,this.uint16[E+13]=y,this.uint16[E+14]=d,this.uint16[E+15]=m,this.uint16[E+16]=v,this.uint16[E+17]=g,this.uint16[E+18]=x,this.uint16[E+19]=b,this.uint16[E+20]=w,this.uint16[E+21]=_,this.uint16[E+22]=A,this.uint32[P+12]=S,this.float32[P+13]=k,this.float32[P+14]=I,this.float32[P+15]=z,this.float32[P+16]=C,t},e}(ki);Ni.prototype.bytesPerElement=68,On(\"StructArrayLayout8i15ui1ul4f68\",Ni);var Ki=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(ki);Ki.prototype.bytesPerElement=4,On(\"StructArrayLayout1f4\",Ki);var Gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(ki);Gi.prototype.bytesPerElement=6,On(\"StructArrayLayout3i6\",Gi);var Zi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(ki);Zi.prototype.bytesPerElement=8,On(\"StructArrayLayout1ul2ui8\",Zi);var Xi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(ki);Xi.prototype.bytesPerElement=4,On(\"StructArrayLayout2ui4\",Xi);var Ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(ki);Ji.prototype.bytesPerElement=2,On(\"StructArrayLayout1ui2\",Ji);var Hi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(ki);Hi.prototype.bytesPerElement=16,On(\"StructArrayLayout4f16\",Hi);var Yi=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Si);Yi.prototype.size=20;var $i=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Yi(this,t)},e}(Li);On(\"CollisionBoxArray\",$i);var Wi=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t;},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t;},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t;},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Si);Wi.prototype.size=48;var Qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Wi(this,t)},e}(qi);On(\"PlacedSymbolArray\",Qi);var ta=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t;},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Si);ta.prototype.size=68;var ea=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ta(this,t)},e}(Ni);On(\"SymbolInstanceArray\",ea);var ra=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(Ki);On(\"GlyphOffsetArray\",ra);var na=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Gi);On(\"SymbolLineVertexArray\",na);var ia=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Si);ia.prototype.size=8;var aa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ia(this,t)},e}(Zi);On(\"FeatureIndexArray\",aa);var oa=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,sa=function(t){void 0===t&&(t=[]),this.segments=t;};function ua(t,e){return 256*(t=p(Math.floor(t),0,255))+p(Math.floor(e),0,255)}sa.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>sa.MAX_VERTEX_ARRAY_LENGTH&&A(\"Max vertices per segment is \"+sa.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>sa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},sa.prototype.get=function(){return this.segments},sa.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy();}},sa.simpleSegment=function(t,e,r,n){return new sa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},sa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,On(\"SegmentVector\",sa);var la=Ii([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]),pa=e((function(t){t.exports=function(t,e){var r,n,i,a,o,s,u,l;for(n=t.length-(r=3&t.length),i=e,o=3432918353,s=461845907,l=0;l<n;)u=255&t.charCodeAt(l)|(255&t.charCodeAt(++l))<<8|(255&t.charCodeAt(++l))<<16|(255&t.charCodeAt(++l))<<24,++l,i=27492+(65535&(a=5*(65535&(i=(i^=u=(65535&(u=(u=(65535&u)*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(u=0,r){case 3:u^=(255&t.charCodeAt(l+2))<<16;case 2:u^=(255&t.charCodeAt(l+1))<<8;case 1:i^=u=(65535&(u=(u=(65535&(u^=255&t.charCodeAt(l)))*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};})),ca=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};})),ha=pa,fa=ca;ha.murmur3=pa,ha.murmur2=fa;var ya=function(){this.ids=[],this.positions=[],this.indexed=!1;};ya.prototype.add=function(t,e,r,n){this.ids.push(ma(t)),this.positions.push(e,r,n);},ya.prototype.getPositions=function(t){for(var e=ma(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=e?n=i:r=i+1;}for(var a=[];this.ids[r]===e;)a.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return a},ya.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n<i;){for(var a=e[n+i>>1],o=n-1,s=i+1;;){do{o++;}while(e[o]<a);do{s--;}while(e[s]>a);if(o>=s)break;va(e,o,s),va(r,3*o,3*s),va(r,3*o+1,3*s+1),va(r,3*o+2,3*s+2);}s-n<i-s?(t(e,r,n,s),n=s+1):(t(e,r,s+1,i),i=s);}}(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},ya.deserialize=function(t){var e=new ya;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var da=Math.pow(2,53)-1;function ma(t){var e=+t;return !isNaN(e)&&e<=da?e:ha(String(t))}function va(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}On(\"FeaturePositionMap\",ya);var ga=function(t,e){this.gl=t.gl,this.location=e;},xa=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t));},e}(ga),ba=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t));},e}(ga),wa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]));},e}(ga),_a=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]));},e}(ga),Aa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]));},e}(ga),Sa=function(t){function e(e,r){t.call(this,e,r),this.current=te.transparent;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a));},e}(ga),ka=new Float32Array(16),Ia=function(t){function e(e,r){t.call(this,e,r),this.current=ka;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(ga);function za(t){return [ua(255*t.r,255*t.g),ua(255*t.b,255*t.a)]}var Ca=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return \"u_\"+t})),this.type=r;};Ca.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value));},Ca.prototype.getBinding=function(t,e,r){return \"color\"===this.type?new Sa(t,e):new ba(t,e)};var Ea=function(t,e){this.uniformNames=e.map((function(t){return \"u_\"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;};Ea.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;},Ea.prototype.setUniform=function(t,e,r,n){var i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i);},Ea.prototype.getBinding=function(t,e,r){return \"u_pattern\"===r.substr(0,9)?new Aa(t,e):new ba(t,e)};var Pa=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?2:1,offset:0}})),this.paintVertexArray=new n;};Pa.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new si(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o);},Pa.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);},Pa.prototype._setPaintValue=function(t,e,r){if(\"color\"===this.type)for(var n=za(r),i=t;i<e;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else {for(var a=t;a<e;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r));}},Pa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},Pa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();};var Ma=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return \"u_\"+t+\"_t\"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?4:2,offset:0}})),this.paintVertexArray=new a;};Ma.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new si(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new si(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o);},Ma.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a);},Ma.prototype._setPaintValue=function(t,e,r,n){if(\"color\"===this.type)for(var i=za(r),a=za(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else {for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n));}},Ma.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},Ma.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();},Ma.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=p(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n);},Ma.prototype.getBinding=function(t,e,r){return new ba(t,e)};var Ba=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i;};Ba.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r);},Ba.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i);},Ba.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=n[r.min],a=n[r.mid],o=n[r.max];if(i&&a&&o)for(var s=t;s<e;s++)this.zoomInPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],i.tl[0],i.tl[1],i.br[0],i.br[1],a.pixelRatio,i.pixelRatio),this.zoomOutPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],o.tl[0],o.tl[1],o.br[0],o.br[1],a.pixelRatio,o.pixelRatio);}},Ba.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,la.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,la.members,this.expression.isStateDependent));},Ba.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy();};var Ta=function(t,e,r){this.binders={},this._buffers=[];var n=[];for(var i in t.paint._values)if(r(i)){var a=t.paint.get(i);if(a instanceof yi&&Tr(a.property.specification)){var o=Fa(i,t.type),s=a.value,u=a.property.specification.type,l=a.property.useIntegerZoom,p=a.property.specification[\"property-type\"],c=\"cross-faded\"===p||\"cross-faded-data-driven\"===p;if(\"constant\"===s.kind)this.binders[i]=c?new Ea(s.value,o):new Ca(s.value,o,u),n.push(\"/u_\"+i);else if(\"source\"===s.kind||c){var h=Da(i,u,\"source\");this.binders[i]=c?new Ba(s,u,l,e,h,t.id):new Pa(s,o,u,h),n.push(\"/a_\"+i);}else {var f=Da(i,u,\"composite\");this.binders[i]=new Ma(s,o,u,l,e,f),n.push(\"/z_\"+i);}}}this.cacheKey=n.sort().join(\"\");};Ta.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Pa||e instanceof Ma?e.maxValue:0},Ta.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof Pa||o instanceof Ma||o instanceof Ba)&&o.populatePaintArray(t,e,r,n,i);}},Ta.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof Ea&&n.setConstantPatternPositions(t,e);}},Ta.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t)for(var s=0,u=e.getPositions(o);s<u.length;s+=1){var l=u[s],p=r.feature(l.index);for(var c in this.binders){var h=this.binders[c];if((h instanceof Pa||h instanceof Ma||h instanceof Ba)&&!0===h.expression.isStateDependent){var f=n.paint.get(c);h.expression=f.value,h.updatePaintArray(l.start,l.end,p,t[o],i),a=!0;}}}return a},Ta.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Ca||r instanceof Ea)&&t.push.apply(t,r.uniformNames.map((function(t){return \"#define HAS_UNIFORM_\"+t})));}return t},Ta.prototype.getBinderAttributes=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof Pa||r instanceof Ma)for(var n=0;n<r.paintVertexAttributes.length;n++)t.push(r.paintVertexAttributes[n].name);else if(r instanceof Ba)for(var i=0;i<la.members.length;i++)t.push(la.members[i].name);}return t},Ta.prototype.getBinderUniforms=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof Ca||r instanceof Ea||r instanceof Ma)for(var n=0,i=r.uniformNames;n<i.length;n+=1)t.push(i[n]);}return t},Ta.prototype.getPaintVertexBuffers=function(){return this._buffers},Ta.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof Ca||i instanceof Ea||i instanceof Ma)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var u=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:u});}}}return r},Ta.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,u=o.property;this.binders[u].setUniform(o.binding,n,r.get(u),s);}},Ta.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof Ba){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n);}else (r instanceof Pa||r instanceof Ma)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer);}},Ta.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Pa||r instanceof Ma||r instanceof Ba)&&r.upload(t);}this.updatePaintBuffers();},Ta.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Pa||e instanceof Ma||e instanceof Ba)&&e.destroy();}};var Va=function(t,e,r){void 0===r&&(r=function(){return !0}),this.programConfigurations={};for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.programConfigurations[a.id]=new Ta(a,e,r);}this.needsUpload=!1,this._featureMap=new ya,this._bufferOffset=0;};function Fa(t,e){return {\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(e+\"-\",\"\").replace(/-/g,\"_\")]}function Da(t,e,r){var n={color:{source:Bi,composite:Hi},number:{source:Ki,composite:Bi}},i=function(t){return {\"line-pattern\":{source:Ti,composite:Ti},\"fill-pattern\":{source:Ti,composite:Ti},\"fill-extrusion-pattern\":{source:Ti,composite:Ti}}[t]}(t);return i&&i[r]||n[e][r]}Va.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;},Va.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload;}},Va.prototype.get=function(t){return this.programConfigurations[t]},Va.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}},Va.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy();},On(\"ConstantBinder\",Ca),On(\"CrossFadedConstantBinder\",Ea),On(\"SourceExpressionBinder\",Pa),On(\"CrossFadedCompositeBinder\",Ba),On(\"CompositeExpressionBinder\",Ma),On(\"ProgramConfiguration\",Ta,{omit:[\"_buffers\"]}),On(\"ProgramConfigurationSet\",Va);var La=Math.pow(2,14)-1,Oa=-La-1;function Ra(t){for(var e=8192/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a],s=Math.round(o.x*e),u=Math.round(o.y*e);o.x=p(s,Oa,La),o.y=p(u,Oa,La),(s<o.x||s>o.x+1||u<o.y||u>o.y+1)&&A(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}return r}function Ua(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Ra(t):[]}}function ja(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}var qa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ci,this.indexArray=new ji,this.segments=new sa,this.programConfigurations=new Va(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function Na(t,e){for(var r=0;r<t.length;r++)if(Wa(e,t[r]))return !0;for(var n=0;n<e.length;n++)if(Wa(t,e[n]))return !0;return !!Xa(t,e)}function Ka(t,e,r){return !!Wa(t,e)||!!Ha(e,t,r)}function Ga(t,e){if(1===t.length)return $a(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Wa(t,n[i]))return !0;for(var a=0;a<t.length;a++)if($a(e,t[a]))return !0;for(var o=0;o<e.length;o++)if(Xa(t,e[o]))return !0;return !1}function Za(t,e,r){if(t.length>1){if(Xa(t,e))return !0;for(var n=0;n<e.length;n++)if(Ha(e[n],t,r))return !0}for(var i=0;i<t.length;i++)if(Ha(t[i],e,r))return !0;return !1}function Xa(t,e){if(0===t.length||0===e.length)return !1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(Ja(n,i,e[a],e[a+1]))return !0;return !1}function Ja(t,e,r,n){return S(t,r,n)!==S(e,r,n)&&S(t,e,r)!==S(t,e,n)}function Ha(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(Ya(t,e[i-1],e[i])<n)return !0;return !1}function Ya(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return t.distSqr(i<0?e:i>1?r:r.sub(e)._mult(i)._add(e))}function $a(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,u=(r=t[o]).length-1;s<r.length;u=s++)(n=r[s]).y>e.y!=(i=r[u]).y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Wa(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r);}return r}function Qa(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y)return !1;var a=S(t,e,r[0]);return a!==S(t,e,r[1])||a!==S(t,e,r[2])||a!==S(t,e,r[3])}function to(t,e,r){var n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function eo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ro(t,e,r,n,a){if(!e[0]&&!e[1])return t;var o=i.convert(e)._mult(a);\"viewport\"===r&&o._rotate(-n);for(var s=[],u=0;u<t.length;u++)s.push(t[u].sub(o));return s}qa.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"));for(var o=0,s=t;o<s.length;o+=1){var u=s[o],l=u.feature,p=u.id,c=u.index,h=u.sourceLayerIndex,f=this.layers[0]._featureFilter.needGeometry,y=Ua(l,f);if(this.layers[0]._featureFilter.filter(new si(this.zoom),y,r)){var d=a?a.evaluate(y,{},r):void 0,m={id:p,properties:l.properties,type:l.type,sourceLayerIndex:h,index:c,geometry:f?y.geometry:Ra(l),patterns:{},sortKey:d};i.push(m);}}a&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var v=0,g=i;v<g.length;v+=1){var x=g[v],b=x.geometry,w=x.index,_=x.sourceLayerIndex,A=t[w].feature;this.addFeature(x,b,w,r),e.featureIndex.insert(A,b,w,_,this.index);}},qa.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},qa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},qa.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},qa.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,oa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},qa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},qa.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var u=s[o],l=u.x,p=u.y;if(!(l<0||l>=8192||p<0||p>=8192)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=c.vertexLength;ja(this.layoutVertexArray,l,p,-1,-1),ja(this.layoutVertexArray,l,p,1,-1),ja(this.layoutVertexArray,l,p,1,1),ja(this.layoutVertexArray,l,p,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),c.vertexLength+=4,c.primitiveLength+=2;}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);},On(\"CircleBucket\",qa,{omit:[\"layers\"]});var no=new wi({\"circle-sort-key\":new vi(Et.layout_circle[\"circle-sort-key\"])}),io={paint:new wi({\"circle-radius\":new vi(Et.paint_circle[\"circle-radius\"]),\"circle-color\":new vi(Et.paint_circle[\"circle-color\"]),\"circle-blur\":new vi(Et.paint_circle[\"circle-blur\"]),\"circle-opacity\":new vi(Et.paint_circle[\"circle-opacity\"]),\"circle-translate\":new mi(Et.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new mi(Et.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new mi(Et.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new mi(Et.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new vi(Et.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new vi(Et.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new vi(Et.paint_circle[\"circle-stroke-opacity\"])}),layout:no},ao=\"undefined\"!=typeof Float32Array?Float32Array:Array;function oo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function so(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],d=e[12],m=e[13],v=e[14],g=e[15],x=r[0],b=r[1],w=r[2],_=r[3];return t[0]=x*n+b*s+w*c+_*d,t[1]=x*i+b*u+w*h+_*m,t[2]=x*a+b*l+w*f+_*v,t[3]=x*o+b*p+w*y+_*g,t[4]=(x=r[4])*n+(b=r[5])*s+(w=r[6])*c+(_=r[7])*d,t[5]=x*i+b*u+w*h+_*m,t[6]=x*a+b*l+w*f+_*v,t[7]=x*o+b*p+w*y+_*g,t[8]=(x=r[8])*n+(b=r[9])*s+(w=r[10])*c+(_=r[11])*d,t[9]=x*i+b*u+w*h+_*m,t[10]=x*a+b*l+w*f+_*v,t[11]=x*o+b*p+w*y+_*g,t[12]=(x=r[12])*n+(b=r[13])*s+(w=r[14])*c+(_=r[15])*d,t[13]=x*i+b*u+w*h+_*m,t[14]=x*a+b*l+w*f+_*v,t[15]=x*o+b*p+w*y+_*g,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var uo,lo=so;function po(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}uo=new ao(3),ao!=Float32Array&&(uo[0]=0,uo[1]=0,uo[2]=0),function(){var t=new ao(4);ao!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0);}();var co=(function(){var t=new ao(2);ao!=Float32Array&&(t[0]=0,t[1]=0);}(),function(t){function e(e){t.call(this,e,io);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new qa(t)},e.prototype.queryRadius=function(t){var e=t;return to(\"circle-radius\",this,e)+to(\"circle-stroke-width\",this,e)+eo(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var u=ro(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),l=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),p=\"map\"===this.paint.get(\"circle-pitch-alignment\"),c=p?u:function(t,e){return t.map((function(t){return ho(t,e)}))}(u,s),h=p?l*o:l,f=0,y=n;f<y.length;f+=1)for(var d=0,m=y[f];d<m.length;d+=1){var v=m[d],g=p?v:ho(v,s),x=h,b=po([],[v.x,v.y,0,1],s);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?x*=b[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(x*=a.cameraToCenterDistance/b[3]),Ka(c,g,x))return !0}return !1},e}(_i));function ho(t,e){var r=po([],[t.x,t.y,0,1],e);return new i(r[0]/r[3],r[1]/r[3])}var fo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(qa);function yo(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function mo(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=yo({},{width:n,height:i},r);vo(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data;}}function vo(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,u=0;u<i.height;u++)for(var l=((r.y+u)*t.width+r.x)*a,p=((n.y+u)*e.width+n.x)*a,c=0;c<i.width*a;c++)s[p+c]=o[l+c];return e}On(\"HeatmapBucket\",fo,{omit:[\"layers\"]});var go=function(t,e){yo(this,t,1,e);};go.prototype.resize=function(t){mo(this,t,1);},go.prototype.clone=function(){return new go({width:this.width,height:this.height},new Uint8Array(this.data))},go.copy=function(t,e,r,n,i){vo(t,e,r,n,i,1);};var xo=function(t,e){yo(this,t,4,e);};xo.prototype.resize=function(t){mo(this,t,4);},xo.prototype.replace=function(t,e){e?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t;},xo.prototype.clone=function(){return new xo({width:this.width,height:this.height},new Uint8Array(this.data))},xo.copy=function(t,e,r,n,i){vo(t,e,r,n,i,4);},On(\"AlphaImage\",go),On(\"RGBAImage\",xo);var bo={paint:new wi({\"heatmap-radius\":new vi(Et.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new vi(Et.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new mi(Et.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new bi(Et.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new mi(Et.paint_heatmap[\"heatmap-opacity\"])})};function wo(t){var e={},r=t.resolution||256,n=t.clips?t.clips.length:1,i=t.image||new xo({width:r,height:n}),a=function(r,n,a){e[t.evaluationKey]=a;var o=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a);};if(t.clips)for(var o=0,s=0;o<n;++o,s+=4*r)for(var u=0,l=0;u<r;u++,l+=4){var p=u/(r-1),c=t.clips[o];a(s,l,c.start*(1-p)+c.end*p);}else for(var h=0,f=0;h<r;h++,f+=4)a(0,f,h/(r-1));return i}var _o=function(t){function e(e){t.call(this,e,bo),this._updateColorRamp();}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new fo(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"heatmap-color\"===t&&this._updateColorRamp();},e.prototype._updateColorRamp=function(){this.colorRamp=wo({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null;},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return !1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(_i),Ao={paint:new wi({\"hillshade-illumination-direction\":new mi(Et.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new mi(Et.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new mi(Et.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new mi(Et.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new mi(Et.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new mi(Et.paint_hillshade[\"hillshade-accent-color\"])})},So=function(t){function e(e){t.call(this,e,Ao);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(_i),ko=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Io=Co,zo=Co;function Co(t,e,r){r=r||2;var n,i,a,o,s,u,l,p=e&&e.length,c=p?e[0]*r:t.length,h=Eo(t,0,c,r,!0),f=[];if(!h||h.next===h.prev)return f;if(p&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=Eo(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Uo(o));for(s.sort(Do),i=0;i<s.length;i++)Lo(s[i],r),r=Po(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var y=r;y<c;y+=r)(s=t[y])<n&&(n=s),(u=t[y+1])<i&&(i=u),s>a&&(a=s),u>o&&(o=u);l=0!==(l=Math.max(a-n,o-i))?1/l:0;}return Mo(h,f,r,n,i,l),f}function Eo(t,e,r,n,i){var a,o;if(i===Qo(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Yo(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Yo(a,t[a],t[a+1],o);return o&&Ko(o,o.next)&&($o(o),o=o.next),o}function Po(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ko(n,n.next)&&0!==No(n.prev,n,n.next))n=n.next;else {if($o(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function Mo(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Ro(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,u,l=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<l&&(s++,n=n.nextZ);e++);for(u=l;s>0||u>0&&n;)0!==s&&(0===u||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,u--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n;}a.nextZ=null,l*=2;}while(o>1)}(i);}(t,n,i,a);for(var s,u,l=t;t.prev!==t.next;)if(s=t.prev,u=t.next,a?To(t,n,i,a):Bo(t))e.push(s.i/r),e.push(t.i/r),e.push(u.i/r),$o(t),t=u.next,l=u.next;else if((t=u)===l){o?1===o?Mo(t=Vo(Po(t),e,r),e,r,n,i,a,2):2===o&&Fo(t,e,r,n,i,a):Mo(Po(t),e,r,n,i,a,1);break}}}function Bo(t){var e=t.prev,r=t,n=t.next;if(No(e,r,n)>=0)return !1;for(var i=t.next.next;i!==t.prev;){if(jo(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&No(i.prev,i,i.next)>=0)return !1;i=i.next;}return !0}function To(t,e,r,n){var i=t.prev,a=t,o=t.next;if(No(i,a,o)>=0)return !1;for(var s=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,l=Ro(i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,e,r,n),p=Ro(s,u,e,r,n),c=t.prevZ,h=t.nextZ;c&&c.z>=l&&h&&h.z<=p;){if(c!==t.prev&&c!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,c.x,c.y)&&No(c.prev,c,c.next)>=0)return !1;if(c=c.prevZ,h!==t.prev&&h!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&No(h.prev,h,h.next)>=0)return !1;h=h.nextZ;}for(;c&&c.z>=l;){if(c!==t.prev&&c!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,c.x,c.y)&&No(c.prev,c,c.next)>=0)return !1;c=c.prevZ;}for(;h&&h.z<=p;){if(h!==t.prev&&h!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&No(h.prev,h,h.next)>=0)return !1;h=h.nextZ;}return !0}function Vo(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ko(i,a)&&Go(i,n,n.next,a)&&Jo(i,a)&&Jo(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),$o(n),$o(n.next),n=t=a),n=n.next;}while(n!==t);return Po(n)}function Fo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&qo(o,s)){var u=Ho(o,s);return o=Po(o,o.next),u=Po(u,u.next),Mo(o,e,r,n,i,a),void Mo(u,e,r,n,i,a)}s=s.next;}o=o.next;}while(o!==t)}function Do(t,e){return t.x-e.x}function Lo(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next;}}n=n.next;}while(n!==e);if(!r)return null;if(i===o)return r;var u,l=r,p=r.x,c=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=p&&i!==n.x&&jo(a<c?i:o,a,p,c,a<c?o:i,a,n.x,n.y)&&(u=Math.abs(a-n.y)/(i-n.x),Jo(n,t)&&(u<h||u===h&&(n.x>r.x||n.x===r.x&&Oo(r,n)))&&(r=n,h=u)),n=n.next;}while(n!==l);return r}(t,e)){var r=Ho(e,t);Po(e,e.next),Po(r,r.next);}}function Oo(t,e){return No(t.prev,t,e.prev)<0&&No(e.next,t,t.next)<0}function Ro(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Uo(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;}while(e!==t);return r}function jo(t,e,r,n,i,a,o,s){return (i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function qo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Go(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(Jo(t,e)&&Jo(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(No(t.prev,t,e.prev)||No(t,e.prev,e))||Ko(t,e)&&No(t.prev,t,t.next)>0&&No(e.prev,e,e.next)>0)}function No(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ko(t,e){return t.x===e.x&&t.y===e.y}function Go(t,e,r,n){var i=Xo(No(t,e,r)),a=Xo(No(t,e,n)),o=Xo(No(r,n,t)),s=Xo(No(r,n,e));return i!==a&&o!==s||!(0!==i||!Zo(t,r,e))||!(0!==a||!Zo(t,n,e))||!(0!==o||!Zo(r,t,n))||!(0!==s||!Zo(r,e,n))}function Zo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Xo(t){return t>0?1:t<0?-1:0}function Jo(t,e){return No(t.prev,t,t.next)<0?No(t,e,t.next)>=0&&No(t,t.prev,e)>=0:No(t,e,t.prev)<0||No(t,t.next,e)<0}function Ho(t,e){var r=new Wo(t.i,t.x,t.y),n=new Wo(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Yo(t,e,r,n){var i=new Wo(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function $o(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 Wo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function Qo(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}function ts(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,u=Math.log(o),l=.5*Math.exp(2*u/3),p=.5*Math.sqrt(u*l*(o-l)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*l/o+p)),Math.min(i,Math.floor(r+(o-s)*l/o+p)),a);}var c=e[r],h=n,f=i;for(es(e,n,r),a(e[i],c)>0&&es(e,n,i);h<f;){for(es(e,h,f),h++,f--;a(e[h],c)<0;)h++;for(;a(e[f],c)>0;)f--;}0===a(e[n],c)?es(e,n,f):es(e,++f,i),f<=r&&(n=f+1),r<=f&&(i=f-1);}}(t,e,r||0,n||t.length-1,i||rs);}function es(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function rs(t,e){return t<e?-1:t>e?1:0}function ns(t,e){var r=t.length;if(r<=1)return [t];for(var n,i,a=[],o=0;o<r;o++){var s=k(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]));}if(n&&a.push(n),e>1)for(var u=0;u<a.length;u++)a[u].length<=e||(ts(a[u],e,1,a[u].length-1,is),a[u]=a[u].slice(0,e));return a}function is(t,e){return e.area-t.area}function as(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+\"-pattern\");s.isConstant()||(i=!0);var u=s.constantOr(null);u&&(i=!0,n[u.to]=!0,n[u.from]=!0);}return i}function os(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var u=s[o],l=u.paint.get(t+\"-pattern\").value;if(\"constant\"!==l.kind){var p=l.evaluate({zoom:n-1},r,{},i.availableImages),c=l.evaluate({zoom:n},r,{},i.availableImages),h=l.evaluate({zoom:n+1},r,{},i.availableImages);c=c&&c.name?c.name:c,h=h&&h.name?h.name:h,a[p=p&&p.name?p.name:p]=!0,a[c]=!0,a[h]=!0,r.patterns[u.id]={min:p,mid:c,max:h};}}return r}Co.deviation=function(t,e,r,n){var i=e&&e.length,a=Math.abs(Qo(t,0,i?e[0]*r:t.length,r));if(i)for(var o=0,s=e.length;o<s;o++)a-=Math.abs(Qo(t,e[o]*r,o<s-1?e[o+1]*r:t.length,r));var u=0;for(o=0;o<n.length;o+=3){var l=n[o]*r,p=n[o+1]*r,c=n[o+2]*r;u+=Math.abs((t[l]-t[c])*(t[p+1]-t[l+1])-(t[l]-t[p])*(t[c+1]-t[l+1]));}return 0===a&&0===u?0:Math.abs((u-a)/a)},Co.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&r.holes.push(n+=t[i-1].length);}return r},Io.default=zo;var ss=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ci,this.indexArray=new ji,this.indexArray2=new Xi,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.segments2=new sa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};ss.prototype.populate=function(t,e,r){this.hasPattern=as(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],u=s.feature,l=s.id,p=s.index,c=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,f=Ua(u,h);if(this.layers[0]._featureFilter.filter(new si(this.zoom),f,r)){var y=n?n.evaluate(f,{},r,e.availableImages):void 0,d={id:l,properties:u.properties,type:u.type,sourceLayerIndex:c,index:p,geometry:h?f.geometry:Ra(u),patterns:{},sortKey:y};i.push(d);}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var g=v[m],x=g.geometry,b=g.index,w=g.sourceLayerIndex;if(this.hasPattern){var _=os(\"fill\",this.layers,g,this.zoom,e);this.patternFeatures.push(_);}else this.addFeature(g,x,b,r,{});e.featureIndex.insert(t[b].feature,x,b,w,this.index);}},ss.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},ss.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},ss.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ss.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},ss.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ko),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;},ss.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());},ss.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=ns(e,500);a<o.length;a+=1){for(var s=o[a],u=0,l=0,p=s;l<p.length;l+=1)u+=p[l].length;for(var c=this.segments.prepareSegment(u,this.layoutVertexArray,this.indexArray),h=c.vertexLength,f=[],y=[],d=0,m=s;d<m.length;d+=1){var v=m[d];if(0!==v.length){v!==s[0]&&y.push(f.length/2);var g=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=g.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),f.push(v[0].x),f.push(v[0].y);for(var b=1;b<v.length;b++)this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),f.push(v[b].x),f.push(v[b].y);g.vertexLength+=v.length,g.primitiveLength+=v.length;}}for(var w=Io(f,y),_=0;_<w.length;_+=3)this.indexArray.emplaceBack(h+w[_],h+w[_+1],h+w[_+2]);c.vertexLength+=u,c.primitiveLength+=w.length/3;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},On(\"FillBucket\",ss,{omit:[\"layers\",\"patternFeatures\"]});var us=new wi({\"fill-sort-key\":new vi(Et.layout_fill[\"fill-sort-key\"])}),ls={paint:new wi({\"fill-antialias\":new mi(Et.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new vi(Et.paint_fill[\"fill-opacity\"]),\"fill-color\":new vi(Et.paint_fill[\"fill-color\"]),\"fill-outline-color\":new vi(Et.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new mi(Et.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new mi(Et.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new gi(Et.paint_fill[\"fill-pattern\"])}),layout:us},ps=function(t){function e(e){t.call(this,e,ls);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values[\"fill-outline-color\"];\"constant\"===n.value.kind&&void 0===n.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"]);},e.prototype.createBucket=function(t){return new ss(t)},e.prototype.queryRadius=function(){return eo(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return Ga(ro(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),a.angle,o),n)},e.prototype.isTileClipped=function(){return !0},e}(_i),cs=Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,hs=fs;function fs(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(ys,this,e);}function ys(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i;}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos);}function ds(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)n+=((r=t[o]).x-(e=t[i]).x)*(e.y+r.y);return n}fs.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],fs.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,a=0,o=0,s=0,u=[];t.pos<r;){if(a<=0){var l=t.readVarint();n=7&l,a=l>>3;}if(a--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&u.push(e),e=[]),e.push(new i(o,s));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&u.push(e),u},fs.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,u=1/0,l=-1/0;t.pos<e;){if(n<=0){var p=t.readVarint();r=7&p,n=p>>3;}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<u&&(u=a),a>l&&(l=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return [o,u,s,l]},fs.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,u=this.loadGeometry(),l=fs.types[this.type];function p(t){for(var e=0;e<t.length;e++){var r=t[e];t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp((180-360*(r.y+s)/a)*Math.PI/180))-90];}}switch(this.type){case 1:var c=[];for(n=0;n<u.length;n++)c[n]=u[n][0];p(u=c);break;case 2:for(n=0;n<u.length;n++)p(u[n]);break;case 3:for(u=function(t){var e=t.length;if(e<=1)return [t];for(var r,n,i=[],a=0;a<e;a++){var o=ds(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]));}return r&&i.push(r),i}(u),n=0;n<u.length;n++)for(i=0;i<u[n].length;i++)p(u[n][i]);}1===u.length?u=u[0]:l=\"Multi\"+l;var h={type:\"Feature\",geometry:{type:l,coordinates:u},properties:this.properties};return \"id\"in this&&(h.id=this.id),h};var ms=vs;function vs(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(gs,this,e),this.length=this._features.length;}function gs(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}function xs(t,e,r){if(3===t){var n=new ms(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}vs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new hs(this._pbf,e,this.extent,this._keys,this._values)};var bs={VectorTile:function(t,e){this.layers=t.readFields(xs,{},e);},VectorTileFeature:hs,VectorTileLayer:ms},ws=bs.VectorTileFeature.types,_s=Math.pow(2,13);function As(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*_s)+o,i*_s*2,a*_s*2,Math.round(s));}var Ss=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Pi,this.indexArray=new ji,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function ks(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}Ss.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=as(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,u=a.index,l=a.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,c=Ua(o,p);if(this.layers[0]._featureFilter.filter(new si(this.zoom),c,r)){var h={id:s,sourceLayerIndex:l,index:u,geometry:p?c.geometry:Ra(o),properties:o.properties,type:o.type,patterns:{}};this.hasPattern?this.features.push(os(\"fill-extrusion\",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,u,r,{}),e.featureIndex.insert(o,h.geometry,u,l,this.index,!0);}}},Ss.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},Ss.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},Ss.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Ss.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},Ss.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,cs),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},Ss.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},Ss.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=ns(e,500);a<o.length;a+=1){for(var s=o[a],u=0,l=0,p=s;l<p.length;l+=1)u+=p[l].length;for(var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,f=s;h<f.length;h+=1){var y=f[h];if(0!==y.length&&!((B=y).every((function(t){return t.x<0}))||B.every((function(t){return t.x>8192}))||B.every((function(t){return t.y<0}))||B.every((function(t){return t.y>8192}))))for(var d=0,m=0;m<y.length;m++){var v=y[m];if(m>=1){var g=y[m-1];if(!ks(v,g)){c.vertexLength+4>sa.MAX_VERTEX_ARRAY_LENGTH&&(c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(g)._perp()._unit(),b=g.dist(v);d+b>32768&&(d=0),As(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,d),As(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,d),As(this.layoutVertexArray,g.x,g.y,x.x,x.y,0,0,d+=b),As(this.layoutVertexArray,g.x,g.y,x.x,x.y,0,1,d);var w=c.vertexLength;this.indexArray.emplaceBack(w,w+2,w+1),this.indexArray.emplaceBack(w+1,w+2,w+3),c.vertexLength+=4,c.primitiveLength+=2;}}}}if(c.vertexLength+u>sa.MAX_VERTEX_ARRAY_LENGTH&&(c=this.segments.prepareSegment(u,this.layoutVertexArray,this.indexArray)),\"Polygon\"===ws[t.type]){for(var _=[],A=[],S=c.vertexLength,k=0,I=s;k<I.length;k+=1){var z=I[k];if(0!==z.length){z!==s[0]&&A.push(_.length/2);for(var C=0;C<z.length;C++){var E=z[C];As(this.layoutVertexArray,E.x,E.y,0,0,1,1,0),_.push(E.x),_.push(E.y);}}}for(var P=Io(_,A),M=0;M<P.length;M+=3)this.indexArray.emplaceBack(S+P[M],S+P[M+2],S+P[M+1]);c.primitiveLength+=P.length/3,c.vertexLength+=u;}}var B;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},On(\"FillExtrusionBucket\",Ss,{omit:[\"layers\",\"features\"]});var Is={paint:new wi({\"fill-extrusion-opacity\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new gi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})},zs=function(t){function e(e){t.call(this,e,Is);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Ss(t)},e.prototype.queryRadius=function(){return eo(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.is3D=function(){return !0},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s,u){var l=ro(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),o.angle,s),p=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),c=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),h=function(t,e,r,n){for(var a=[],o=0,s=t;o<s.length;o+=1){var u=s[o],l=[u.x,u.y,0,1];po(l,l,e),a.push(new i(l[0]/l[3],l[1]/l[3]));}return a}(l,u),f=function(t,e,r,n){for(var a=[],o=[],s=n[8]*e,u=n[9]*e,l=n[10]*e,p=n[11]*e,c=n[8]*r,h=n[9]*r,f=n[10]*r,y=n[11]*r,d=0,m=t;d<m.length;d+=1){for(var v=[],g=[],x=0,b=m[d];x<b.length;x+=1){var w=b[x],_=w.x,A=w.y,S=n[0]*_+n[4]*A+n[12],k=n[1]*_+n[5]*A+n[13],I=n[2]*_+n[6]*A+n[14],z=n[3]*_+n[7]*A+n[15],C=I+l,E=z+p,P=S+c,M=k+h,B=I+f,T=z+y,V=new i((S+s)/E,(k+u)/E);V.z=C/E,v.push(V);var F=new i(P/T,M/T);F.z=B/T,g.push(F);}a.push(v),o.push(g);}return [a,o]}(n,c,p,u);return function(t,e,r){var n=1/0;Ga(r,e)&&(n=Es(r,e[0]));for(var i=0;i<e.length;i++)for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var u=a[s],l=[u,a[s+1],o[s+1],o[s],u];Na(r,l)&&(n=Math.min(n,Es(r,l)));}return n!==1/0&&n}(f[0],f[1],h)},e}(_i);function Cs(t,e){return t.x*e.x+t.y*e.y}function Es(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),u=a.sub(i),l=o.sub(i),p=Cs(s,s),c=Cs(s,u),h=Cs(u,u),f=Cs(l,s),y=Cs(l,u),d=p*h-c*c,m=(h*f-c*y)/d,v=(p*y-c*f)/d,g=i.z*(1-m-v)+r.z*m+a.z*v;if(isFinite(g))return g}return 1/0}for(var x=1/0,b=0,w=e;b<w.length;b+=1)x=Math.min(x,w[b].z);return x}var Ps=Ii([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,Ms=Ii([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]).members,Bs=bs.VectorTileFeature.types,Ts=Math.cos(Math.PI/180*37.5),Vs=Math.pow(2,14)/.5,Fs=function(t){var e=this;this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((function(t){e.gradients[t.id]={};})),this.layoutVertexArray=new Mi,this.layoutVertexArray2=new Bi,this.indexArray=new ji,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};Fs.prototype.populate=function(t,e,r){this.hasPattern=as(\"line\",this.layers,e);for(var n=this.layers[0].layout.get(\"line-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],u=s.feature,l=s.id,p=s.index,c=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,f=Ua(u,h);if(this.layers[0]._featureFilter.filter(new si(this.zoom),f,r)){var y=n?n.evaluate(f,{},r):void 0,d={id:l,properties:u.properties,type:u.type,sourceLayerIndex:c,index:p,geometry:h?f.geometry:Ra(u),patterns:{},sortKey:y};i.push(d);}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var g=v[m],x=g.geometry,b=g.index,w=g.sourceLayerIndex;if(this.hasPattern){var _=os(\"line\",this.layers,g,this.zoom,e);this.patternFeatures.push(_);}else this.addFeature(g,x,b,r,{});e.featureIndex.insert(t[b].feature,x,b,w,this.index);}},Fs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},Fs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},Fs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fs.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},Fs.prototype.upload=function(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ms)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ps),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},Fs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},Fs.prototype.lineFeatureClips=function(t){if(t.properties&&t.properties.hasOwnProperty(\"mapbox_clip_start\")&&t.properties.hasOwnProperty(\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}},Fs.prototype.addFeature=function(t,e,r,n,i){var a=this.layers[0].layout,o=a.get(\"line-join\").evaluate(t,{}),s=a.get(\"line-cap\"),u=a.get(\"line-miter-limit\"),l=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(var p=0,c=e;p<c.length;p+=1)this.addLine(c[p],t,o,s,u,l);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},Fs.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance);}for(var s=\"Polygon\"===Bs[e.type],u=t.length;u>=2&&t[u-1].equals(t[u-2]);)u--;for(var l=0;l<u-1&&t[l].equals(t[l+1]);)l++;if(!(u<(s?3:2))){\"bevel\"===r&&(i=1.05);var p,c=this.overscaling<=16?122880/(512*this.overscaling):0,h=this.segments.prepareSegment(10*u,this.layoutVertexArray,this.indexArray),f=void 0,y=void 0,d=void 0,m=void 0;this.e1=this.e2=-1,s&&(m=t[l].sub(p=t[u-2])._unit()._perp());for(var v=l;v<u;v++)if(!(y=v===u-1?s?t[l+1]:void 0:t[v+1])||!t[v].equals(y)){m&&(d=m),p&&(f=p),p=t[v],m=y?y.sub(p)._unit()._perp():d;var g=(d=d||m).add(m);0===g.x&&0===g.y||g._unit();var x=d.x*m.x+d.y*m.y,b=g.x*m.x+g.y*m.y,w=0!==b?1/b:1/0,_=2*Math.sqrt(2-2*b),A=b<Ts&&f&&y,S=d.x*m.y-d.y*m.x>0;if(A&&v>l){var k=p.dist(f);if(k>2*c){var I=p.sub(p.sub(f)._mult(c/k)._round());this.updateDistance(f,I),this.addCurrentVertex(I,d,0,0,h),f=I;}}var z=f&&y,C=z?r:s?\"butt\":n;if(z&&\"round\"===C&&(w<a?C=\"miter\":w<=2&&(C=\"fakeround\")),\"miter\"===C&&w>i&&(C=\"bevel\"),\"bevel\"===C&&(w>2&&(C=\"flipbevel\"),w<i&&(C=\"miter\")),f&&this.updateDistance(f,p),\"miter\"===C)g._mult(w),this.addCurrentVertex(p,g,0,0,h);else if(\"flipbevel\"===C){if(w>100)g=m.mult(-1);else {var E=w*d.add(m).mag()/d.sub(m).mag();g._perp()._mult(E*(S?-1:1));}this.addCurrentVertex(p,g,0,0,h),this.addCurrentVertex(p,g.mult(-1),0,0,h);}else if(\"bevel\"===C||\"fakeround\"===C){var P=-Math.sqrt(w*w-1),M=S?P:0,B=S?0:P;if(f&&this.addCurrentVertex(p,d,M,B,h),\"fakeround\"===C)for(var T=Math.round(180*_/Math.PI/20),V=1;V<T;V++){var F=V/T;if(.5!==F){var D=F-.5;F+=F*D*(F-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*D*D+(.848013+x*(.215638*x-1.06021)));}var L=m.sub(d)._mult(F)._add(d)._unit()._mult(S?-1:1);this.addHalfVertex(p,L.x,L.y,!1,S,0,h);}y&&this.addCurrentVertex(p,m,-M,-B,h);}else if(\"butt\"===C)this.addCurrentVertex(p,g,0,0,h);else if(\"square\"===C){var O=f?1:-1;this.addCurrentVertex(p,g,O,O,h);}else \"round\"===C&&(f&&(this.addCurrentVertex(p,d,0,0,h),this.addCurrentVertex(p,d,1,1,h,!0)),y&&(this.addCurrentVertex(p,m,-1,-1,h,!0),this.addCurrentVertex(p,m,0,0,h)));if(A&&v<u-1){var R=p.dist(y);if(R>2*c){var U=p.add(y.sub(p)._mult(c/R)._round());this.updateDistance(p,U),this.addCurrentVertex(U,m,0,0,h),p=U;}}}}},Fs.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,o,s,a,!0,-n,i),this.distance>Vs/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a));},Fs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=.5*(this.lineClips?this.scaledDistance*(Vs-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&s)<<2,s>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),i?this.e2=u:this.e1=u;},Fs.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;},Fs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance();},On(\"LineBucket\",Fs,{omit:[\"layers\",\"patternFeatures\"]});var Ds=new wi({\"line-cap\":new mi(Et.layout_line[\"line-cap\"]),\"line-join\":new vi(Et.layout_line[\"line-join\"]),\"line-miter-limit\":new mi(Et.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new mi(Et.layout_line[\"line-round-limit\"]),\"line-sort-key\":new vi(Et.layout_line[\"line-sort-key\"])}),Ls={paint:new wi({\"line-opacity\":new vi(Et.paint_line[\"line-opacity\"]),\"line-color\":new vi(Et.paint_line[\"line-color\"]),\"line-translate\":new mi(Et.paint_line[\"line-translate\"]),\"line-translate-anchor\":new mi(Et.paint_line[\"line-translate-anchor\"]),\"line-width\":new vi(Et.paint_line[\"line-width\"]),\"line-gap-width\":new vi(Et.paint_line[\"line-gap-width\"]),\"line-offset\":new vi(Et.paint_line[\"line-offset\"]),\"line-blur\":new vi(Et.paint_line[\"line-blur\"]),\"line-dasharray\":new xi(Et.paint_line[\"line-dasharray\"]),\"line-pattern\":new gi(Et.paint_line[\"line-pattern\"]),\"line-gradient\":new bi(Et.paint_line[\"line-gradient\"])}),layout:Ds},Os=new(function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new si(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=h({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(vi))(Ls.paint.properties[\"line-width\"].specification);Os.useIntegerZoom=!0;var Rs=function(t){function e(e){t.call(this,e,Ls),this.gradientVersion=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"line-gradient\"===t&&(this.stepInterpolant=this._transitionablePaint._values[\"line-gradient\"].value.expression._styleExpression.expression instanceof Ne,this.gradientVersion=(this.gradientVersion+1)%s);},e.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=Os.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e);},e.prototype.createBucket=function(t){return new Fs(t)},e.prototype.queryRadius=function(t){var e=t,r=Us(to(\"line-width\",this,e),to(\"line-gap-width\",this,e)),n=to(\"line-offset\",this,e);return r/2+Math.abs(n)+eo(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var u=ro(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),l=s/2*Us(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),p=this.paint.get(\"line-offset\").evaluate(e,r);return p&&(n=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],u=0;u<o.length;u++){var l=o[u],p=o[u+1],c=0===u?n:l.sub(o[u-1])._unit()._perp(),h=u===o.length-1?n:p.sub(l)._unit()._perp(),f=c._add(h)._unit();f._mult(1/(f.x*h.x+f.y*h.y)),s.push(f._mult(e)._add(l));}r.push(s);}return r}(n,p*s)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3)for(var a=0;a<i.length;a++)if(Wa(t,i[a]))return !0;if(Za(t,i,r))return !0}return !1}(u,n,l)},e.prototype.isTileClipped=function(){return !0},e}(_i);function Us(t,e){return e>0?e+2*t:t}var js=Ii([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),qs=Ii([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),Ns=(Ii([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ii([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),Ks=(Ii([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Gs=Ii([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function Zs(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),oi.applyArabicShaping&&(t=oi.applyArabicShaping(t)),t}(t.text,e,r);})),t}Ii([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Ii([{type:\"Float32\",name:\"offsetX\"}]),Ii([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var Xs={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"},Js=function(t,e,r,n,i){var a,o,s=8*i-n-1,u=(1<<s)-1,l=u>>1,p=-7,c=r?i-1:0,h=r?-1:1,f=t[e+c];for(c+=h,a=f&(1<<-p)-1,f>>=-p,p+=s;p>0;a=256*a+t[e+c],c+=h,p-=8);for(o=a&(1<<-p)-1,a>>=-p,p+=n;p>0;o=256*o+t[e+c],c+=h,p-=8);if(0===a)a=1-l;else {if(a===u)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),a-=l;}return (f?-1:1)*o*Math.pow(2,a-n)},Hs=function(t,e,r,n,i,a){var o,s,u,l=8*a-i-1,p=(1<<l)-1,c=p>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,y=n?1:-1,d=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=p):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+c>=1?h/u:h*Math.pow(2,1-c))*u>=2&&(o++,u/=2),o+c>=p?(s=0,o=p):o+c>=1?(s=(e*u-1)*Math.pow(2,i),o+=c):(s=e*Math.pow(2,c-1)*Math.pow(2,i),o=0));i>=8;t[r+f]=255&s,f+=y,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;t[r+f]=255&o,f+=y,o/=256,l-=8);t[r+f-y]|=128*d;},Ys=$s;function $s(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}$s.Varint=0,$s.Fixed64=1,$s.Bytes=2,$s.Fixed32=5;var Ws=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function Qs(t){return t.type===$s.Bytes?t.readVarint()+t.pos:t.pos+1}function tu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function eu(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function ru(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r]);}function nu(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r]);}function iu(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r]);}function au(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r]);}function ou(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r]);}function su(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r]);}function uu(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r]);}function lu(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r]);}function pu(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r]);}function cu(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function hu(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function fu(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function yu(t,e,r){1===t&&r.readMessage(du,e);}function du(t,e,r){if(3===t){var n=r.readMessage(mu,{}),i=n.width,a=n.height,o=n.left,s=n.top,u=n.advance;e.push({id:n.id,bitmap:new go({width:i+6,height:a+6},n.bitmap),metrics:{width:i,height:a,left:o,top:s,advance:u}});}}function mu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}function vu(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w);}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,u=0,l=0,p=t;l<p.length;l+=1)for(var c=p[l],h=o.length-1;h>=0;h--){var f=o[h];if(!(c.w>f.w||c.h>f.h)){if(c.x=f.x,c.y=f.y,u=Math.max(u,c.y+c.h),s=Math.max(s,c.x+c.w),c.w===f.w&&c.h===f.h){var y=o.pop();h<o.length&&(o[h]=y);}else c.h===f.h?(f.x+=c.w,f.w-=c.w):c.w===f.w?(f.y+=c.h,f.h-=c.h):(o.push({x:f.x+c.w,y:f.y,w:f.w-c.w,h:c.h}),f.y+=c.h,f.h-=c.h);break}}return {w:s,h:u,fill:e/(s*u)||0}}$s.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=cu(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=fu(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=cu(this.buf,this.pos)+4294967296*cu(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=cu(this.buf,this.pos)+4294967296*fu(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Js(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Js(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return tu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return tu(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return tu(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=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&&Ws?function(t,e,r){return Ws.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i<r;){var a,o,s,u=t[i],l=null,p=u>239?4:u>223?3:u>191?2:1;if(i+p>r)break;1===p?u<128&&(l=u):2===p?128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)<=127&&(l=null):3===p?(o=t[i+2],128==(192&(a=t[i+1]))&&128==(192&o)&&((l=(15&u)<<12|(63&a)<<6|63&o)<=2047||l>=55296&&l<=57343)&&(l=null)):4===p&&(o=t[i+2],s=t[i+3],128==(192&(a=t[i+1]))&&128==(192&o)&&128==(192&s)&&((l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||l>=1114112)&&(l=null)),null===l?(l=65533,p=1):l>65535&&(l-=65536,n+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),n+=String.fromCharCode(l),i+=p;}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!==$s.Bytes)return t.push(this.readVarint(e));var r=Qs(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==$s.Bytes)return t.push(this.readSVarint());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==$s.Bytes)return t.push(this.readBoolean());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==$s.Bytes)return t.push(this.readFloat());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==$s.Bytes)return t.push(this.readDouble());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==$s.Bytes)return t.push(this.readFixed32());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==$s.Bytes)return t.push(this.readSFixed32());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==$s.Bytes)return t.push(this.readFixed64());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==$s.Bytes)return t.push(this.readSFixed64());var e=Qs(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===$s.Varint)for(;this.buf[this.pos++]>127;);else if(e===$s.Bytes)this.pos=this.readVarint()+this.pos;else if(e===$s.Fixed32)this.pos+=4;else {if(e!==$s.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 r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e;}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),hu(this.buf,t,this.pos),this.pos+=4;},writeSFixed32:function(t){this.realloc(4),hu(this.buf,t,this.pos),this.pos+=4;},writeFixed64:function(t){this.realloc(8),hu(this.buf,-1&t,this.pos),hu(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8;},writeSFixed64:function(t){this.realloc(8),hu(this.buf,-1&t,this.pos),hu(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 r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(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,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&eu(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),Hs(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),Hs(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r];},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&eu(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,$s.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,ru,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,nu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ou,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,iu,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,au,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,su,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,uu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,lu,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,pu,e);},writeBytesField:function(t,e){this.writeTag(t,$s.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,$s.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,$s.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,$s.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,$s.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,$s.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,$s.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,$s.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,$s.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,$s.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var gu=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n;},xu={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};xu.tl.get=function(){return [this.paddedRect.x+1,this.paddedRect.y+1]},xu.br.get=function(){return [this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},xu.tlbr.get=function(){return this.tl.concat(this.br)},xu.displaySize.get=function(){return [(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(gu.prototype,xu);var bu=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=vu(i),o=new xo({width:a.w||1,height:a.h||1});for(var s in t){var u=t[s],l=r[s].paddedRect;xo.copy(u.data,o,{x:0,y:0},{x:l.x+1,y:l.y+1},u.data);}for(var p in e){var c=e[p],h=n[p].paddedRect,f=h.x+1,y=h.y+1,d=c.data.width,m=c.data.height;xo.copy(c.data,o,{x:0,y:0},{x:f,y:y},c.data),xo.copy(c.data,o,{x:0,y:m-1},{x:f,y:y-1},{width:d,height:1}),xo.copy(c.data,o,{x:0,y:0},{x:f,y:y+m},{width:d,height:1}),xo.copy(c.data,o,{x:d-1,y:0},{x:f-1,y:y},{width:1,height:m}),xo.copy(c.data,o,{x:0,y:0},{x:f+d,y:y},{width:1,height:m});}this.image=o,this.iconPositions=r,this.patternPositions=n;};bu.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new gu(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n);}},bu.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e);},bu.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]});}},On(\"ImagePosition\",gu),On(\"ImageAtlas\",bu);var wu={horizontal:1,vertical:2,horizontalOnly:3},_u=function(){this.scale=1,this.fontStack=\"\",this.imageName=null;};_u.forText=function(t,e){var r=new _u;return r.scale=t||1,r.fontStack=e,r},_u.forImage=function(t){var e=new _u;return e.imageName=t,e};var Au=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;};function Su(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d){var m,v=Au.fromFeature(t,i);c===wu.vertical&&v.verticalizePunctuation();var g=oi.processBidirectionalText,x=oi.processStyledBidirectionalText;if(g&&1===v.sections.length){m=[];for(var b=0,w=g(v.toString(),Mu(v,l,a,e,n,f,y));b<w.length;b+=1){var _=w[b],A=new Au;A.text=_,A.sections=v.sections;for(var S=0;S<_.length;S++)A.sectionIndex.push(0);m.push(A);}}else if(x){m=[];for(var k=0,I=x(v.text,v.sectionIndex,Mu(v,l,a,e,n,f,y));k<I.length;k+=1){var z=I[k],C=new Au;C.text=z[0],C.sectionIndex=z[1],C.sections=v.sections,m.push(C);}}else m=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s;}return i<n.length&&r.push(t.substring(i,n.length)),r}(v,Mu(v,l,a,e,n,f,y));var E=[],P={positionedLines:E,text:v.toString(),top:p[1],bottom:p[1],left:p[0],right:p[0],writingMode:c,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,i,a,o,s,u,l,p,c){for(var h=0,f=-17,y=0,d=0,m=\"right\"===s?1:\"left\"===s?0:.5,v=0,g=0,x=i;g<x.length;g+=1){var b=x[g];b.trim();var w=b.getMaxScale(),_=24*(w-1),A={positionedGlyphs:[],lineOffset:0};t.positionedLines[v]=A;var S=A.positionedGlyphs,k=0;if(b.length()){for(var I=0;I<b.length();I++){var z=b.getSection(I),C=b.getSectionIndex(I),E=b.getCharCode(I),P=0,M=null,B=null,T=null,V=24,F=!(u===wu.horizontal||!p&&!Xn(E)||p&&(ku[E]||(K=E,Gn.Arabic(K)||Gn[\"Arabic Supplement\"](K)||Gn[\"Arabic Extended-A\"](K)||Gn[\"Arabic Presentation Forms-A\"](K)||Gn[\"Arabic Presentation Forms-B\"](K))));if(z.imageName){var D=n[z.imageName];if(!D)continue;T=z.imageName,t.iconsInText=t.iconsInText||!0,B=D.paddedRect;var L=D.displaySize;z.scale=24*z.scale/c,P=_+(24-L[1]*z.scale),V=(M={width:L[0],height:L[1],left:1,top:-3,advance:F?L[1]:L[0]}).advance;var O=F?L[0]*z.scale-24*w:L[1]*z.scale-24*w;O>0&&O>k&&(k=O);}else {var R=r[z.fontStack],U=R&&R[E];if(U&&U.rect)B=U.rect,M=U.metrics;else {var j=e[z.fontStack],q=j&&j[E];if(!q)continue;M=q.metrics;}P=24*(w-z.scale);}F?(t.verticalizable=!0,S.push({glyph:E,imageName:T,x:h,y:f+P,vertical:F,scale:z.scale,fontStack:z.fontStack,sectionIndex:C,metrics:M,rect:B}),h+=V*z.scale+l):(S.push({glyph:E,imageName:T,x:h,y:f+P,vertical:F,scale:z.scale,fontStack:z.fontStack,sectionIndex:C,metrics:M,rect:B}),h+=M.advance*z.scale+l);}0!==S.length&&(y=Math.max(h-l,y),Tu(S,0,S.length-1,m,k)),h=0;var N=a*w+k;A.lineOffset=Math.max(k,_),f+=N,d=Math.max(N,d),++v;}else f+=a,++v;}var K,G=f- -17,Z=Bu(o),X=Z.horizontalAlign,J=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,u){var l,p=(e-r)*i;l=a!==o?-s*n- -17:(-n*u+.5)*o;for(var c=0,h=t;c<h.length;c+=1)for(var f=0,y=h[c].positionedGlyphs;f<y.length;f+=1){var d=y[f];d.x+=p,d.y+=l;}})(t.positionedLines,m,X,J,y,d,a,G,i.length),t.top+=-J*G,t.bottom=t.top+G,t.left+=-X*y,t.right=t.left+y;}(P,e,r,n,m,o,s,u,c,l,h,d),!function(t){for(var e=0,r=t;e<r.length;e+=1)if(0!==r[e].positionedGlyphs.length)return !1;return !0}(E)&&P}Au.fromFeature=function(t,e){for(var r=new Au,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e);}return r},Au.prototype.length=function(){return this.text.length},Au.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},Au.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},Au.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},Au.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;e+=n&&Jn(n)&&!Xs[t[r+1]]||i&&Jn(i)&&!Xs[t[r-1]]||!Xs[t[r]]?t[r]:Xs[t[r]];}return e}(this.text);},Au.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&ku[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&ku[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r);},Au.prototype.substring=function(t,e){var r=new Au;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Au.prototype.toString=function(){return this.text},Au.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Au.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(_u.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r);},Au.prototype.addImageSection=function(t){var e=t.image?t.image.name:\"\";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(_u.forImage(e)),this.sectionIndex.push(this.sections.length-1)):A(\"Reached maximum number of images 6401\");}else A(\"Can't add FormattedSection with an empty image.\");},Au.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var ku={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Iu={};function zu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],u=s&&s[t];return u?u.metrics.advance*e.scale+i:0}function Cu(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Eu(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function Pu(t,e,r,n,i,a){for(var o=null,s=Cu(e,r,i,a),u=0,l=n;u<l.length;u+=1){var p=l[u],c=Cu(e-p.x,r,i,a)+p.badness;c<=s&&(o=p,s=c);}return {index:t,x:e,priorBreak:o,badness:s}}function Mu(t,e,r,n,i,a,o){if(\"point\"!==a)return [];if(!t)return [];for(var s,u=[],l=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var u=t.getSection(s);o+=zu(t.getCharCode(s),u,n,i,e,a);}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),p=t.text.indexOf(\"​\")>=0,c=0,h=0;h<t.length();h++){var f=t.getSection(h),y=t.getCharCode(h);if(ku[y]||(c+=zu(y,f,n,i,e,o)),h<t.length()-1){var d=!((s=y)<11904||!(Gn[\"Bopomofo Extended\"](s)||Gn.Bopomofo(s)||Gn[\"CJK Compatibility Forms\"](s)||Gn[\"CJK Compatibility Ideographs\"](s)||Gn[\"CJK Compatibility\"](s)||Gn[\"CJK Radicals Supplement\"](s)||Gn[\"CJK Strokes\"](s)||Gn[\"CJK Symbols and Punctuation\"](s)||Gn[\"CJK Unified Ideographs Extension A\"](s)||Gn[\"CJK Unified Ideographs\"](s)||Gn[\"Enclosed CJK Letters and Months\"](s)||Gn[\"Halfwidth and Fullwidth Forms\"](s)||Gn.Hiragana(s)||Gn[\"Ideographic Description Characters\"](s)||Gn[\"Kangxi Radicals\"](s)||Gn[\"Katakana Phonetic Extensions\"](s)||Gn.Katakana(s)||Gn[\"Vertical Forms\"](s)||Gn[\"Yi Radicals\"](s)||Gn[\"Yi Syllables\"](s)));(Iu[y]||d||f.imageName)&&u.push(Pu(h+1,c,l,u,Eu(y,t.getCharCode(h+1),d&&p),!1));}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(Pu(t.length(),c,l,u,0,!0))}function Bu(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0;}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0;}return {horizontalAlign:e,verticalAlign:r}}function Tu(t,e,r,n,i){if(n||i)for(var a=t[r],o=(t[r].x+a.metrics.advance*a.scale)*n,s=e;s<=r;s++)t[s].x-=o,t[s].y+=i;}function Vu(t,e,r,n,i,a){var o,s=t.image;if(s.content){var u=s.content,l=s.pixelRatio||1;o=[u[0]/l,u[1]/l,s.displaySize[0]-u[2]/l,s.displaySize[1]-u[3]/l];}var p,c,h,f,y=e.left*a,d=e.right*a;\"width\"===r||\"both\"===r?(f=i[0]+y-n[3],c=i[0]+d+n[1]):c=(f=i[0]+(y+d-s.displaySize[0])/2)+s.displaySize[0];var m=e.top*a,v=e.bottom*a;return \"height\"===r||\"both\"===r?(p=i[1]+m-n[0],h=i[1]+v+n[2]):h=(p=i[1]+(m+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:p,right:c,bottom:h,left:f,collisionPadding:o}}Iu[10]=!0,Iu[32]=!0,Iu[38]=!0,Iu[40]=!0,Iu[41]=!0,Iu[43]=!0,Iu[45]=!0,Iu[47]=!0,Iu[173]=!0,Iu[183]=!0,Iu[8203]=!0,Iu[8208]=!0,Iu[8211]=!0,Iu[8231]=!0;var Fu=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(i);function Du(t,e){var r=e.expression;if(\"constant\"===r.kind)return {kind:\"constant\",layoutSize:r.evaluate(new si(t+1))};if(\"source\"===r.kind)return {kind:\"source\"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[a],u=n[o];return \"composite\"===r.kind?{kind:\"composite\",minZoom:s,maxZoom:u,interpolationType:i}:{kind:\"camera\",minZoom:s,maxZoom:u,minSize:r.evaluate(new si(s)),maxSize:r.evaluate(new si(u)),interpolationType:i}}function Lu(t,e,r){var n=e.uSize,i=r.lowerSize;return \"source\"===t.kind?i/128:\"composite\"===t.kind?Ke(i/128,r.upperSize/128,e.uSizeT):n}function Ou(t,e){var r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){var i=t.interpolationType,a=i?p(ar.interpolationFactor(i,e,t.minZoom,t.maxZoom),0,1):0;\"camera\"===t.kind?n=Ke(t.minSize,t.maxSize,a):r=a;}return {uSizeT:r,uSize:n}}On(\"Anchor\",Fu);var Ru=Object.freeze({__proto__:null,getSizeData:Du,evaluateSizeForFeature:Lu,evaluateSizeForZoom:Ou,SIZE_PACK_FACTOR:128});function Uu(t,e,r,n,i){if(void 0===e.segment)return !0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return !1;s-=t[o].dist(a),a=t[o];}s+=t[o].dist(t[o+1]),o++;for(var u=[],l=0;s<r/2;){var p=t[o],c=t[o+1];if(!c)return !1;var h=t[o-1].angleTo(p)-p.angleTo(c);for(h=Math.abs((h+3*Math.PI)%(2*Math.PI)-Math.PI),u.push({distance:s,angleDelta:h}),l+=h;s-u[0].distance>n;)l-=u.shift().angleDelta;if(l>i)return !1;o++,s+=p.dist(c);}return !0}function ju(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function qu(t,e,r){return t?.6*e*r:0}function Nu(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Ku(t,e,r,n,i,a){for(var o=qu(r,i,a),s=Nu(r,n)*a,u=0,l=ju(t)/2,p=0;p<t.length-1;p++){var c=t[p],h=t[p+1],f=c.dist(h);if(u+f>l){var y=(l-u)/f,d=Ke(c.x,h.x,y),m=Ke(c.y,h.y,y),v=new Fu(d,m,h.angleTo(c),p);return v._round(),!o||Uu(t,v,s,o,e)?v:void 0}u+=f;}}function Gu(t,e,r,n,i,a,o,s,u){var l=qu(n,a,o),p=Nu(n,i),c=p*o,h=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;return e-c<e/4&&(e=c+e/4),function t(e,r,n,i,a,o,s,u,l){for(var p=o/2,c=ju(e),h=0,f=r-n,y=[],d=0;d<e.length-1;d++){for(var m=e[d],v=e[d+1],g=m.dist(v),x=v.angleTo(m);f+n<h+g;){var b=((f+=n)-h)/g,w=Ke(m.x,v.x,b),_=Ke(m.y,v.y,b);if(w>=0&&w<l&&_>=0&&_<l&&f-p>=0&&f+p<=c){var A=new Fu(w,_,x,d);A._round(),i&&!Uu(e,A,o,i,a)||y.push(A);}}h+=g;}return u||y.length||s||(y=t(e,h/2,n,i,a,o,s,!0,l)),y}(t,h?e/2*s%e:(p/2+2*a)*o*s%e,e,l,r,c,h,!1,u)}function Zu(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var u=t[s],l=void 0,p=0;p<u.length-1;p++){var c=u[p],h=u[p+1];c.x<e&&h.x<e||(c.x<e?c=new i(e,c.y+(e-c.x)/(h.x-c.x)*(h.y-c.y))._round():h.x<e&&(h=new i(e,c.y+(e-c.x)/(h.x-c.x)*(h.y-c.y))._round()),c.y<r&&h.y<r||(c.y<r?c=new i(c.x+(r-c.y)/(h.y-c.y)*(h.x-c.x),r)._round():h.y<r&&(h=new i(c.x+(r-c.y)/(h.y-c.y)*(h.x-c.x),r)._round()),c.x>=n&&h.x>=n||(c.x>=n?c=new i(n,c.y+(n-c.x)/(h.x-c.x)*(h.y-c.y))._round():h.x>=n&&(h=new i(n,c.y+(n-c.x)/(h.x-c.x)*(h.y-c.y))._round()),c.y>=a&&h.y>=a||(c.y>=a?c=new i(c.x+(a-c.y)/(h.y-c.y)*(h.x-c.x),a)._round():h.y>=a&&(h=new i(c.x+(a-c.y)/(h.y-c.y)*(h.x-c.x),a)._round()),l&&c.equals(l[l.length-1])||o.push(l=[c]),l.push(h)))));}return o}function Xu(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,u=o.paddedRect.w-2,l=o.paddedRect.h-2,p=t.right-t.left,c=t.bottom-t.top,h=o.stretchX||[[0,u]],f=o.stretchY||[[0,l]],y=function(t,e){return t+e[1]-e[0]},d=h.reduce(y,0),m=f.reduce(y,0),v=u-d,g=l-m,x=0,b=d,w=0,_=m,A=0,S=v,k=0,I=g;if(o.content&&n){var z=o.content;x=Ju(h,0,z[0]),w=Ju(f,0,z[1]),b=Ju(h,z[0],z[2]),_=Ju(f,z[1],z[3]),A=z[0]-x,k=z[1]-w,S=z[2]-z[0]-b,I=z[3]-z[1]-_;}var C=function(n,a,u,l){var h=Yu(n.stretch-x,b,p,t.left),f=$u(n.fixed-A,S,n.stretch,d),y=Yu(a.stretch-w,_,c,t.top),v=$u(a.fixed-k,I,a.stretch,m),g=Yu(u.stretch-x,b,p,t.left),z=$u(u.fixed-A,S,u.stretch,d),C=Yu(l.stretch-w,_,c,t.top),E=$u(l.fixed-k,I,l.stretch,m),P=new i(h,y),M=new i(g,y),B=new i(g,C),T=new i(h,C),V=new i(f/s,v/s),F=new i(z/s,E/s),D=e*Math.PI/180;if(D){var L=Math.sin(D),O=Math.cos(D),R=[O,-L,L,O];P._matMult(R),M._matMult(R),T._matMult(R),B._matMult(R);}var U=n.stretch+n.fixed,j=a.stretch+a.fixed;return {tl:P,tr:M,bl:T,br:B,tex:{x:o.paddedRect.x+1+U,y:o.paddedRect.y+1+j,w:u.stretch+u.fixed-U,h:l.stretch+l.fixed-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:V,pixelOffsetBR:F,minFontScaleX:S/s/p,minFontScaleY:I/s/c,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var E=Hu(h,v,d),P=Hu(f,g,m),M=0;M<E.length-1;M++)for(var B=E[M],T=E[M+1],V=0;V<P.length-1;V++)a.push(C(B,P[V],T,P[V+1]));else a.push(C({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:u+1},{fixed:0,stretch:l+1}));return a}function Ju(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]));}return n}function Hu(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],u=o[1],l=n[n.length-1];n.push({fixed:s-l.stretch,stretch:l.stretch}),n.push({fixed:s-l.stretch,stretch:l.stretch+(u-s)});}return n.push({fixed:e+1,stretch:r}),n}function Yu(t,e,r,n){return t/e*r+n}function $u(t,e,r,n){return t-e*r/n}var Wu=function(t,e,r,n,a,o,s,u,l,p){if(this.boxStartIndex=t.length,l){var c=o.top,h=o.bottom,f=o.collisionPadding;f&&(c-=f[1],h+=f[3]);var y=h-c;y>0&&(y=Math.max(10,y),this.circleDiameter=y);}else {var d=o.top*s-u,m=o.bottom*s+u,v=o.left*s-u,g=o.right*s+u,x=o.collisionPadding;if(x&&(v-=x[0]*s,d-=x[1]*s,g+=x[2]*s,m+=x[3]*s),p){var b=new i(v,d),w=new i(g,d),_=new i(v,m),A=new i(g,m),S=p*Math.PI/180;b._rotate(S),w._rotate(S),_._rotate(S),A._rotate(S),v=Math.min(b.x,w.x,_.x,A.x),g=Math.max(b.x,w.x,_.x,A.x),d=Math.min(b.y,w.y,_.y,A.y),m=Math.max(b.y,w.y,_.y,A.y);}t.emplaceBack(e.x,e.y,v,d,g,m,r,n,a);}this.boxEndIndex=t.length;},Qu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=tl),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r);};function tl(t,e){return t<e?-1:t>e?1:0}function el(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,u=t[0],l=0;l<u.length;l++){var p=u[l];(!l||p.x<n)&&(n=p.x),(!l||p.y<a)&&(a=p.y),(!l||p.x>o)&&(o=p.x),(!l||p.y>s)&&(s=p.y);}var c=Math.min(o-n,s-a),h=c/2,f=new Qu([],rl);if(0===c)return new i(n,a);for(var y=n;y<o;y+=c)for(var d=a;d<s;d+=c)f.push(new nl(y+h,d+h,h,t));for(var m=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var u=i[a],l=i[s],p=u.x*l.y-l.x*u.y;r+=(u.x+l.x)*p,n+=(u.y+l.y)*p,e+=3*p;}return new nl(r/e,n/e,0,t)}(t),v=f.length;f.length;){var g=f.pop();(g.d>m.d||!m.d)&&(m=g,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*g.d)/1e4,v)),g.max-m.d<=e||(f.push(new nl(g.p.x-(h=g.h/2),g.p.y-h,h,t)),f.push(new nl(g.p.x+h,g.p.y-h,h,t)),f.push(new nl(g.p.x-h,g.p.y+h,h,t)),f.push(new nl(g.p.x+h,g.p.y+h,h,t)),v+=4);}return r&&(console.log(\"num probes: \"+v),console.log(\"best distance: \"+m.d)),m.p}function rl(t,e){return e.max-t.max}function nl(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,s=a.length,u=s-1;o<s;u=o++){var l=a[o],p=a[u];l.y>t.y!=p.y>t.y&&t.x<(p.x-l.x)*(t.y-l.y)/(p.y-l.y)+l.x&&(r=!r),n=Math.min(n,Ya(t,l,p));}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}Qu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1);},Qu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Qu.prototype.peek=function(){return this.data[0]},Qu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i;}e[t]=n;},Qu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0)break;e[t]=o,t=a;}e[t]=i;};var il=Number.POSITIVE_INFINITY;function al(t,e){return e[1]!==il?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=7-r;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-7;break;case\"bottom-right\":case\"bottom-left\":n=7-i;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7;}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e;}return [r,n]}(t,e[0])}function ol(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function sl(t,e,r,n,a,o,s,u,l,p,c,h,f,y,d){var m=function(t,e,r,n,a,o,s,u){for(var l=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,p=[],c=0,h=e.positionedLines;c<h.length;c+=1)for(var f=h[c],y=0,d=f.positionedGlyphs;y<d.length;y+=1){var m=d[y];if(m.rect){var v=m.rect||{},g=4,x=!0,b=1,w=0,_=(a||u)&&m.vertical,A=m.metrics.advance*m.scale/2;if(u&&e.verticalizable&&(w=f.lineOffset/2-(m.imageName?-(24-m.metrics.width*m.scale)/2:24*(m.scale-1))),m.imageName){var S=s[m.imageName];x=S.sdf,g=1/(b=S.pixelRatio);}var k=a?[m.x+A,m.y]:[0,0],I=a?[0,0]:[m.x+A+r[0],m.y+r[1]-w],z=[0,0];_&&(z=I,I=[0,0]);var C=(m.metrics.left-g)*m.scale-A+I[0],E=(-m.metrics.top-g)*m.scale+I[1],P=C+v.w*m.scale/b,M=E+v.h*m.scale/b,B=new i(C,E),T=new i(P,E),V=new i(C,M),F=new i(P,M);if(_){var D=new i(-A,A- -17),L=-Math.PI/2,O=12-A,R=new i(22-O,-(m.imageName?O:0)),U=new(Function.prototype.bind.apply(i,[null].concat(z)));B._rotateAround(L,D)._add(R)._add(U),T._rotateAround(L,D)._add(R)._add(U),V._rotateAround(L,D)._add(R)._add(U),F._rotateAround(L,D)._add(R)._add(U);}if(l){var j=Math.sin(l),q=Math.cos(l),N=[q,-j,j,q];B._matMult(N),T._matMult(N),V._matMult(N),F._matMult(N);}var K=new i(0,0),G=new i(0,0);p.push({tl:B,tr:T,bl:V,br:F,tex:v,writingMode:e.writingMode,glyphOffset:k,sectionIndex:m.sectionIndex,isSDF:x,pixelOffsetTL:K,pixelOffsetBR:G,minFontScaleX:0,minFontScaleY:0});}}return p}(0,r,u,a,o,s,n,t.allowVerticalPlacement),v=t.textSizeData,g=null;\"source\"===v.kind?(g=[128*a.layout.get(\"text-size\").evaluate(s,{})])[0]>32640&&A(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'):\"composite\"===v.kind&&((g=[128*y.compositeTextSizes[0].evaluate(s,{},d),128*y.compositeTextSizes[1].evaluate(s,{},d)])[0]>32640||g[1]>32640)&&A(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'),t.addSymbols(t.text,m,g,u,o,s,p,e,l.lineStartIndex,l.lineLength,f,d);for(var x=0,b=c;x<b.length;x+=1)h[b[x]]=t.text.placedSymbolArray.length-1;return 4*m.length}function ul(t){for(var e in t)return t[e];return null}function ll(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return !0}else i[e]=[];return i[e].push(n),!1}var pl=bs.VectorTileFeature.types,cl=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function hl(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=s?Math.min(32640,Math.round(s[0])):0,y=s?Math.min(32640,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(f<<1)+(u?1:0),y,16*l,16*p,256*c,256*h);}function fl(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r);}function yl(t){for(var e=0,r=t.sections;e<r.length;e+=1)if($n(r[e].text))return !0;return !1}var dl=function(t){this.layoutVertexArray=new Vi,this.indexArray=new ji,this.programConfigurations=t,this.segments=new sa,this.dynamicLayoutVertexArray=new Fi,this.opacityVertexArray=new Di,this.placedSymbolArray=new Qi;};dl.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},dl.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,js.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,qs.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,cl,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t));},dl.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy());},On(\"SymbolBuffers\",dl);var ml=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new sa,this.collisionVertexArray=new Ui;};ml.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Ns.members,!0);},ml.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy());},On(\"CollisionBuffers\",ml);var vl=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oo([]),this.placementViewportMatrix=oo([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Du(this.zoom,e[\"text-size\"]),this.iconSizeData=Du(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout,n=r.get(\"symbol-sort-key\"),i=r.get(\"symbol-z-order\");this.canOverlap=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==i&&void 0!==n.constantOr(1),this.sortFeaturesByY=(\"viewport-y\"===i||\"auto\"===i&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===r.get(\"symbol-placement\")&&(this.writingModes=r.get(\"text-writing-mode\").map((function(t){return wu[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID;};vl.prototype.createArrays=function(){this.text=new dl(new Va(this.layers,this.zoom,(function(t){return /^text/.test(t)}))),this.icon=new dl(new Va(this.layers,this.zoom,(function(t){return /^icon/.test(t)}))),this.glyphOffsetArray=new ra,this.lineVertexArray=new na,this.symbolInstances=new ea;},vl.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++)if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=Xs[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0);}},vl.prototype.populate=function(t,e,r){var n=this.layers[0],i=n.layout,a=i.get(\"text-font\"),o=i.get(\"text-field\"),s=i.get(\"icon-image\"),u=(\"constant\"!==o.value.kind||o.value.value instanceof ne&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),l=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,p=i.get(\"symbol-sort-key\");if(this.features=[],u||l){for(var c=e.iconDependencies,h=e.glyphDependencies,f=e.availableImages,y=new si(this.zoom),d=0,m=t;d<m.length;d+=1){var v=m[d],g=v.feature,x=v.id,b=v.index,w=v.sourceLayerIndex,_=n._featureFilter.needGeometry,A=Ua(g,_);if(n._featureFilter.filter(y,A,r)){_||(A.geometry=Ra(g));var S=void 0;if(u){var k=n.getValueAndResolveTokens(\"text-field\",A,r,f),I=ne.factory(k);yl(I)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===ii()||this.hasRTLText&&oi.isParsed())&&(S=Zs(I,n,A));}var z=void 0;if(l){var C=n.getValueAndResolveTokens(\"icon-image\",A,r,f);z=C instanceof ie?C:ie.fromString(C);}if(S||z){var E=this.sortFeaturesByKey?p.evaluate(A,{},r):void 0;if(this.features.push({id:x,text:S,icon:z,index:b,sourceLayerIndex:w,geometry:A.geometry,properties:g.properties,type:pl[g.type],sortKey:E}),z&&(c[z.name]=!0),S){var P=a.evaluate(A,{},r).join(\",\"),M=\"map\"===i.get(\"text-rotation-alignment\")&&\"point\"!==i.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(wu.vertical)>=0;for(var B=0,T=S.sections;B<T.length;B+=1){var V=T[B];if(V.image)c[V.image.name]=!0;else {var F=Zn(S.toString()),D=V.fontStack||P,L=h[D]=h[D]||{};this.calculateGlyphDependencies(V.text,L,M,this.allowVerticalPlacement,F);}}}}}}\"line\"===i.get(\"symbol-placement\")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++;}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function u(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var l=0;l<t.length;l++){var p=t[l],c=p.geometry,h=p.text?p.text.toString():null;if(h){var f=u(h,c),y=u(h,c,!0);if(f in r&&y in e&&r[f]!==e[y]){var d=s(f,y,c),m=o(f,y,n[d].geometry);delete e[f],delete r[y],r[u(h,n[m].geometry,!0)]=m,n[d].geometry=null;}else f in r?o(f,y,c):y in e?s(f,y,c):(a(l),e[f]=i-1,r[y]=i-1);}else a(l);}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}));}},vl.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));},vl.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},vl.prototype.uploadPending=function(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},vl.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;},vl.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();},vl.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();},vl.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var u=0;u<e.length;u++){var l=a[u];this.lineVertexArray.emplaceBack(l.x,l.y,l.tileUnitDistanceFromAnchor);}}return {lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},vl.prototype.addSymbols=function(t,e,r,n,i,a,o,s,u,l,p,c){for(var h=t.indexArray,f=t.layoutVertexArray,y=t.segments.prepareSegment(4*e.length,f,h,this.canOverlap?a.sortKey:void 0),d=this.glyphOffsetArray.length,m=y.vertexLength,v=this.allowVerticalPlacement&&o===wu.vertical?Math.PI/2:0,g=a.text&&a.text.sections,x=0;x<e.length;x++){var b=e[x],w=b.tl,_=b.tr,A=b.bl,S=b.br,k=b.tex,I=b.pixelOffsetTL,z=b.pixelOffsetBR,C=b.minFontScaleX,E=b.minFontScaleY,P=b.glyphOffset,M=b.isSDF,B=b.sectionIndex,T=y.vertexLength,V=P[1];hl(f,s.x,s.y,w.x,V+w.y,k.x,k.y,r,M,I.x,I.y,C,E),hl(f,s.x,s.y,_.x,V+_.y,k.x+k.w,k.y,r,M,z.x,I.y,C,E),hl(f,s.x,s.y,A.x,V+A.y,k.x,k.y+k.h,r,M,I.x,z.y,C,E),hl(f,s.x,s.y,S.x,V+S.y,k.x+k.w,k.y+k.h,r,M,z.x,z.y,C,E),fl(t.dynamicLayoutVertexArray,s,v),h.emplaceBack(T,T+1,T+2),h.emplaceBack(T+1,T+2,T+3),y.vertexLength+=4,y.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(P[0]),x!==e.length-1&&B===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(f.length,a,a.index,{},c,g&&g[B]);}t.placedSymbolArray.emplaceBack(s.x,s.y,d,this.glyphOffsetArray.length-d,m,u,l,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,p);},vl.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},vl.prototype.addCollisionDebugVertices=function(t,e,r,n,a,o,s){var u=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),l=u.vertexLength,p=a.layoutVertexArray,c=a.collisionVertexArray,h=s.anchorX,f=s.anchorY;this._addCollisionDebugVertex(p,c,o,h,f,new i(t,e)),this._addCollisionDebugVertex(p,c,o,h,f,new i(r,e)),this._addCollisionDebugVertex(p,c,o,h,f,new i(r,n)),this._addCollisionDebugVertex(p,c,o,h,f,new i(t,n)),u.vertexLength+=4;var y=a.indexArray;y.emplaceBack(l,l+1),y.emplaceBack(l+1,l+2),y.emplaceBack(l+2,l+3),y.emplaceBack(l+3,l),u.primitiveLength+=4;},vl.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(a.x1,a.y1,a.x2,a.y2,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r);}},vl.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new ml(Oi,Ks.members,Xi),this.iconCollisionBox=new ml(Oi,Ks.members,Xi);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1);}},vl.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,u){for(var l={},p=e;p<r;p++){var c=t.get(p);l.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},l.textFeatureIndex=c.featureIndex;break}for(var h=n;h<i;h++){var f=t.get(h);l.verticalTextBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},l.verticalTextFeatureIndex=f.featureIndex;break}for(var y=a;y<o;y++){var d=t.get(y);l.iconBox={x1:d.x1,y1:d.y1,x2:d.x2,y2:d.y2,anchorPointX:d.anchorPointX,anchorPointY:d.anchorPointY},l.iconFeatureIndex=d.featureIndex;break}for(var m=s;m<u;m++){var v=t.get(m);l.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},l.verticalIconFeatureIndex=v.featureIndex;break}return l},vl.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex));}},vl.prototype.hasTextData=function(){return this.text.segments.get().length>0},vl.prototype.hasIconData=function(){return this.icon.segments.get().length>0},vl.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},vl.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},vl.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},vl.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3);},vl.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex);}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},vl.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});},vl.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=this.symbolInstances.get(n[r]);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t);})),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,i.verticalPlacedTextSymbolIndex),i.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.placedIconSymbolIndex),i.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}},On(\"SymbolBucket\",vl,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),vl.MAX_GLYPHS=65535,vl.addDynamicAttributes=fl;var gl=new wi({\"symbol-placement\":new mi(Et.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new mi(Et.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new mi(Et.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new vi(Et.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new mi(Et.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new mi(Et.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new mi(Et.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new mi(Et.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new mi(Et.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new vi(Et.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new mi(Et.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new mi(Et.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new vi(Et.layout_symbol[\"icon-image\"]),\"icon-rotate\":new vi(Et.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new mi(Et.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new mi(Et.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new vi(Et.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new vi(Et.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new mi(Et.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new mi(Et.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new mi(Et.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new vi(Et.layout_symbol[\"text-field\"]),\"text-font\":new vi(Et.layout_symbol[\"text-font\"]),\"text-size\":new vi(Et.layout_symbol[\"text-size\"]),\"text-max-width\":new vi(Et.layout_symbol[\"text-max-width\"]),\"text-line-height\":new mi(Et.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new vi(Et.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new vi(Et.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new vi(Et.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new mi(Et.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new vi(Et.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new mi(Et.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new mi(Et.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new vi(Et.layout_symbol[\"text-rotate\"]),\"text-padding\":new mi(Et.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new mi(Et.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new vi(Et.layout_symbol[\"text-transform\"]),\"text-offset\":new vi(Et.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new mi(Et.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new mi(Et.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new mi(Et.layout_symbol[\"text-optional\"])}),xl={paint:new wi({\"icon-opacity\":new vi(Et.paint_symbol[\"icon-opacity\"]),\"icon-color\":new vi(Et.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new vi(Et.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new vi(Et.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new vi(Et.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new mi(Et.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new mi(Et.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new vi(Et.paint_symbol[\"text-opacity\"]),\"text-color\":new vi(Et.paint_symbol[\"text-color\"],{runtimeType:jt,getOverride:function(t){return t.textColor},hasOverride:function(t){return !!t.textColor}}),\"text-halo-color\":new vi(Et.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new vi(Et.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new vi(Et.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new mi(Et.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new mi(Et.paint_symbol[\"text-translate-anchor\"])}),layout:gl},bl=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Lt,this.defaultValue=t;};bl.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},bl.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);},bl.prototype.outputDefined=function(){return !1},bl.prototype.serialize=function(){return null},On(\"FormatSectionOverride\",bl,{omit:[\"defaultValue\"]});var wl=function(t){function e(e){t.call(this,e,xl);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s);}this.layout._values[\"text-writing-mode\"]=i;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Gr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):\"\"}))}(e.properties,i)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return !1},e.prototype._setPaintOverrides=function(){for(var t=0,r=xl.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new bl(a),s=new Kr(o,a.property.specification);i=\"constant\"===a.value.kind||\"source\"===a.value.kind?new Xr(\"source\",s):new Jr(\"composite\",s,a.value.zoomStops,a.value._interpolationType),this.paint._values[n]=new yi(a.property,i,a.parameters);}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return !(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get(\"text-field\"),n=xl.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n.overrides&&n.overrides.hasOverride(r[e]))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof ne)a(r.value.value.sections);else if(\"source\"===r.value.kind){var o=function(t){i||(t instanceof le&&se(t.value)===Gt?a(t.value.sections):t instanceof fe?a(t.sections):t.eachChild(o));},s=r.value;s._styleExpression&&o(s._styleExpression.expression);}return i},e}(_i),_l={paint:new wi({\"background-color\":new mi(Et.paint_background[\"background-color\"]),\"background-pattern\":new xi(Et.paint_background[\"background-pattern\"]),\"background-opacity\":new mi(Et.paint_background[\"background-opacity\"])})},Al=function(t){function e(e){t.call(this,e,_l);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(_i),Sl={paint:new wi({\"raster-opacity\":new mi(Et.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new mi(Et.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new mi(Et.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new mi(Et.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new mi(Et.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new mi(Et.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new mi(Et.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new mi(Et.paint_raster[\"raster-fade-duration\"])})},kl=function(t){function e(e){t.call(this,e,Sl);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(_i),Il=function(t){function e(e){t.call(this,e,{}),this.implementation=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.is3D=function(){return \"3d\"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},e}(_i),zl={circle:co,heatmap:_o,hillshade:So,fill:ps,\"fill-extrusion\":zs,line:Rs,symbol:wl,background:Al,raster:kl},Cl=o.HTMLImageElement,El=o.HTMLCanvasElement,Pl=o.HTMLVideoElement,Ml=o.ImageData,Bl=o.ImageBitmap,Tl=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n);};Tl.prototype.update=function(t,e,r){var n=t.width,i=t.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),a)this.size=[n,i],t instanceof Cl||t instanceof El||t instanceof Pl||t instanceof Ml||Bl&&t instanceof Bl?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,t.data);else {var u=r||{x:0,y:0},l=u.x,p=u.y;t instanceof Cl||t instanceof El||t instanceof Pl||t instanceof Ml||Bl&&t instanceof Bl?s.texSubImage2D(s.TEXTURE_2D,0,l,p,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,l,p,n,i,s.RGBA,s.UNSIGNED_BYTE,t.data);}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D);},Tl.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e);},Tl.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Tl.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null;};var Vl=function(t){var e=this;this._callback=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback();});};Vl.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback();}),0));},Vl.prototype.remove=function(){delete this._channel,this._callback=function(){};};var Fl=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},v([\"receive\",\"process\"],this),this.invoker=new Vl(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=I()?t:o;};function Dl(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}Fl.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=E(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:qn(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:\"<cancel>\",targetMapId:n,sourceMapId:a.mapId});}}},Fl.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"<cancel>\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n();}else I()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e);},Fl.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e);}},Fl.prototype.processTask=function(t,e){var r=this;if(\"<response>\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(Nn(e.error)):n(null,Nn(e.data)));}else {var i=!1,a=E(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"<response>\",sourceMapId:r.mapId,error:e?qn(e):null,data:qn(n,a)},a);}:function(t){i=!0;},s=null,u=Nn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,u,o);else if(this.parent.getWorkerSource){var l=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,l[0],u.source)[l[1]](u,o);}else o(new Error(\"Could not find function \"+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel);}},Fl.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1);};var Ll=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]));};Ll.prototype.setNorthEast=function(t){return this._ne=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this},Ll.prototype.setSouthWest=function(t){return this._sw=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this},Ll.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Ol)e=t,r=t;else {if(!(t instanceof Ll))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Ll.convert(t)):this.extend(Ol.convert(t)):this;if(r=t._ne,!(e=t._sw)||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Ol(e.lng,e.lat),this._ne=new Ol(r.lng,r.lat)),this},Ll.prototype.getCenter=function(){return new Ol((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Ll.prototype.getSouthWest=function(){return this._sw},Ll.prototype.getNorthEast=function(){return this._ne},Ll.prototype.getNorthWest=function(){return new Ol(this.getWest(),this.getNorth())},Ll.prototype.getSouthEast=function(){return new Ol(this.getEast(),this.getSouth())},Ll.prototype.getWest=function(){return this._sw.lng},Ll.prototype.getSouth=function(){return this._sw.lat},Ll.prototype.getEast=function(){return this._ne.lng},Ll.prototype.getNorth=function(){return this._ne.lat},Ll.prototype.toArray=function(){return [this._sw.toArray(),this._ne.toArray()]},Ll.prototype.toString=function(){return \"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Ll.prototype.isEmpty=function(){return !(this._sw&&this._ne)},Ll.prototype.contains=function(t){var e=Ol.convert(t),r=e.lng,n=e.lat,i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i},Ll.convert=function(t){return !t||t instanceof Ll?t:new Ll(t)};var Ol=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Ol.prototype.wrap=function(){return new Ol(c(this.lng,-180,180),this.lat)},Ol.prototype.toArray=function(){return [this.lng,this.lat]},Ol.prototype.toString=function(){return \"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Ol.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(i,1))},Ol.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Ll(new Ol(this.lng-r,this.lat-e),new Ol(this.lng+r,this.lat+e))},Ol.convert=function(t){if(t instanceof Ol)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ol(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Ol(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var Rl=2*Math.PI*6371008.8;function Ul(t){return Rl*Math.cos(t*Math.PI/180)}function jl(t){return (180+t)/360}function ql(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nl(t,e){return t/Ul(e)}function Kl(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Gl=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r;};Gl.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ol.convert(t);return new Gl(jl(r.lng),ql(r.lat),Nl(e,r.lat))},Gl.prototype.toLngLat=function(){return new Ol(360*this.x-180,Kl(this.y))},Gl.prototype.toAltitude=function(){return this.z*Ul(Kl(this.y))},Gl.prototype.meterInMercatorCoordinateUnits=function(){return 1/Rl*(t=Kl(this.y),1/Math.cos(t*Math.PI/180));var t;};var Zl=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Hl(0,t,t,e,r);};Zl.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Zl.prototype.url=function(t,e){var r,n,i,a,o,s=(n=this.y,i=this.z,a=Dl(256*(r=this.x),256*(n=Math.pow(2,i)-n-1),i),o=Dl(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),u=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",u).replace(\"{bbox-epsg-3857}\",s)},Zl.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new i(8192*(t.x*e-this.x),8192*(t.y*e-this.y))},Zl.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var Xl=function(t,e){this.wrap=t,this.canonical=e,this.key=Hl(t,e.z,e.z,e.x,e.y);},Jl=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new Zl(r,+n,+i),this.key=Hl(e,t,r,n,i);};function Hl(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return (a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}Jl.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Jl.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Jl(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jl(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Jl.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Hl(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Hl(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Jl.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return !1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Jl.prototype.children=function(t){if(this.overscaledZ>=t)return [new Jl(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new Jl(e,this.wrap,e,r,n),new Jl(e,this.wrap,e,r+1,n),new Jl(e,this.wrap,e,r,n+1),new Jl(e,this.wrap,e,r+1,n+1)]},Jl.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Jl.prototype.wrapped=function(){return new Jl(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Jl.prototype.unwrapTo=function(t){return new Jl(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Jl.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Jl.prototype.toUnwrapped=function(){return new Xl(this.wrap,this.canonical)},Jl.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Jl.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Gl(t.x-this.wrap,t.y))},On(\"CanonicalTileID\",Zl),On(\"OverscaledTileID\",Jl,{omit:[\"posMatrix\"]});var Yl=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError(\"DEM tiles must be square\");if(r&&\"mapbox\"!==r&&\"terrarium\"!==r)return A('\"'+r+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||\"mapbox\";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)];};Yl.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return (\"terrarium\"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Yl.prototype.getUnpackVector=function(){return \"terrarium\"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Yl.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)},Yl.prototype._unpackMapbox=function(t,e,r){return (256*t*256+256*e+r)/10-1e4},Yl.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Yl.prototype.getPixels=function(){return new xo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Yl.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:a=o-1;break;case 1:o=a+1;}for(var s=-e*this.dim,u=-r*this.dim,l=a;l<o;l++)for(var p=n;p<i;p++)this.data[this._idx(p,l)]=t.data[this._idx(p+s,l+u)];},On(\"DEMData\",Yl);var $l=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r;}};$l.prototype.encode=function(t){return this._stringToNumber[t]},$l.prototype.decode=function(t){return this._numberToString[t]};var Wl=function(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;},Ql={geometry:{configurable:!0}};Ql.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Ql.geometry.set=function(t){this._geometry=t;},Wl.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Wl.prototype,Ql);var tp=function(){this.state={},this.stateChanges={},this.deletedStates={};};tp.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},h(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var i in this.deletedStates[t]={},this.state[t])i!==n&&(this.deletedStates[t][i]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var a in this.deletedStates[t][n]={},this.state[t][n])r[a]||(this.deletedStates[t][n][a]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o];},tp.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null;}},tp.prototype.getState=function(t,e){var r=String(e),n=h({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return {};if(this.deletedStates[t]){var i=this.deletedStates[t][e];if(null===i)return {};for(var a in i)delete n[a];}return n},tp.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e);},tp.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n])this.state[n][a]||(this.state[n][a]={}),h(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a];r[n]=i;}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var u in this.state[o])s[u]={},this.state[o][u]={};else for(var l in this.deletedStates[o]){if(null===this.deletedStates[o][l])this.state[o][l]={};else for(var p=0,c=Object.keys(this.deletedStates[o][l]);p<c.length;p+=1)delete this.state[o][l][c[p]];s[l]=this.state[o][l];}r[o]=r[o]||{},h(r[o],s);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var f in t)t[f].setFeatureState(r,e);};var ep=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Tn(8192,16,0),this.grid3D=new Tn(8192,16,0),this.featureIndexArray=new aa,this.promoteId=e;};function rp(t,e,r,n,i){return x(t,(function(t,a){var o=e instanceof di?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function np(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);}return {minX:e,minY:r,maxX:n,maxY:i}}function ip(t,e){return e-t}ep.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,u=0;u<e.length;u++){for(var l=e[u],p=[1/0,1/0,-1/0,-1/0],c=0;c<l.length;c++){var h=l[c];p[0]=Math.min(p[0],h.x),p[1]=Math.min(p[1],h.y),p[2]=Math.max(p[2],h.x),p[3]=Math.max(p[3],h.y);}p[0]<8192&&p[1]<8192&&p[2]>=0&&p[3]>=0&&s.insert(o,p[0],p[1],p[2],p[3]);}},ep.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new bs.VectorTile(new Ys(this.rawTileData)).layers,this.sourceLayerCoder=new $l(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},ep.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,u=on(o.filter),l=t.queryGeometry,p=t.queryPadding*s,c=np(l),h=this.grid.query(c.minX-p,c.minY-p,c.maxX+p,c.maxY+p),f=np(t.cameraQueryGeometry),y=this.grid3D.query(f.minX-p,f.minY-p,f.maxX+p,f.maxY+p,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o<s.length;o+=1){var u=s[o];if(e<=u.x&&r<=u.y&&n>=u.x&&a>=u.y)return !0}var l=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(var p=0,c=l;p<c.length;p+=1)if(Wa(t,c[p]))return !0;for(var h=0;h<t.length-1;h++)if(Qa(t[h],t[h+1],l))return !0;return !1}(t.cameraQueryGeometry,e-p,r-p,n+p,a+p)})),d=0,m=y;d<m.length;d+=1)h.push(m[d]);h.sort(ip);for(var v,g={},x=function(i){var p=h[i];if(p!==v){v=p;var c=a.featureIndexArray.get(p),f=null;a.loadMatchingFeature(g,c.bucketIndex,c.sourceLayerIndex,c.featureIndex,u,o.layers,o.availableImages,e,r,n,(function(e,r,n){return f||(f=Ra(e)),r.queryIntersectsFeature(l,e,n,f,a.z,t.transform,s,t.pixelPosMatrix)}));}},b=0;b<h.length;b++)x(b);return g},ep.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s,u,l,p){var c=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return !0;return !1}(a,c)){var f=this.sourceLayerCoder.decode(r),y=this.vtLayers[f].feature(n);if(i.needGeometry){var d=Ua(y,!0);if(!i.filter(new si(this.tileID.overscaledZ),d,this.tileID.canonical))return}else if(!i.filter(new si(this.tileID.overscaledZ),y))return;for(var m=this.getId(y,f),v=0;v<c.length;v++){var g=c[v];if(!(a&&a.indexOf(g)<0)){var x=s[g];if(x){var b={};void 0!==m&&l&&(b=l.getState(x.sourceLayer||\"_geojsonTileLayer\",m));var w=h({},u[g]);w.paint=rp(w.paint,x.paint,y,b,o),w.layout=rp(w.layout,x.layout,y,b,o);var _=!p||p(y,x,b);if(_){var A=new Wl(y,this.z,this.x,this.y,m);A.layer=w;var S=t[g];void 0===S&&(S=t[g]=[]),S.push({featureIndex:n,feature:A,intersectionZ:_});}}}}}},ep.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var u={};this.loadVTLayers();for(var l=on(i),p=0,c=t;p<c.length;p+=1)this.loadMatchingFeature(u,r,n,c[p],l,a,o,s,e);return u},ep.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return !0;return !1},ep.prototype.getId=function(t,e){var r=t.id;return this.promoteId&&\"boolean\"==typeof(r=t.properties[\"string\"==typeof this.promoteId?this.promoteId:this.promoteId[e]])&&(r=Number(r)),r},On(\"FeatureIndex\",ep,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var ap=function(t,e){this.tileID=t,this.uid=y(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\";};ap.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<O.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e);},ap.prototype.wasRequested=function(){return \"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},ap.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=a[i],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1)r[s[o].id]=t;}},i=0,a=t;i<a.length;i+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof vl){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var a in this.buckets){var o=this.buckets[a];if(o instanceof vl&&o.hasRTLText){this.hasRTLText=!0,oi.isLoading()||oi.isLoaded()||\"deferred\"!==ii()||ai();break}}for(var s in this.queryPadding=0,this.buckets){var u=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(u));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage);}else this.collisionBoxArray=new $i;},ap.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";},ap.prototype.getBucket=function(t){return this.buckets[t.id]},ap.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t);}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Tl(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Tl(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null);},ap.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);},ap.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o,s,u,l){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*u},t,e,r):{}},ap.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=e?e.sourceLayer:\"\",a=n._geojsonTileLayer||n[i];if(a)for(var o=on(e&&e.filter),s=this.tileID.canonical,u=s.z,l=s.x,p=s.y,c={z:u,x:l,y:p},h=0;h<a.length;h++){var f=a.feature(h);if(o.needGeometry){var y=Ua(f,!0);if(!o.filter(new si(this.tileID.overscaledZ),y,this.tileID.canonical))continue}else if(!o.filter(new si(this.tileID.overscaledZ),f))continue;var d=r.getId(f,i),m=new Wl(f,u,l,p,d);m.tile=c,t.push(m);}}},ap.prototype.hasData=function(){return \"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},ap.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},ap.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=z(t.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"]);}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n)i=!1;else if(e)if(this.expirationTime<e)i=!0;else {var a=this.expirationTime-e;a?this.expirationTime=n+Math.max(a,3e4):i=!0;}else i=!0;i?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0;}},ap.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},ap.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(e.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||\"_geojsonTileLayer\",o=r[a],s=t[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var u=e&&e.style&&e.style.getLayer(n);u&&(this.queryPadding=Math.max(this.queryPadding,u.queryRadius(i)));}}}},ap.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},ap.prototype.symbolFadeFinished=function(){return !this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<O.now()},ap.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0;},ap.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=O.now()+t;},ap.prototype.setDependencies=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1)r[i[n]]=!0;this.dependencies[t]=r;},ap.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=this.dependencies[n[r]];if(i)for(var a=0,o=e;a<o.length;a+=1)if(i[o[a]])return !0}return !1};var op=o.performance,sp=function(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},op.mark(this._marks.start);};sp.prototype.finish=function(){op.mark(this._marks.end);var t=op.getEntriesByName(this._marks.measure);return 0===t.length&&(op.measure(this._marks.measure,this._marks.start,this._marks.end),t=op.getEntriesByName(this._marks.measure),op.clearMarks(this._marks.start),op.clearMarks(this._marks.end),op.clearMeasures(this._marks.measure)),t},t.Actor=Fl,t.AlphaImage=go,t.CanonicalTileID=Zl,t.CollisionBoxArray=$i,t.Color=te,t.DEMData=Yl,t.DataConstantProperty=mi,t.DictionaryCoder=$l,t.EXTENT=8192,t.ErrorEvent=zt,t.EvaluationParameters=si,t.Event=It,t.Evented=Ct,t.FeatureIndex=ep,t.FillBucket=ss,t.FillExtrusionBucket=Ss,t.ImageAtlas=bu,t.ImagePosition=gu,t.LineBucket=Fs,t.LngLat=Ol,t.LngLatBounds=Ll,t.MercatorCoordinate=Gl,t.ONE_EM=24,t.OverscaledTileID=Jl,t.Point=i,t.Point$1=i,t.Properties=wi,t.Protobuf=Ys,t.RGBAImage=xo,t.RequestManager=G,t.RequestPerformance=sp,t.ResourceType=yt,t.SegmentVector=sa,t.SourceFeatureState=tp,t.StructArrayLayout1ui2=Ji,t.StructArrayLayout2f1f2i16=Ri,t.StructArrayLayout2i4=Ci,t.StructArrayLayout3ui6=ji,t.StructArrayLayout4i8=Ei,t.SymbolBucket=vl,t.Texture=Tl,t.Tile=ap,t.Transitionable=pi,t.Uniform1f=ba,t.Uniform1i=xa,t.Uniform2f=wa,t.Uniform3f=_a,t.Uniform4f=Aa,t.UniformColor=Sa,t.UniformMatrix4f=Ia,t.UnwrappedTileID=Xl,t.ValidationError=Pt,t.WritingMode=wu,t.ZoomHistory=Kn,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=fl,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i);}));}));},t.bezier=u,t.bindAll=v,t.browser=O,t.cacheEntryPossiblyAdded=function(t){++ht>ut&&(t.getActor().send(\"enforceCacheSizeLimit\",st),ht=0);},t.clamp=p,t.clearTileCache=function(t){var e=o.caches.delete(\"mapbox-tiles\");t&&e.catch(t).then((function(){return t()}));},t.clipLine=Zu,t.clone=function(t){var e=new ao(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new ao(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Gs,t.config=R,t.create=function(){var t=new ao(16);return ao!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new ao(9);return ao!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new ao(4);return ao!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=Zr,t.createLayout=Ii,t.createStyleLayer=function(t){return \"custom\"===t.type?new Il(t):new zl[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],u=r[2];return t[0]=i*u-a*s,t[1]=a*o-n*u,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return !1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return !1;return !0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return !1;if(Object.keys(e).length!==Object.keys(r).length)return !1;for(var i in e)if(!t(e[i],r[i]))return !1;return !0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=l,t.emitValidationErrors=Bn,t.endsWith=g,t.enforceCacheSizeLimit=function(t){lt(),tt&&tt.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n]);}));}));},t.evaluateSizeForFeature=Lu,t.evaluateSizeForZoom=Ou,t.evaluateVariableOffset=al,t.evented=ni,t.extend=h,t.featureFilter=on,t.filterObject=b,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=Bu,t.getAnchorJustification=ol,t.getArrayBuffer=bt,t.getImage=At,t.getJSON=function(t,e){return xt(h(t,{type:\"json\"}),e)},t.getRTLTextPluginStatus=ii,t.getReferrer=mt,t.getVideo=function(t,e){var r,n,i=o.document.createElement(\"video\");i.muted=!0,i.onloadstart=function(){e(null,i);};for(var a=0;a<t.length;a++){var s=o.document.createElement(\"source\");r=t[a],n=void 0,(n=o.document.createElement(\"a\")).href=r,(n.protocol!==o.document.location.protocol||n.host!==o.document.location.host)&&(i.crossOrigin=\"Anonymous\"),s.src=t[a],i.appendChild(s);}return {cancel:function(){}}},t.identity=oo,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],l=e[7],p=e[8],c=e[9],h=e[10],f=e[11],y=e[12],d=e[13],m=e[14],v=e[15],g=r*s-n*o,x=r*u-i*o,b=r*l-a*o,w=n*u-i*s,_=n*l-a*s,A=i*l-a*u,S=p*d-c*y,k=p*m-h*y,I=p*v-f*y,z=c*m-h*d,C=c*v-f*d,E=h*v-f*m,P=g*E-x*C+b*z+w*I-_*k+A*S;return P?(t[0]=(s*E-u*C+l*z)*(P=1/P),t[1]=(i*C-n*E-a*z)*P,t[2]=(d*A-m*_+v*w)*P,t[3]=(h*_-c*A-f*w)*P,t[4]=(u*I-o*E-l*k)*P,t[5]=(r*E-i*I+a*k)*P,t[6]=(m*b-y*A-v*x)*P,t[7]=(p*A-h*b+f*x)*P,t[8]=(o*C-s*I+l*S)*P,t[9]=(n*I-r*C-a*S)*P,t[10]=(y*_-d*b+v*g)*P,t[11]=(c*b-p*_-f*g)*P,t[12]=(s*k-o*z-u*S)*P,t[13]=(r*z-n*k+i*S)*P,t[14]=(d*x-y*w-m*g)*P,t[15]=(p*w-c*x+h*g)*P,t):null},t.isChar=Gn,t.isMapboxURL=Z,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=xt,t.mapObject=x,t.mercatorXfromLng=jl,t.mercatorYfromLat=ql,t.mercatorZfromAltitude=Nl,t.mul=lo,t.multiply=so,t.mvt=bs,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ke,t.offscreenCanvasSupported=ft,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),u=1/(n-i),l=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*u,t[14]=(o+a)*l,t[15]=1,t},t.parseGlyphPBF=function(t){return new Ys(t).readFields(yu,[])},t.pbf=Ys,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays(),t.tilePixelRatio=8192/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;var s=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,l={};if(\"composite\"===t.textSizeData.kind){var p=t.textSizeData,c=p.maxZoom;l.compositeTextSizes=[u[\"text-size\"].possiblyEvaluate(new si(p.minZoom),o),u[\"text-size\"].possiblyEvaluate(new si(c),o)];}if(\"composite\"===t.iconSizeData.kind){var h=t.iconSizeData,f=h.maxZoom;l.compositeIconSizes=[u[\"icon-size\"].possiblyEvaluate(new si(h.minZoom),o),u[\"icon-size\"].possiblyEvaluate(new si(f),o)];}l.layoutTextSize=u[\"text-size\"].possiblyEvaluate(new si(t.zoom+1),o),l.layoutIconSize=u[\"icon-size\"].possiblyEvaluate(new si(t.zoom+1),o),l.textMaxSize=u[\"text-size\"].possiblyEvaluate(new si(18));for(var y=24*s.get(\"text-line-height\"),d=\"map\"===s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\"),m=s.get(\"text-keep-upright\"),v=s.get(\"text-size\"),g=function(){var a=b[x],u=s.get(\"text-font\").evaluate(a,{},o).join(\",\"),p=v.evaluate(a,{},o),c=l.layoutTextSize.evaluate(a,{},o),h=l.layoutIconSize.evaluate(a,{},o),f={horizontal:{},vertical:void 0},g=a.text,w=[0,0];if(g){var _=g.toString(),S=24*s.get(\"text-letter-spacing\").evaluate(a,{},o),k=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n=r[e].charCodeAt(0),Gn.Arabic(n)||Gn[\"Arabic Supplement\"](n)||Gn[\"Arabic Extended-A\"](n)||Gn[\"Arabic Presentation Forms-A\"](n)||Gn[\"Arabic Presentation Forms-B\"](n))return !1;var n;return !0}(_)?S:0,I=s.get(\"text-anchor\").evaluate(a,{},o),z=s.get(\"text-variable-anchor\");if(!z){var C=s.get(\"text-radial-offset\").evaluate(a,{},o);w=C?al(I,[24*C,il]):s.get(\"text-offset\").evaluate(a,{},o).map((function(t){return 24*t}));}var E=d?\"center\":s.get(\"text-justify\").evaluate(a,{},o),P=s.get(\"symbol-placement\"),M=\"point\"===P?24*s.get(\"text-max-width\").evaluate(a,{},o):0,B=function(){t.allowVerticalPlacement&&Zn(_)&&(f.vertical=Su(g,e,r,i,u,M,y,I,\"left\",k,w,wu.vertical,!0,P,c,p));};if(!d&&z){for(var T=\"auto\"===E?z.map((function(t){return ol(t)})):[E],V=!1,F=0;F<T.length;F++){var D=T[F];if(!f.horizontal[D])if(V)f.horizontal[D]=f.horizontal[0];else {var L=Su(g,e,r,i,u,M,y,\"center\",D,k,w,wu.horizontal,!1,P,c,p);L&&(f.horizontal[D]=L,V=1===L.positionedLines.length);}}B();}else {\"auto\"===E&&(E=ol(I));var O=Su(g,e,r,i,u,M,y,I,E,k,w,wu.horizontal,!1,P,c,p);O&&(f.horizontal[E]=O),B(),Zn(_)&&d&&m&&(f.vertical=Su(g,e,r,i,u,M,y,I,E,k,w,wu.vertical,!1,P,c,p));}}var R=void 0,U=!1;if(a.icon&&a.icon.name){var j=n[a.icon.name];j&&(R=function(t,e,r){var n=Bu(r),i=e[0]-t.displaySize[0]*n.horizontalAlign,a=e[1]-t.displaySize[1]*n.verticalAlign;return {image:t,top:a,bottom:a+t.displaySize[1],left:i,right:i+t.displaySize[0]}}(i[a.icon.name],s.get(\"icon-offset\").evaluate(a,{},o),s.get(\"icon-anchor\").evaluate(a,{},o)),U=j.sdf,void 0===t.sdfIcons?t.sdfIcons=j.sdf:t.sdfIcons!==j.sdf&&A(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(j.pixelRatio!==t.pixelRatio||0!==s.get(\"icon-rotate\").constantOr(1))&&(t.iconsNeedLinear=!0));}var q=ul(f.horizontal)||f.vertical;t.iconsInText=!!q&&q.iconsInText,(q||R)&&function(t,e,r,n,i,a,o,s,u,l,p){var c=a.textMaxSize.evaluate(e,{});void 0===c&&(c=o);var h,f=t.layers[0].layout,y=f.get(\"icon-offset\").evaluate(e,{},p),d=ul(r.horizontal),m=o/24,v=t.tilePixelRatio*m,g=t.tilePixelRatio*c/24,x=t.tilePixelRatio*s,b=t.tilePixelRatio*f.get(\"symbol-spacing\"),w=f.get(\"text-padding\")*t.tilePixelRatio,_=f.get(\"icon-padding\")*t.tilePixelRatio,S=f.get(\"text-max-angle\")/180*Math.PI,k=\"map\"===f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),z=f.get(\"symbol-placement\"),C=b/2,E=f.get(\"icon-text-fit\");n&&\"none\"!==E&&(t.allowVerticalPlacement&&r.vertical&&(h=Vu(n,r.vertical,E,f.get(\"icon-text-fit-padding\"),y,m)),d&&(n=Vu(n,d,E,f.get(\"icon-text-fit-padding\"),y,m)));var P=function(s,c){c.x<0||c.x>=8192||c.y<0||c.y>=8192||function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,S,k){var I,z,C,E,P,M=t.addToLineVertexArray(e,r),B=0,T=0,V=0,F=0,D=-1,L=-1,O={},R=ha(\"\"),U=0,j=0;if(void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(U=(I=s.layout.get(\"text-offset\").evaluate(b,{},S).map((function(t){return 24*t})))[0],j=I[1]):(U=24*s.layout.get(\"text-radial-offset\").evaluate(b,{},S),j=il),t.allowVerticalPlacement&&n.vertical){var q=s.layout.get(\"text-rotate\").evaluate(b,{},S)+90;E=new Wu(u,e,l,p,c,n.vertical,h,f,y,q),o&&(P=new Wu(u,e,l,p,c,o,m,v,y,q));}if(i){var N=s.layout.get(\"icon-rotate\").evaluate(b,{}),K=\"none\"!==s.layout.get(\"icon-text-fit\"),G=Xu(i,N,_,K),Z=o?Xu(o,N,_,K):void 0;C=new Wu(u,e,l,p,c,i,m,v,!1,N),B=4*G.length;var X=t.iconSizeData,J=null;\"source\"===X.kind?(J=[128*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>32640&&A(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'):\"composite\"===X.kind&&((J=[128*w.compositeIconSizes[0].evaluate(b,{},S),128*w.compositeIconSizes[1].evaluate(b,{},S)])[0]>32640||J[1]>32640)&&A(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'),t.addSymbols(t.icon,G,J,x,g,b,!1,e,M.lineStartIndex,M.lineLength,-1,S),D=t.icon.placedSymbolArray.length-1,Z&&(T=4*Z.length,t.addSymbols(t.icon,Z,J,x,g,b,wu.vertical,e,M.lineStartIndex,M.lineLength,-1,S),L=t.icon.placedSymbolArray.length-1);}for(var H in n.horizontal){var Y=n.horizontal[H];if(!z){R=ha(Y.text);var $=s.layout.get(\"text-rotate\").evaluate(b,{},S);z=new Wu(u,e,l,p,c,Y,h,f,y,$);}var W=1===Y.positionedLines.length;if(V+=sl(t,e,Y,a,s,y,b,d,M,n.vertical?wu.horizontal:wu.horizontalOnly,W?Object.keys(n.horizontal):[H],O,D,w,S),W)break}n.vertical&&(F+=sl(t,e,n.vertical,a,s,y,b,d,M,wu.vertical,[\"vertical\"],O,L,w,S));var Q=z?z.boxStartIndex:t.collisionBoxArray.length,tt=z?z.boxEndIndex:t.collisionBoxArray.length,et=E?E.boxStartIndex:t.collisionBoxArray.length,rt=E?E.boxEndIndex:t.collisionBoxArray.length,nt=C?C.boxStartIndex:t.collisionBoxArray.length,it=C?C.boxEndIndex:t.collisionBoxArray.length,at=P?P.boxStartIndex:t.collisionBoxArray.length,ot=P?P.boxEndIndex:t.collisionBoxArray.length,st=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};st=ut(z,st),st=ut(E,st),st=ut(C,st);var lt=(st=ut(P,st))>-1?1:0;lt&&(st*=k/24),t.glyphOffsetArray.length>=vl.MAX_GLYPHS&&A(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,O.right>=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,D,L,R,Q,tt,et,rt,nt,it,at,ot,l,V,F,B,T,lt,0,h,U,j,st);}(t,c,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,k,u,x,_,I,y,e,a,l,p,o);};if(\"line\"===z)for(var M=0,B=Zu(e.geometry,0,0,8192,8192);M<B.length;M+=1)for(var T=B[M],V=0,F=Gu(T,b,S,r.vertical||d,n,24,g,t.overscaling,8192);V<F.length;V+=1){var D=F[V];d&&ll(t,d.text,C,D)||P(T,D);}else if(\"line-center\"===z)for(var L=0,O=e.geometry;L<O.length;L+=1){var R=O[L];if(R.length>1){var U=Ku(R,S,r.vertical||d,n,24,g);U&&P(R,U);}}else if(\"Polygon\"===e.type)for(var j=0,q=ns(e.geometry,0);j<q.length;j+=1){var N=q[j],K=el(N,16);P(N[0],new Fu(K.x,K.y,0));}else if(\"LineString\"===e.type)for(var G=0,Z=e.geometry;G<Z.length;G+=1){var X=Z[G];P(X,new Fu(X[0].x,X[0].y,0));}else if(\"Point\"===e.type)for(var J=0,H=e.geometry;J<H.length;J+=1)for(var Y=0,$=H[J];Y<$.length;Y+=1){var W=$[Y];P([W],new Fu(W.x,W.y,0));}}(t,a,f,R,n,l,c,h,w,U,o);},x=0,b=t.features;x<b.length;x+=1)g();a&&t.generateCollisionDebugBuffers();},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(a=1/(n-i)),t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i]);}return r},t.plugin=oi,t.polygonIntersectsPolygon=Na,t.postMapLoadEvent=ot,t.postTurnstileEvent=it,t.potpack=vu,t.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],t.register=On,t.registerForPluginStateChange=function(t){return t({pluginStatus:Qn,pluginURL:ti}),ni.on(\"pluginStateChange\",t),t},t.renderColorRamp=wo,t.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*s,t[1]=i*u+o*s,t[2]=n*-s+a*u,t[3]=i*-s+o*u,t},t.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],u=e[7],l=e[8],p=e[9],c=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+l*n,t[5]=o*i+p*n,t[6]=s*i+c*n,t[7]=u*i+h*n,t[8]=l*i-a*n,t[9]=p*i-o*n,t[10]=c*i-s*n,t[11]=h*i-u*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],u=e[3],l=e[4],p=e[5],c=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+l*n,t[1]=o*i+p*n,t[2]=s*i+c*n,t[3]=u*i+h*n,t[4]=l*i-a*n,t[5]=p*i-o*n,t[6]=c*i-s*n,t[7]=h*i-u*n,t},t.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){st=t,ut=e;},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),\"deferred\"===Qn||\"loading\"===Qn||\"loaded\"===Qn)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");ti=O.resolveURL(t),Qn=\"deferred\",Wn=e,ri(),r||ai();},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=function(t){var e=t[0],r=t[1];return e*e+r*r},t.styleSpec=Et,t.sub=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},t.symbolSize=Ru,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},t.transformMat4=po,t.translate=function(t,e,r){var n,i,a,o,s,u,l,p,c,h,f,y,d=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*d+e[4]*m+e[8]*v+e[12],t[13]=e[1]*d+e[5]*m+e[9]*v+e[13],t[14]=e[2]*d+e[6]*m+e[10]*v+e[14],t[15]=e[3]*d+e[7]*m+e[11]*v+e[15]):(i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],t[0]=n=e[0],t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=l,t[7]=p,t[8]=c,t[9]=h,t[10]=f,t[11]=y,t[12]=n*d+s*m+c*v+e[12],t[13]=i*d+u*m+h*v+e[13],t[14]=a*d+l*m+f*v+e[14],t[15]=o*d+p*m+y*v+e[15]),t},t.triggerPluginCompletionEvent=ei,t.uniqueId=y,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:\"layers.\"+r+': missing required property \"id\"'}),void 0===t.render&&e.push({message:\"layers.\"+r+': missing required method \"render\"'}),t.renderingMode&&\"2d\"!==t.renderingMode&&\"3d\"!==t.renderingMode&&e.push({message:\"layers.\"+r+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),e},t.validateLight=En,t.validateStyle=Cn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=bs,t.version=\"1.13.3\",t.warnOnce=A,t.webpSupported=U,t.window=o,t.wrap=c;}));\n\ndefine([\"./shared\"],(function(e){\"use strict\";function t(e){var r=typeof e;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==e)return JSON.stringify(e);if(Array.isArray(e)){for(var i=\"[\",o=0,n=e;o<n.length;o+=1)i+=t(n[o])+\",\";return i+\"]\"}for(var a=Object.keys(e).sort(),s=\"{\",l=0;l<a.length;l++)s+=JSON.stringify(a[l])+\":\"+t(e[a[l]])+\",\";return s+\"}\"}function r(r){for(var i=\"\",o=0,n=e.refProperties;o<n.length;o+=1)i+=\"/\"+t(r[n[o]]);return i}var i=function(e){this.keyCache={},e&&this.replace(e);};i.prototype.replace=function(e){this._layerConfigs={},this._layers={},this.update(e,[]);},i.prototype.update=function(t,i){for(var o=this,n=0,a=t;n<a.length;n+=1){var s=a[n];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=e.createStyleLayer(s);l._featureFilter=e.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id];}for(var u=0,h=i;u<h.length;u+=1){var c=h[u];delete this.keyCache[c],delete this._layerConfigs[c],delete this._layers[c];}this.familiesBySource={};for(var p=0,f=function(e,t){for(var i={},o=0;o<e.length;o++){var n=t&&t[e[o].id]||r(e[o]);t&&(t[e[o].id]=n);var a=i[n];a||(a=i[n]=[]),a.push(e[o]);}var s=[];for(var l in i)s.push(i[l]);return s}(e.values(this._layerConfigs),this.keyCache);p<f.length;p+=1){var d=f[p].map((function(e){return o._layers[e.id]})),g=d[0];if(\"none\"!==g.visibility){var v=g.source||\"\",m=this.familiesBySource[v];m||(m=this.familiesBySource[v]={});var y=g.sourceLayer||\"_geojsonTileLayer\",x=m[y];x||(x=m[y]=[]),x.push(d);}}};var o=function(t){var r={},i=[];for(var o in t){var n=t[o],a=r[o]={};for(var s in n){var l=n[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var u={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};i.push(u),a[s]={rect:u,metrics:l.metrics};}}}var h=e.potpack(i),c=new e.AlphaImage({width:h.w||1,height:h.h||1});for(var p in t){var f=t[p];for(var d in f){var g=f[+d];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var v=r[p][d].rect;e.AlphaImage.copy(g.bitmap,c,{x:0,y:0},{x:v.x+1,y:v.y+1},g.bitmap);}}}this.image=c,this.positions=r;};e.register(\"GlyphAtlas\",o);var n=function(t){this.tileID=new e.OverscaledTileID(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId;};function a(t,r,i){for(var o=new e.EvaluationParameters(r),n=0,a=t;n<a.length;n+=1)a[n].recalculate(o,i);}function s(t,r){var i=e.getArrayBuffer(t.request,(function(t,i,o,n){t?r(t):i&&r(null,{vectorTile:new e.vectorTile.VectorTile(new e.pbf(i)),rawData:i,cacheControl:o,expires:n});}));return function(){i.cancel(),r();}}n.prototype.parse=function(t,r,i,n,s){var l=this;this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;var u=new e.DictionaryCoder(Object.keys(t.layers).sort()),h=new e.FeatureIndex(this.tileID,this.promoteId);h.bucketLayerIDs=[];var c,p,f,d,g={},v={featureIndex:h,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:i},m=r.familiesBySource[this.source];for(var y in m){var x=t.layers[y];if(x){1===x.version&&e.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+y+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=u.encode(y),S=[],I=0;I<x.length;I++){var M=x.feature(I),b=h.getId(M,y);S.push({feature:M,id:b,index:I,sourceLayerIndex:w});}for(var _=0,k=m[y];_<k.length;_+=1){var P=k[_],T=P[0];T.minzoom&&this.zoom<Math.floor(T.minzoom)||T.maxzoom&&this.zoom>=T.maxzoom||\"none\"!==T.visibility&&(a(P,this.zoom,i),(g[T.id]=T.createBucket({index:h.bucketLayerIDs.length,layers:P,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:w,sourceID:this.source})).populate(S,v,this.tileID.canonical),h.bucketLayerIDs.push(P.map((function(e){return e.id}))));}}}var C=e.mapObject(v.glyphDependencies,(function(e){return Object.keys(e).map(Number)}));Object.keys(C).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:C},(function(e,t){c||(c=e,p=t,z.call(l));})):p={};var D=Object.keys(v.iconDependencies);D.length?n.send(\"getImages\",{icons:D,source:this.source,tileID:this.tileID,type:\"icons\"},(function(e,t){c||(c=e,f=t,z.call(l));})):f={};var L=Object.keys(v.patternDependencies);function z(){if(c)return s(c);if(p&&f&&d){var t=new o(p),r=new e.ImageAtlas(f,d);for(var n in g){var l=g[n];l instanceof e.SymbolBucket?(a(l.layers,this.zoom,i),e.performSymbolLayout(l,p,t.positions,f,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof e.LineBucket||l instanceof e.FillBucket||l instanceof e.FillExtrusionBucket)&&(a(l.layers,this.zoom,i),l.addFeatures(v,this.tileID.canonical,r.patternPositions));}this.status=\"done\",s(null,{buckets:e.values(g).filter((function(e){return !e.isEmpty()})),featureIndex:h,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:r,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?t.positions:null});}}L.length?n.send(\"getImages\",{icons:L,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(e,t){c||(c=e,d=t,z.call(l));})):d={},z.call(this);};var l=function(e,t,r,i){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=i||s,this.loading={},this.loaded={};};l.prototype.loadTile=function(t,r){var i=this,o=t.uid;this.loading||(this.loading={});var a=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[o]=new n(t);s.abort=this.loadVectorData(t,(function(t,n){if(delete i.loading[o],t||!n)return s.status=\"done\",i.loaded[o]=s,r(t);var l=n.rawData,u={};n.expires&&(u.expires=n.expires),n.cacheControl&&(u.cacheControl=n.cacheControl);var h={};if(a){var c=a.finish();c&&(h.resourceTiming=JSON.parse(JSON.stringify(c)));}s.vectorTile=n.vectorTile,s.parse(n.vectorTile,i.layerIndex,i.availableImages,i.actor,(function(t,i){if(t||!i)return r(t);r(null,e.extend({rawTileData:l.slice(0)},i,u,h));})),i.loaded=i.loaded||{},i.loaded[o]=s;}));},l.prototype.reloadTile=function(e,t){var r=this,i=this.loaded,o=e.uid,n=this;if(i&&i[o]){var a=i[o];a.showCollisionBoxes=e.showCollisionBoxes;var s=function(e,i){var o=a.reloadCallback;o&&(delete a.reloadCallback,a.parse(a.vectorTile,n.layerIndex,r.availableImages,n.actor,o)),t(e,i);};\"parsing\"===a.status?a.reloadCallback=s:\"done\"===a.status&&(a.vectorTile?a.parse(a.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s());}},l.prototype.abortTile=function(e,t){var r=this.loading,i=e.uid;r&&r[i]&&r[i].abort&&(r[i].abort(),delete r[i]),t();},l.prototype.removeTile=function(e,t){var r=this.loaded,i=e.uid;r&&r[i]&&delete r[i],t();};var u=e.window.ImageBitmap,h=function(){this.loaded={};};function c(e,t){if(0!==e.length){p(e[0],t);for(var r=1;r<e.length;r++)p(e[r],!t);}}function p(e,t){for(var r=0,i=0,o=0,n=e.length,a=n-1;o<n;a=o++){var s=(e[o][0]-e[a][0])*(e[a][1]+e[o][1]),l=r+s;i+=Math.abs(r)>=Math.abs(s)?r-l+s:s-l+r,r=l;}r+i>=0!=!!t&&e.reverse();}h.prototype.loadTile=function(t,r){var i=t.uid,o=t.encoding,n=t.rawImageData,a=u&&n instanceof u?this.getImageData(n):n,s=new e.DEMData(i,a,o);this.loaded=this.loaded||{},this.loaded[i]=s,r(null,s);},h.prototype.getImageData=function(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},h.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r];};var f=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10));};d.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,i=this._feature.geometry;r<i.length;r+=1){var o=i[r];t.push([new e.Point$1(o[0],o[1])]);}return t}for(var n=[],a=0,s=this._feature.geometry;a<s.length;a+=1){for(var l=[],u=0,h=s[a];u<h.length;u+=1){var c=h[u];l.push(new e.Point$1(c[0],c[1]));}n.push(l);}return n},d.prototype.toGeoJSON=function(e,t,r){return f.call(this,e,t,r)};var g=function(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=e.EXTENT,this.length=t.length,this._features=t;};g.prototype.feature=function(e){return new d(this._features[e])};var v=e.vectorTile.VectorTileFeature,m=y;function y(e,t){this.options=t||{},this.features=e,this.length=e.length;}function x(e,t){this.id=\"number\"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096;}y.prototype.feature=function(e){return new x(this.features[e],this.options.extent)},x.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var r=0;r<t.length;r++){for(var i=t[r],o=[],n=0;n<i.length;n++)o.push(new e.Point$1(i[n][0],i[n][1]));this.geometry.push(o);}return this.geometry},x.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var e=this.geometry,t=1/0,r=-1/0,i=1/0,o=-1/0,n=0;n<e.length;n++)for(var a=e[n],s=0;s<a.length;s++){var l=a[s];t=Math.min(t,l.x),r=Math.max(r,l.x),i=Math.min(i,l.y),o=Math.max(o,l.y);}return [t,i,r,o]},x.prototype.toGeoJSON=v.prototype.toGeoJSON;var w=I,S=m;function I(t){var r=new e.pbf;return function(e,t){for(var r in e.layers)t.writeMessage(3,M,e.layers[r]);}(t,r),r.finish()}function M(e,t){var r;t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||\"\"),t.writeVarintField(5,e.extent||4096);var i={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<e.length;r++)i.feature=e.feature(r),t.writeMessage(2,b,i);var o=i.keys;for(r=0;r<o.length;r++)t.writeStringField(3,o[r]);var n=i.values;for(r=0;r<n.length;r++)t.writeMessage(4,C,n[r]);}function b(e,t){var r=e.feature;void 0!==r.id&&t.writeVarintField(1,r.id),t.writeMessage(2,_,e),t.writeVarintField(3,r.type),t.writeMessage(4,T,r);}function _(e,t){var r=e.feature,i=e.keys,o=e.values,n=e.keycache,a=e.valuecache;for(var s in r.properties){var l=n[s];void 0===l&&(i.push(s),n[s]=l=i.length-1),t.writeVarint(l);var u=r.properties[s],h=typeof u;\"string\"!==h&&\"boolean\"!==h&&\"number\"!==h&&(u=JSON.stringify(u));var c=h+\":\"+u,p=a[c];void 0===p&&(o.push(u),a[c]=p=o.length-1),t.writeVarint(p);}}function k(e,t){return (t<<3)+(7&e)}function P(e){return e<<1^e>>31}function T(e,t){for(var r=e.loadGeometry(),i=e.type,o=0,n=0,a=r.length,s=0;s<a;s++){var l=r[s],u=1;1===i&&(u=l.length),t.writeVarint(k(1,u));for(var h=3===i?l.length-1:l.length,c=0;c<h;c++){1===c&&1!==i&&t.writeVarint(k(2,h-1));var p=l[c].x-o,f=l[c].y-n;t.writeVarint(P(p)),t.writeVarint(P(f)),o+=p,n+=f;}3===i&&t.writeVarint(k(7,1));}}function C(e,t){var r=typeof e;\"string\"===r?t.writeStringField(1,e):\"boolean\"===r?t.writeBooleanField(7,e):\"number\"===r&&(e%1!=0?t.writeDoubleField(3,e):e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e));}function D(e,t,r,i){L(e,r,i),L(t,2*r,2*i),L(t,2*r+1,2*i+1);}function L(e,t,r){var i=e[t];e[t]=e[r],e[r]=i;}function z(e,t,r,i){var o=e-r,n=t-i;return o*o+n*n}w.fromVectorTileJs=I,w.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var i in e)r[i]=new m(e[i].features,t),r[i].name=i,r[i].version=t.version,r[i].extent=t.extent;return I({layers:r})},w.GeoJSONWrapper=S;var O=function(e){return e[0]},E=function(e){return e[1]},F=function(e,t,r,i,o){void 0===t&&(t=O),void 0===r&&(r=E),void 0===i&&(i=64),void 0===o&&(o=Float64Array),this.nodeSize=i,this.points=e;for(var n=e.length<65536?Uint16Array:Uint32Array,a=this.ids=new n(e.length),s=this.coords=new o(2*e.length),l=0;l<e.length;l++)a[l]=l,s[2*l]=t(e[l]),s[2*l+1]=r(e[l]);!function e(t,r,i,o,n,a){if(!(n-o<=i)){var s=o+n>>1;!function e(t,r,i,o,n,a){for(;n>o;){if(n-o>600){var s=n-o+1,l=i-o+1,u=Math.log(s),h=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*h*(s-h)/s)*(l-s/2<0?-1:1);e(t,r,i,Math.max(o,Math.floor(i-l*h/s+c)),Math.min(n,Math.floor(i+(s-l)*h/s+c)),a);}var p=r[2*i+a],f=o,d=n;for(D(t,r,o,i),r[2*n+a]>p&&D(t,r,o,n);f<d;){for(D(t,r,f,d),f++,d--;r[2*f+a]<p;)f++;for(;r[2*d+a]>p;)d--;}r[2*o+a]===p?D(t,r,o,d):D(t,r,++d,n),d<=i&&(o=d+1),i<=d&&(n=d-1);}}(t,r,s,o,n,a%2),e(t,r,i,o,s-1,a+1),e(t,r,i,s+1,n,a+1);}}(a,s,i,0,a.length-1,0);};F.prototype.range=function(e,t,r,i){return function(e,t,r,i,o,n,a){for(var s,l,u=[0,e.length-1,0],h=[];u.length;){var c=u.pop(),p=u.pop(),f=u.pop();if(p-f<=a)for(var d=f;d<=p;d++)l=t[2*d+1],(s=t[2*d])>=r&&s<=o&&l>=i&&l<=n&&h.push(e[d]);else {var g=Math.floor((f+p)/2);l=t[2*g+1],(s=t[2*g])>=r&&s<=o&&l>=i&&l<=n&&h.push(e[g]);var v=(c+1)%2;(0===c?r<=s:i<=l)&&(u.push(f),u.push(g-1),u.push(v)),(0===c?o>=s:n>=l)&&(u.push(g+1),u.push(p),u.push(v));}}return h}(this.ids,this.coords,e,t,r,i,this.nodeSize)},F.prototype.within=function(e,t,r){return function(e,t,r,i,o,n){for(var a=[0,e.length-1,0],s=[],l=o*o;a.length;){var u=a.pop(),h=a.pop(),c=a.pop();if(h-c<=n)for(var p=c;p<=h;p++)z(t[2*p],t[2*p+1],r,i)<=l&&s.push(e[p]);else {var f=Math.floor((c+h)/2),d=t[2*f],g=t[2*f+1];z(d,g,r,i)<=l&&s.push(e[f]);var v=(u+1)%2;(0===u?r-o<=d:i-o<=g)&&(a.push(c),a.push(f-1),a.push(v)),(0===u?r+o>=d:i+o>=g)&&(a.push(f+1),a.push(h),a.push(v));}}return s}(this.ids,this.coords,e,t,r,this.nodeSize)};var N={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},J=function(e){this.options=V(Object.create(N),e),this.trees=new Array(this.options.maxZoom+1);};function Z(e,t,r,i,o){return {x:e,y:t,zoom:1/0,id:r,parentId:-1,numPoints:i,properties:o}}function A(e,t){var r=e.geometry.coordinates,i=r[1];return {x:Y(r[0]),y:j(i),zoom:1/0,index:t,parentId:-1}}function B(e){return {type:\"Feature\",id:e.id,properties:G(e),geometry:{type:\"Point\",coordinates:[(i=e.x,360*(i-.5)),(t=e.y,r=(180-360*t)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var t,r,i;}function G(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+\"k\":t>=1e3?Math.round(t/100)/10+\"k\":t;return V(V({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function Y(e){return e/360+.5}function j(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function V(e,t){for(var r in t)e[r]=t[r];return e}function X(e){return e.x}function W(e){return e.y}function R(e,t,r,i,o,n){var a=o-r,s=n-i;if(0!==a||0!==s){var l=((e-r)*a+(t-i)*s)/(a*a+s*s);l>1?(r=o,i=n):l>0&&(r+=a*l,i+=s*l);}return (a=e-r)*a+(s=t-i)*s}function q(e,t,r,i){var o={id:void 0===e?null:e,type:t,geometry:r,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)U(e,t);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var i=0;i<t.length;i++)U(e,t[i]);else if(\"MultiPolygon\"===r)for(i=0;i<t.length;i++)for(var o=0;o<t[i].length;o++)U(e,t[i][o]);}(o),o}function U(e,t){for(var r=0;r<t.length;r+=3)e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1]);}function $(e,t,r,i){if(t.geometry){var o=t.geometry.coordinates,n=t.geometry.type,a=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=t.id;if(r.promoteId?l=t.properties[r.promoteId]:r.generateId&&(l=i||0),\"Point\"===n)H(o,s);else if(\"MultiPoint\"===n)for(var u=0;u<o.length;u++)H(o[u],s);else if(\"LineString\"===n)K(o,s,a,!1);else if(\"MultiLineString\"===n){if(r.lineMetrics){for(u=0;u<o.length;u++)K(o[u],s=[],a,!1),e.push(q(l,\"LineString\",s,t.properties));return}Q(o,s,a,!1);}else if(\"Polygon\"===n)Q(o,s,a,!0);else {if(\"MultiPolygon\"!==n){if(\"GeometryCollection\"===n){for(u=0;u<t.geometry.geometries.length;u++)$(e,{id:l,geometry:t.geometry.geometries[u],properties:t.properties},r,i);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(u=0;u<o.length;u++){var h=[];Q(o[u],h,a,!0),s.push(h);}}e.push(q(l,n,s,t.properties));}}function H(e,t){t.push(ee(e[0])),t.push(te(e[1])),t.push(0);}function K(e,t,r,i){for(var o,n,a=0,s=0;s<e.length;s++){var l=ee(e[s][0]),u=te(e[s][1]);t.push(l),t.push(u),t.push(0),s>0&&(a+=i?(o*u-l*n)/2:Math.sqrt(Math.pow(l-o,2)+Math.pow(u-n,2))),o=l,n=u;}var h=t.length-3;t[2]=1,function e(t,r,i,o){for(var n,a=o,s=i-r>>1,l=i-r,u=t[r],h=t[r+1],c=t[i],p=t[i+1],f=r+3;f<i;f+=3){var d=R(t[f],t[f+1],u,h,c,p);if(d>a)n=f,a=d;else if(d===a){var g=Math.abs(f-s);g<l&&(n=f,l=g);}}a>o&&(n-r>3&&e(t,r,n,o),t[n+2]=a,i-n>3&&e(t,n,i,o));}(t,0,h,r),t[h+2]=1,t.size=Math.abs(a),t.start=0,t.end=t.size;}function Q(e,t,r,i){for(var o=0;o<e.length;o++){var n=[];K(e[o],n,r,i),t.push(n);}}function ee(e){return e/360+.5}function te(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function re(e,t,r,i,o,n,a,s){if(i/=t,n>=(r/=t)&&a<i)return e;if(a<r||n>=i)return null;for(var l=[],u=0;u<e.length;u++){var h=e[u],c=h.geometry,p=h.type,f=0===o?h.minX:h.minY,d=0===o?h.maxX:h.maxY;if(f>=r&&d<i)l.push(h);else if(!(d<r||f>=i)){var g=[];if(\"Point\"===p||\"MultiPoint\"===p)ie(c,g,r,i,o);else if(\"LineString\"===p)oe(c,g,r,i,o,!1,s.lineMetrics);else if(\"MultiLineString\"===p)ae(c,g,r,i,o,!1);else if(\"Polygon\"===p)ae(c,g,r,i,o,!0);else if(\"MultiPolygon\"===p)for(var v=0;v<c.length;v++){var m=[];ae(c[v],m,r,i,o,!0),m.length&&g.push(m);}if(g.length){if(s.lineMetrics&&\"LineString\"===p){for(v=0;v<g.length;v++)l.push(q(h.id,p,g[v],h.tags));continue}\"LineString\"!==p&&\"MultiLineString\"!==p||(1===g.length?(p=\"LineString\",g=g[0]):p=\"MultiLineString\"),\"Point\"!==p&&\"MultiPoint\"!==p||(p=3===g.length?\"Point\":\"MultiPoint\"),l.push(q(h.id,p,g,h.tags));}}}return l.length?l:null}function ie(e,t,r,i,o){for(var n=0;n<e.length;n+=3){var a=e[n+o];a>=r&&a<=i&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function oe(e,t,r,i,o,n,a){for(var s,l,u=ne(e),h=0===o?le:ue,c=e.start,p=0;p<e.length-3;p+=3){var f=e[p],d=e[p+1],g=e[p+2],v=e[p+3],m=e[p+4],y=0===o?f:d,x=0===o?v:m,w=!1;a&&(s=Math.sqrt(Math.pow(f-v,2)+Math.pow(d-m,2))),y<r?x>r&&(l=h(u,f,d,v,m,r),a&&(u.start=c+s*l)):y>i?x<i&&(l=h(u,f,d,v,m,i),a&&(u.start=c+s*l)):se(u,f,d,g),x<r&&y>=r&&(l=h(u,f,d,v,m,r),w=!0),x>i&&y<=i&&(l=h(u,f,d,v,m,i),w=!0),!n&&w&&(a&&(u.end=c+s*l),t.push(u),u=ne(e)),a&&(c+=s);}var S=e.length-3;f=e[S],d=e[S+1],g=e[S+2],(y=0===o?f:d)>=r&&y<=i&&se(u,f,d,g),S=u.length-3,n&&S>=3&&(u[S]!==u[0]||u[S+1]!==u[1])&&se(u,u[0],u[1],u[2]),u.length&&t.push(u);}function ne(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function ae(e,t,r,i,o,n){for(var a=0;a<e.length;a++)oe(e[a],t,r,i,o,n,!1);}function se(e,t,r,i){e.push(t),e.push(r),e.push(i);}function le(e,t,r,i,o,n){var a=(n-t)/(i-t);return e.push(n),e.push(r+(o-r)*a),e.push(1),a}function ue(e,t,r,i,o,n){var a=(n-r)/(o-r);return e.push(t+(i-t)*a),e.push(n),e.push(1),a}function he(e,t){for(var r=[],i=0;i<e.length;i++){var o,n=e[i],a=n.type;if(\"Point\"===a||\"MultiPoint\"===a||\"LineString\"===a)o=ce(n.geometry,t);else if(\"MultiLineString\"===a||\"Polygon\"===a){o=[];for(var s=0;s<n.geometry.length;s++)o.push(ce(n.geometry[s],t));}else if(\"MultiPolygon\"===a)for(o=[],s=0;s<n.geometry.length;s++){for(var l=[],u=0;u<n.geometry[s].length;u++)l.push(ce(n.geometry[s][u],t));o.push(l);}r.push(q(n.id,a,o,n.tags));}return r}function ce(e,t){var r=[];r.size=e.size,void 0!==e.start&&(r.start=e.start,r.end=e.end);for(var i=0;i<e.length;i+=3)r.push(e[i]+t,e[i+1],e[i+2]);return r}function pe(e,t){if(e.transformed)return e;var r,i,o,n=1<<e.z,a=e.x,s=e.y;for(r=0;r<e.features.length;r++){var l=e.features[r],u=l.geometry,h=l.type;if(l.geometry=[],1===h)for(i=0;i<u.length;i+=2)l.geometry.push(fe(u[i],u[i+1],t,n,a,s));else for(i=0;i<u.length;i++){var c=[];for(o=0;o<u[i].length;o+=2)c.push(fe(u[i][o],u[i][o+1],t,n,a,s));l.geometry.push(c);}}return e.transformed=!0,e}function fe(e,t,r,i,o,n){return [Math.round(r*(e*i-o)),Math.round(r*(t*i-n))]}function de(e,t,r,i,o){for(var n=t===o.maxZoom?0:o.tolerance/((1<<t)*o.extent),a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<e.length;s++){a.numFeatures++,ge(a,e[s],n,o);var l=e[s].minX,u=e[s].minY,h=e[s].maxX,c=e[s].maxY;l<a.minX&&(a.minX=l),u<a.minY&&(a.minY=u),h>a.maxX&&(a.maxX=h),c>a.maxY&&(a.maxY=c);}return a}function ge(e,t,r,i){var o=t.geometry,n=t.type,a=[];if(\"Point\"===n||\"MultiPoint\"===n)for(var s=0;s<o.length;s+=3)a.push(o[s]),a.push(o[s+1]),e.numPoints++,e.numSimplified++;else if(\"LineString\"===n)ve(a,o,e,r,!1,!1);else if(\"MultiLineString\"===n||\"Polygon\"===n)for(s=0;s<o.length;s++)ve(a,o[s],e,r,\"Polygon\"===n,0===s);else if(\"MultiPolygon\"===n)for(var l=0;l<o.length;l++){var u=o[l];for(s=0;s<u.length;s++)ve(a,u[s],e,r,!0,0===s);}if(a.length){var h=t.tags||null;if(\"LineString\"===n&&i.lineMetrics){for(var c in h={},t.tags)h[c]=t.tags[c];h.mapbox_clip_start=o.start/o.size,h.mapbox_clip_end=o.end/o.size;}var p={geometry:a,type:\"Polygon\"===n||\"MultiPolygon\"===n?3:\"LineString\"===n||\"MultiLineString\"===n?2:1,tags:h};null!==t.id&&(p.id=t.id),e.features.push(p);}}function ve(e,t,r,i,o,n){var a=i*i;if(i>0&&t.size<(o?a:i))r.numPoints+=t.length/3;else {for(var s=[],l=0;l<t.length;l+=3)(0===i||t[l+2]>a)&&(r.numSimplified++,s.push(t[l]),s.push(t[l+1])),r.numPoints++;o&&function(e,t){for(var r=0,i=0,o=e.length,n=o-2;i<o;n=i,i+=2)r+=(e[i]-e[n])*(e[i+1]+e[n+1]);if(r>0===t)for(i=0,o=e.length;i<o/2;i+=2){var a=e[i],s=e[i+1];e[i]=e[o-2-i],e[i+1]=e[o-1-i],e[o-2-i]=a,e[o-1-i]=s;}}(s,n),e.push(s);}}function me(e,t){var r=(t=this.options=function(e,t){for(var r in t)e[r]=t[r];return e}(Object.create(this.options),t)).debug;if(r&&console.time(\"preprocess data\"),t.maxZoom<0||t.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var i=function(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var i=0;i<e.features.length;i++)$(r,e.features[i],t,i);else $(r,\"Feature\"===e.type?e:{geometry:e},t);return r}(e,t);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",t.indexMaxZoom,t.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(i=function(e,t){var r=t.buffer/t.extent,i=e,o=re(e,1,-1-r,r,0,-1,2,t),n=re(e,1,1-r,2+r,0,-1,2,t);return (o||n)&&(i=re(e,1,-r,1+r,0,-1,2,t)||[],o&&(i=he(o,1).concat(i)),n&&(i=i.concat(he(n,-1)))),i}(i,t)).length&&this.splitTile(i,0,0,0),r&&(i.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)));}function ye(e,t,r){return 32*((1<<e)*r+t)+e}function xe(e,t){var r=e.tileID.canonical;if(!this._geoJSONIndex)return t(null,null);var i=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!i)return t(null,null);var o=new g(i.features),n=w(o);0===n.byteOffset&&n.byteLength===n.buffer.byteLength||(n=new Uint8Array(n)),t(null,{vectorTile:o,rawData:n.buffer});}J.prototype.load=function(e){var t=this.options,r=t.log,i=t.minZoom,o=t.maxZoom,n=t.nodeSize;r&&console.time(\"total time\");var a=\"prepare \"+e.length+\" points\";r&&console.time(a),this.points=e;for(var s=[],l=0;l<e.length;l++)e[l].geometry&&s.push(A(e[l],l));this.trees[o+1]=new F(s,X,W,n,Float32Array),r&&console.timeEnd(a);for(var u=o;u>=i;u--){var h=+Date.now();s=this._cluster(s,u),this.trees[u]=new F(s,X,W,n,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",u,s.length,+Date.now()-h);}return r&&console.timeEnd(\"total time\"),this},J.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[1])),o=180===e[2]?180:((e[2]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,o=180;else if(r>o){var a=this.getClusters([r,i,180,n],t),s=this.getClusters([-180,i,o,n],t);return a.concat(s)}for(var l=this.trees[this._limitZoom(t)],u=[],h=0,c=l.range(Y(r),j(n),Y(o),j(i));h<c.length;h+=1){var p=l.points[c[h]];u.push(p.numPoints?B(p):this.points[p.index]);}return u},J.prototype.getChildren=function(e){var t=this._getOriginId(e),r=this._getOriginZoom(e),i=\"No cluster with the specified id.\",o=this.trees[r];if(!o)throw new Error(i);var n=o.points[t];if(!n)throw new Error(i);for(var a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,u=o.within(n.x,n.y,a);l<u.length;l+=1){var h=o.points[u[l]];h.parentId===e&&s.push(h.numPoints?B(h):this.points[h.index]);}if(0===s.length)throw new Error(i);return s},J.prototype.getLeaves=function(e,t,r){var i=[];return this._appendLeaves(i,e,t=t||10,r=r||0,0),i},J.prototype.getTile=function(e,t,r){var i=this.trees[this._limitZoom(e)],o=Math.pow(2,e),n=this.options,a=n.radius/n.extent,s=(r-a)/o,l=(r+1+a)/o,u={features:[]};return this._addTileFeatures(i.range((t-a)/o,s,(t+1+a)/o,l),i.points,t,r,o,u),0===t&&this._addTileFeatures(i.range(1-a/o,s,1,l),i.points,o,r,o,u),t===o-1&&this._addTileFeatures(i.range(0,s,a/o,l),i.points,-1,r,o,u),u.features.length?u:null},J.prototype.getClusterExpansionZoom=function(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id;}return t},J.prototype._appendLeaves=function(e,t,r,i,o){for(var n=0,a=this.getChildren(t);n<a.length;n+=1){var s=a[n],l=s.properties;if(l&&l.cluster?o+l.point_count<=i?o+=l.point_count:o=this._appendLeaves(e,l.cluster_id,r,i,o):o<i?o++:e.push(s),e.length===r)break}return o},J.prototype._addTileFeatures=function(e,t,r,i,o,n){for(var a=0,s=e;a<s.length;a+=1){var l=t[s[a]],u=l.numPoints,h={type:1,geometry:[[Math.round(this.options.extent*(l.x*o-r)),Math.round(this.options.extent*(l.y*o-i))]],tags:u?G(l):this.points[l.index].properties},c=void 0;u?c=l.id:this.options.generateId?c=l.index:this.points[l.index].id&&(c=this.points[l.index].id),void 0!==c&&(h.id=c),n.features.push(h);}},J.prototype._limitZoom=function(e){return Math.max(this.options.minZoom,Math.min(+e,this.options.maxZoom+1))},J.prototype._cluster=function(e,t){for(var r=[],i=this.options,o=i.reduce,n=i.minPoints,a=i.radius/(i.extent*Math.pow(2,t)),s=0;s<e.length;s++){var l=e[s];if(!(l.zoom<=t)){l.zoom=t;for(var u=this.trees[t+1],h=u.within(l.x,l.y,a),c=l.numPoints||1,p=c,f=0,d=h;f<d.length;f+=1){var g=u.points[d[f]];g.zoom>t&&(p+=g.numPoints||1);}if(p>=n){for(var v=l.x*c,m=l.y*c,y=o&&c>1?this._map(l,!0):null,x=(s<<5)+(t+1)+this.points.length,w=0,S=h;w<S.length;w+=1){var I=u.points[S[w]];if(!(I.zoom<=t)){I.zoom=t;var M=I.numPoints||1;v+=I.x*M,m+=I.y*M,I.parentId=x,o&&(y||(y=this._map(l,!0)),o(y,this._map(I)));}}l.parentId=x,r.push(Z(v/p,m/p,x,p,y));}else if(r.push(l),p>1)for(var b=0,_=h;b<_.length;b+=1){var k=u.points[_[b]];k.zoom<=t||(k.zoom=t,r.push(k));}}}return r},J.prototype._getOriginId=function(e){return e-this.points.length>>5},J.prototype._getOriginZoom=function(e){return (e-this.points.length)%32},J.prototype._map=function(e,t){if(e.numPoints)return t?V({},e.properties):e.properties;var r=this.points[e.index].properties,i=this.options.map(r);return t&&i===r?V({},i):i},me.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},me.prototype.splitTile=function(e,t,r,i,o,n,a){for(var s=[e,t,r,i],l=this.options,u=l.debug;s.length;){i=s.pop(),r=s.pop(),t=s.pop(),e=s.pop();var h=1<<t,c=ye(t,r,i),p=this.tiles[c];if(!p&&(u>1&&console.time(\"creation\"),p=this.tiles[c]=de(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,r,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd(\"creation\"));var f=\"z\"+t;this.stats[f]=(this.stats[f]||0)+1,this.total++;}if(p.source=e,o){if(t===l.maxZoom||t===o)continue;var d=1<<o-t;if(r!==Math.floor(n/d)||i!==Math.floor(a/d))continue}else if(t===l.indexMaxZoom||p.numPoints<=l.indexMaxPoints)continue;if(p.source=null,0!==e.length){u>1&&console.time(\"clipping\");var g,v,m,y,x,w,S=.5*l.buffer/l.extent,I=.5-S,M=.5+S,b=1+S;g=v=m=y=null,x=re(e,h,r-S,r+M,0,p.minX,p.maxX,l),w=re(e,h,r+I,r+b,0,p.minX,p.maxX,l),e=null,x&&(g=re(x,h,i-S,i+M,1,p.minY,p.maxY,l),v=re(x,h,i+I,i+b,1,p.minY,p.maxY,l),x=null),w&&(m=re(w,h,i-S,i+M,1,p.minY,p.maxY,l),y=re(w,h,i+I,i+b,1,p.minY,p.maxY,l),w=null),u>1&&console.timeEnd(\"clipping\"),s.push(g||[],t+1,2*r,2*i),s.push(v||[],t+1,2*r,2*i+1),s.push(m||[],t+1,2*r+1,2*i),s.push(y||[],t+1,2*r+1,2*i+1);}}},me.prototype.getTile=function(e,t,r){var i=this.options,o=i.extent,n=i.debug;if(e<0||e>24)return null;var a=1<<e,s=ye(e,t=(t%a+a)%a,r);if(this.tiles[s])return pe(this.tiles[s],o);n>1&&console.log(\"drilling down to z%d-%d-%d\",e,t,r);for(var l,u=e,h=t,c=r;!l&&u>0;)u--,h=Math.floor(h/2),c=Math.floor(c/2),l=this.tiles[ye(u,h,c)];return l&&l.source?(n>1&&console.log(\"found parent tile z%d-%d-%d\",u,h,c),n>1&&console.time(\"drilling down\"),this.splitTile(l.source,u,h,c,e,t,r),n>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?pe(this.tiles[s],o):null):null};var we=function(t){function r(e,r,i,o){t.call(this,e,r,i,xe),o&&(this.loadGeoJSON=o);}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r.prototype.loadData=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=t,this._pendingLoadDataParams=e,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData());},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,i=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var o=!!(i&&i.request&&i.request.collectResourceTiming)&&new e.RequestPerformance(i.request);this.loadGeoJSON(i,(function(n,a){if(n||!a)return r(n);if(\"object\"!=typeof a)return r(new Error(\"Input data given to '\"+i.source+\"' is not a valid GeoJSON object.\"));!function e(t,r){var i,o=t&&t.type;if(\"FeatureCollection\"===o)for(i=0;i<t.features.length;i++)e(t.features[i],r);else if(\"GeometryCollection\"===o)for(i=0;i<t.geometries.length;i++)e(t.geometries[i],r);else if(\"Feature\"===o)e(t.geometry,r);else if(\"Polygon\"===o)c(t.coordinates,r);else if(\"MultiPolygon\"===o)for(i=0;i<t.coordinates.length;i++)c(t.coordinates[i],r);return t}(a,!0);try{if(i.filter){var s=e.createExpression(i.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===s.result)throw new Error(s.value.map((function(e){return e.key+\": \"+e.message})).join(\", \"));var l=a.features.filter((function(e){return s.value.evaluate({zoom:0},e)}));a={type:\"FeatureCollection\",features:l};}t._geoJSONIndex=i.cluster?new J(function(t){var r=t.superclusterOptions,i=t.clusterProperties;if(!i||!r)return r;for(var o={},n={},a={accumulated:null,zoom:0},s={properties:null},l=Object.keys(i),u=0,h=l;u<h.length;u+=1){var c=h[u],p=i[c],f=p[0],d=e.createExpression(p[1]),g=e.createExpression(\"string\"==typeof f?[f,[\"accumulated\"],[\"get\",c]]:f);o[c]=d.value,n[c]=g.value;}return r.map=function(e){s.properties=e;for(var t={},r=0,i=l;r<i.length;r+=1){var n=i[r];t[n]=o[n].evaluate(a,s);}return t},r.reduce=function(e,t){s.properties=t;for(var r=0,i=l;r<i.length;r+=1){var o=i[r];a.accumulated=e[o],e[o]=n[o].evaluate(a,s);}},r}(i)).load(a.features):function(e,t){return new me(e,t)}(a,i.geojsonVtOptions);}catch(n){return r(n)}t.loaded={};var u={};if(o){var h=o.finish();h&&(u.resourceTiming={},u.resourceTiming[i.source]=JSON.parse(JSON.stringify(h)));}r(null,u);}));}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData());},r.prototype.reloadTile=function(e,r){var i=this.loaded;return i&&i[e.uid]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},r.prototype.loadGeoJSON=function(t,r){if(t.request)e.getJSON(t.request,r);else {if(\"string\"!=typeof t.data)return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(t.data))}catch(e){return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t();},r.prototype.getClusterExpansionZoom=function(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}},r.prototype.getClusterChildren=function(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}},r.prototype.getClusterLeaves=function(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}},r}(l),Se=function(t){var r=this;this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:we},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(e,t){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=function(t){if(e.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};};return Se.prototype.setReferrer=function(e,t){this.referrer=t;},Se.prototype.setImages=function(e,t,r){for(var i in this.availableImages[e]=t,this.workerSources[e]){var o=this.workerSources[e][i];for(var n in o)o[n].availableImages=t;}r();},Se.prototype.setLayers=function(e,t,r){this.getLayerIndex(e).replace(t),r();},Se.prototype.updateLayers=function(e,t,r){this.getLayerIndex(e).update(t.layers,t.removedIds),r();},Se.prototype.loadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).loadTile(t,r);},Se.prototype.loadDEMTile=function(e,t,r){this.getDEMWorkerSource(e,t.source).loadTile(t,r);},Se.prototype.reloadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).reloadTile(t,r);},Se.prototype.abortTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).abortTile(t,r);},Se.prototype.removeTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).removeTile(t,r);},Se.prototype.removeDEMTile=function(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t);},Se.prototype.removeSource=function(e,t,r){if(this.workerSources[e]&&this.workerSources[e][t.type]&&this.workerSources[e][t.type][t.source]){var i=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==i.removeSource?i.removeSource(t,r):r();}},Se.prototype.loadWorkerSource=function(e,t,r){try{this.self.importScripts(t.url),r();}catch(e){r(e.toString());}},Se.prototype.syncRTLPluginState=function(t,r,i){try{e.plugin.setState(r);var o=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=o){this.self.importScripts(o);var n=e.plugin.isParsed();i(n?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+o),n);}}catch(e){i(e.toString());}},Se.prototype.getAvailableImages=function(e){var t=this.availableImages[e];return t||(t=[]),t},Se.prototype.getLayerIndex=function(e){var t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new i),t},Se.prototype.getWorkerSource=function(e,t,r){var i=this;return this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),this.workerSources[e][t][r]||(this.workerSources[e][t][r]=new this.workerSourceTypes[t]({send:function(t,r,o){i.actor.send(t,r,o,e);}},this.getLayerIndex(e),this.getAvailableImages(e))),this.workerSources[e][t][r]},Se.prototype.getDEMWorkerSource=function(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new h),this.demWorkerSources[e][t]},Se.prototype.enforceCacheSizeLimit=function(t,r){e.enforceCacheSizeLimit(r);},\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new Se(self)),Se}));\n\ndefine([\"./shared\"],(function(t){\"use strict\";var e=t.createCommonjsModule((function(t){function e(t){return !i(t)}function i(t){return \"undefined\"==typeof window||\"undefined\"==typeof document?\"not a browser\":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return !1;var t,e,i=new Blob([\"\"],{type:\"text/javascript\"}),o=URL.createObjectURL(i);try{e=new Worker(o),t=!0;}catch(e){t=!1;}return e&&e.terminate(),URL.revokeObjectURL(o),t}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var t=document.createElement(\"canvas\");t.width=t.height=1;var e=t.getContext(\"2d\");if(!e)return !1;var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===o[i=t&&t.failIfMajorPerformanceCaveat]&&(o[i]=function(t){var i=function(t){var i=document.createElement(\"canvas\"),o=Object.create(e.webGLContextAttributes);return o.failIfMajorPerformanceCaveat=t,i.probablySupportsContext?i.probablySupportsContext(\"webgl\",o)||i.probablySupportsContext(\"experimental-webgl\",o):i.supportsContext?i.supportsContext(\"webgl\",o)||i.supportsContext(\"experimental-webgl\",o):i.getContext(\"webgl\",o)||i.getContext(\"experimental-webgl\",o)}(t);if(!i)return !1;var o=i.createShader(i.VERTEX_SHADER);return !(!o||i.isContextLost())&&(i.shaderSource(o,\"void main() {}\"),i.compileShader(o),!0===i.getShaderParameter(o,i.COMPILE_STATUS))}(i)),o[i]?void 0:\"insufficient WebGL support\"):\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\";var i;}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=i);var o={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};})),i={create:function(e,i,o){var r=t.window.document.createElement(e);return void 0!==i&&(r.className=i),o&&o.appendChild(r),r},createNS:function(e,i){return t.window.document.createElementNS(e,i)}},o=t.window.document&&t.window.document.documentElement.style;function r(t){if(!o)return t[0];for(var e=0;e<t.length;e++)if(t[e]in o)return t[e];return t[0]}var a,n=r([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);i.disableDrag=function(){o&&n&&(a=o[n],o[n]=\"none\");},i.enableDrag=function(){o&&n&&(o[n]=a);};var s=r([\"transform\",\"WebkitTransform\"]);i.setTransform=function(t,e){t.style[s]=e;};var l=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){l=!0;}});t.window.addEventListener(\"test\",c,c),t.window.removeEventListener(\"test\",c,c);}catch(t){l=!1;}i.addEventListener=function(t,e,i,o){void 0===o&&(o={}),t.addEventListener(e,i,\"passive\"in o&&l?o:o.capture);},i.removeEventListener=function(t,e,i,o){void 0===o&&(o={}),t.removeEventListener(e,i,\"passive\"in o&&l?o:o.capture);};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener(\"click\",u,!0);};function h(t){var e=t.userImage;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}i.suppressClick=function(){t.window.addEventListener(\"click\",u,!0),t.window.setTimeout((function(){t.window.removeEventListener(\"click\",u,!0);}),0);},i.mousePos=function(e,i){var o=e.getBoundingClientRect();return new t.Point(i.clientX-o.left-e.clientLeft,i.clientY-o.top-e.clientTop)},i.touchPos=function(e,i){for(var o=e.getBoundingClientRect(),r=[],a=0;a<i.length;a++)r.push(new t.Point(i[a].clientX-o.left-e.clientLeft,i[a].clientY-o.top-e.clientTop));return r},i.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:e.button},i.remove=function(t){t.parentNode&&t.parentNode.removeChild(t);};var p=function(e){function i(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.isLoaded=function(){return this.loaded},i.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,i=this.requestors;e<i.length;e+=1){var o=i[e];this._notify(o.ids,o.callback);}this.requestors=[];}},i.prototype.getImage=function(t){return this.images[t]},i.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e);},i.prototype._validate=function(e,i){var o=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchX\" value'))),o=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchY\" value'))),o=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"content\" value'))),o=!1),o},i.prototype._validateStretch=function(t,e){if(!t)return !0;for(var i=0,o=0,r=t;o<r.length;o+=1){var a=r[o];if(a[0]<i||a[1]<a[0]||e<a[1])return !1;i=a[1];}return !0},i.prototype._validateContent=function(t,e){return !(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},i.prototype.updateImage=function(t,e){e.version=this.images[t].version+1,this.images[t]=e,this.updatedImages[t]=!0;},i.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove();},i.prototype.listImages=function(){return Object.keys(this.images)},i.prototype.getImages=function(t,e){var i=!0;if(!this.isLoaded())for(var o=0,r=t;o<r.length;o+=1)this.images[r[o]]||(i=!1);this.isLoaded()||i?this._notify(t,e):this.requestors.push({ids:t,callback:e});},i.prototype._notify=function(e,i){for(var o={},r=0,a=e;r<a.length;r+=1){var n=a[r];this.images[n]||this.fire(new t.Event(\"styleimagemissing\",{id:n}));var s=this.images[n];s?o[n]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image \"'+n+'\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.');}i(null,o);},i.prototype.getPixelSize=function(){var t=this.atlasImage;return {width:t.width,height:t.height}},i.prototype.getPattern=function(e){var i=this.patterns[e],o=this.getImage(e);if(!o)return null;if(i&&i.position.version===o.version)return i.position;if(i)i.position.version=o.version;else {var r={w:o.data.width+2,h:o.data.height+2,x:0,y:0},a=new t.ImagePosition(r,o);this.patterns[e]={bin:r,position:a};}return this._updatePatternAtlas(),this.patterns[e].position},i.prototype.bind=function(e){var i=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,i.RGBA),this.atlasTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE);},i.prototype._updatePatternAtlas=function(){var e=[];for(var i in this.patterns)e.push(this.patterns[i].bin);var o=t.potpack(e),r=o.w,a=o.h,n=this.atlasImage;for(var s in n.resize({width:r||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,h=this.images[s].data,p=h.width,d=h.height;t.RGBAImage.copy(h,n,{x:0,y:0},{x:c,y:u},{width:p,height:d}),t.RGBAImage.copy(h,n,{x:0,y:d-1},{x:c,y:u-1},{width:p,height:1}),t.RGBAImage.copy(h,n,{x:0,y:0},{x:c,y:u+d},{width:p,height:1}),t.RGBAImage.copy(h,n,{x:p-1,y:0},{x:c-1,y:u},{width:1,height:d}),t.RGBAImage.copy(h,n,{x:0,y:0},{x:c+p,y:u},{width:1,height:d});}this.dirty=!0;},i.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={};},i.prototype.dispatchRenderCallbacks=function(t){for(var e=0,i=t;e<i.length;e+=1){var o=i[e];if(!this.callbackDispatchedThisFrame[o]){this.callbackDispatchedThisFrame[o]=!0;var r=this.images[o];h(r)&&this.updateImage(o,r);}}},i}(t.Evented),d=m,_=m,f=1e20;function m(t,e,i,o,r,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=o||.25,this.fontFamily=r||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=i||8;var n=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=n,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.d=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Int16Array(n),this.middle=Math.round(n/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1));}function g(t,e,i,o,r,a,n){for(var s=0;s<e;s++){for(var l=0;l<i;l++)o[l]=t[l*e+s];for(v(o,r,a,n,i),l=0;l<i;l++)t[l*e+s]=r[l];}for(l=0;l<i;l++){for(s=0;s<e;s++)o[s]=t[l*e+s];for(v(o,r,a,n,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(r[s]);}}function v(t,e,i,o,r){i[0]=0,o[0]=-f,o[1]=+f;for(var a=1,n=0;a<r;a++){for(var s=(t[a]+a*a-(t[i[n]]+i[n]*i[n]))/(2*a-2*i[n]);s<=o[n];)n--,s=(t[a]+a*a-(t[i[n]]+i[n]*i[n]))/(2*a-2*i[n]);i[++n]=a,o[n]=s,o[n+1]=+f;}for(a=0,n=0;a<r;a++){for(;o[n+1]<a;)n++;e[a]=(a-i[n])*(a-i[n])+t[i[n]];}}m.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),i=new Uint8ClampedArray(this.size*this.size),o=0;o<this.size*this.size;o++){var r=e.data[4*o+3]/255;this.gridOuter[o]=1===r?0:0===r?f:Math.pow(Math.max(0,.5-r),2),this.gridInner[o]=1===r?f:0===r?0:Math.pow(Math.max(0,r-.5),2);}for(g(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),g(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),o=0;o<this.size*this.size;o++)i[o]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[o]-this.gridInner[o])/this.radius+this.cutoff))));return i},d.default=_;var y=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={};};y.prototype.setURL=function(t){this.url=t;},y.prototype.getGlyphs=function(e,i){var o=this,r=[];for(var a in e)for(var n=0,s=e[a];n<s.length;n+=1)r.push({stack:a,id:s[n]});t.asyncAll(r,(function(t,e){var i=t.stack,r=t.id,a=o.entries[i];a||(a=o.entries[i]={glyphs:{},requests:{},ranges:{}});var n=a.glyphs[r];if(void 0===n){if(n=o._tinySDF(a,i,r))return a.glyphs[r]=n,void e(null,{stack:i,id:r,glyph:n});var s=Math.floor(r/256);if(256*s>65535)e(new Error(\"glyphs > 65535 not supported\"));else if(a.ranges[s])e(null,{stack:i,id:r,glyph:n});else {var l=a.requests[s];l||(l=a.requests[s]=[],y.loadGlyphRange(i,s,o.url,o.requestManager,(function(t,e){if(e){for(var i in e)o._doesCharSupportLocalGlyph(+i)||(a.glyphs[+i]=e[+i]);a.ranges[s]=!0;}for(var r=0,n=l;r<n.length;r+=1)(0,n[r])(t,e);delete a.requests[s];}))),l.push((function(t,o){t?e(t):o&&e(null,{stack:i,id:r,glyph:o[r]||null});}));}}else e(null,{stack:i,id:r,glyph:n});}),(function(t,e){if(t)i(t);else if(e){for(var o={},r=0,a=e;r<a.length;r+=1){var n=a[r],s=n.stack,l=n.id,c=n.glyph;(o[s]||(o[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics};}i(null,o);}}));},y.prototype._doesCharSupportLocalGlyph=function(e){return !!this.localIdeographFontFamily&&(t.isChar[\"CJK Unified Ideographs\"](e)||t.isChar[\"Hangul Syllables\"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},y.prototype._tinySDF=function(e,i,o){var r=this.localIdeographFontFamily;if(r&&this._doesCharSupportLocalGlyph(o)){var a=e.tinySDF;if(!a){var n=\"400\";/bold/i.test(i)?n=\"900\":/medium/i.test(i)?n=\"500\":/light/i.test(i)&&(n=\"200\"),a=e.tinySDF=new y.TinySDF(24,3,8,.25,r,n);}return {id:o,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(o))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},y.loadGlyphRange=function(e,i,o,r,a){var n=256*i,s=n+255,l=r.transformRequest(r.normalizeGlyphsURL(o).replace(\"{fontstack}\",e).replace(\"{range}\",n+\"-\"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,i){if(e)a(e);else if(i){for(var o={},r=0,n=t.parseGlyphPBF(i);r<n.length;r+=1){var s=n[r];o[s.id]=s;}a(null,o);}}));},y.TinySDF=d;var x=function(){this.specification=t.styleSpec.light.position;};x.prototype.possiblyEvaluate=function(e,i){return t.sphericalToCartesian(e.expression.evaluate(i))},x.prototype.interpolate=function(e,i,o){return {x:t.number(e.x,i.x,o),y:t.number(e.y,i.y,o),z:t.number(e.z,i.z,o)}};var b=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new x,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function i(i){e.call(this),this._transitionable=new t.Transitionable(b),this.setLight(i),this._transitioning=this._transitionable.untransitioned();}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getLight=function(){return this._transitionable.serialize()},i.prototype.setLight=function(e,i){if(void 0===i&&(i={}),!this._validate(t.validateLight,e,i))for(var o in e){var r=e[o];t.endsWith(o,\"-transition\")?this._transitionable.setTransition(o.slice(0,-\"-transition\".length),r):this._transitionable.setValue(o,r);}},i.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning);},i.prototype.hasTransition=function(){return this._transitioning.hasTransition()},i.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t);},i.prototype._validate=function(e,i,o){return (!o||!1!==o.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},i}(t.Evented),T=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={};};T.prototype.getDash=function(t,e){var i=t.join(\",\")+String(e);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(t,e)),this.dashEntry[i]},T.prototype.getDashRanges=function(t,e,i){var o=[],r=t.length%2==1?-t[t.length-1]*i:0,a=t[0]*i,n=!0;o.push({left:r,right:a,isDash:n,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){var c=t[l];o.push({left:r=s*i,right:a=(s+=c)*i,isDash:n=!n,zeroLength:0===c});}return o},T.prototype.addRoundDash=function(t,e,i){for(var o=e/2,r=-i;r<=i;r++)for(var a=this.width*(this.nextRow+i+r),n=0,s=t[n],l=0;l<this.width;l++){l/s.right>1&&(s=t[++n]);var c=Math.abs(l-s.left),u=Math.abs(l-s.right),h=Math.min(c,u),p=void 0,d=r/i*(o+1);if(s.isDash){var _=o-Math.abs(d);p=Math.sqrt(h*h+_*_);}else p=o-Math.sqrt(h*h+d*d);this.data[a+l]=Math.max(0,Math.min(255,p+128));}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var i=t[e],o=t[e+1];i.zeroLength?t.splice(e,1):o&&o.isDash===i.isDash&&(o.left=i.left,t.splice(e,1));}var r=t[0],a=t[t.length-1];r.isDash===a.isDash&&(r.left=a.left-this.width,a.right=r.right+this.width);for(var n=this.width*this.nextRow,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),p=Math.min(u,h);this.data[n+c]=Math.max(0,Math.min(255,(l.isDash?p:-p)+128));}},T.prototype.addDash=function(e,i){var o=i?7:0,r=2*o+1;if(this.nextRow+r>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,n=0;n<e.length;n++)a+=e[n];if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);i?this.addRoundDash(l,s,o):this.addRegularDash(l);}var c={y:(this.nextRow+o+.5)/this.height,height:2*o/this.height,width:a};return this.nextRow+=r,this.dirty=!0,c},T.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data));};var E=function e(i,o){this.workerPool=i,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var n=new e.Actor(r[a],o,this.id);n.name=\"Worker \"+a,this.actors.push(n);}};function I(e,i,o){var r=function(r,a){if(r)return o(r);if(a){var n=t.pick(t.extend(a,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(n.vectorLayers=a.vector_layers,n.vectorLayerIds=n.vectorLayers.map((function(t){return t.id}))),n.tiles=i.canonicalizeTileset(n,e.url),o(null,n);}};return e.url?t.getJSON(i.transformRequest(i.normalizeSourceURL(e.url),t.ResourceType.Source),r):t.browser.frame((function(){return r(null,e)}))}E.prototype.broadcast=function(e,i,o){t.asyncAll(this.actors,(function(t,o){t.send(e,i,o);}),o=o||function(){});},E.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},E.prototype.remove=function(){this.actors.forEach((function(t){t.remove();})),this.actors=[],this.workerPool.release(this.id);},E.Actor=t.Actor;var P=function(e,i,o){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=o||24;};P.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},P.prototype.contains=function(e){var i=Math.pow(2,e.z),o=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),r=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),n=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=o&&e.x<a&&e.y>=r&&e.y<n};var S=function(e){function i(i,o,r,a){if(e.call(this),this.id=i,this.dispatcher=r,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(o,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=t.extend({type:\"vector\"},o),this._collectResourceTiming=o.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=I(this._options,this.map._requestManager,(function(i,o){e._tileJSONRequest=null,e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(t.extend(e,o),o.bounds&&(e.tileBounds=new P(o.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(o.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(o.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setSourceProperty=function(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.map.style.sourceCaches[this.id].clearTiles(),this.load();},i.prototype.setTiles=function(t){var e=this;return this.setSourceProperty((function(){e._options.tiles=t;})),this},i.prototype.setUrl=function(t){var e=this;return this.setSourceProperty((function(){e.url=t,e._options.url=t;})),this},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.loadTile=function(e,i){var o=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(o,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(o,r){return delete e.request,e.aborted?i(null):o&&404!==o.status?i(o):(r&&r.resourceTiming&&(e.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&e.setExpiryData(r),e.loadVectorData(r,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}r.request.collectResourceTiming=this._collectResourceTiming,e.actor&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=i:e.request=e.actor.send(\"reloadTile\",r,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send(\"loadTile\",r,a.bind(this)));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.hasTransition=function(){return !1},i}(t.Evented),C=function(e){function i(i,o,r,a){e.call(this),this.id=i,this.dispatcher=r,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:\"raster\"},o),t.extend(this,t.pick(o,[\"url\",\"scheme\",\"tileSize\"]));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=I(this._options,this.map._requestManager,(function(i,o){e._tileJSONRequest=null,e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(t.extend(e,o),o.bounds&&(e.tileBounds=new P(o.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(o.tiles),t.postMapLoadEvent(o.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.loadTile=function(e,i){var o=this,r=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),(function(r,a){if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(r)e.state=\"errored\",i(r);else if(a){o.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var n=o.map.painter.context,s=n.gl;e.texture=o.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.Texture(n,a,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),n.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,n.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,n.extTextureFilterAnisotropicMax)),e.state=\"loaded\",t.cacheEntryPossiblyAdded(o.dispatcher),i(null);}}));},i.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e();},i.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e();},i.prototype.hasTransition=function(){return !1},i}(t.Evented),z=function(e){function i(i,o,r,a){e.call(this,i,o,r,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},o),this.encoding=o.encoding||\"mapbox\";}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.serialize=function(){return {type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},i.prototype.loadTile=function(e,i){var o=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function r(t,o){t&&(e.state=\"errored\",i(t)),o&&(e.dem=o,e.needsHillshadePrepare=!0,e.state=\"loaded\",i(null));}e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),function(o,a){if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(o)e.state=\"errored\",i(o);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var n=t.window.ImageBitmap&&a instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?a:t.browser.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:n,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",s,r.bind(this)));}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID);},i.prototype._getNeighboringTiles=function(e){var i=e.canonical,o=Math.pow(2,i.z),r=(i.x-1+o)%o,a=0===i.x?e.wrap-1:e.wrap,n=(i.x+1+o)%o,s=i.x+1===o?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1}),i.y+1<o&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y+1).key]={backfilled:!1}),l},i.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",t.actor&&t.actor.send(\"removeDEMTile\",{uid:t.uid,source:this.id});},i}(C),D=function(e){function i(i,o,r,a){e.call(this),this.id=i,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=r.getActor(),this.setEventedParent(a),this._data=o.data,this._options=t.extend({},o),this._collectResourceTiming=o.collectResourceTiming,this._resourceTiming=[],void 0!==o.maxzoom&&(this.maxzoom=o.maxzoom),o.type&&(this.type=o.type),o.attribution&&(this.attribution=o.attribution),this.promoteId=o.promoteId;var n=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:o.cluster||!1,geojsonVtOptions:{buffer:(void 0!==o.buffer?o.buffer:128)*n,tolerance:(void 0!==o.tolerance?o.tolerance:.375)*n,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:o.lineMetrics||!1,generateId:o.generateId||!1},superclusterOptions:{maxZoom:void 0!==o.clusterMaxZoom?Math.min(o.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,o.clusterMinPoints||2),extent:t.EXTENT,radius:(o.clusterRadius||50)*n,log:!1,generateId:o.generateId||!1},clusterProperties:o.clusterProperties,filter:o.filter},o.workerOptions);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(i){if(i)e.fire(new t.ErrorEvent(i));else {var o={dataType:\"source\",sourceDataType:\"metadata\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(o.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",o));}}));},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setData=function(e){var i=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)i.fire(new t.ErrorEvent(e));else {var o={dataType:\"source\",sourceDataType:\"content\"};i._collectResourceTiming&&i._resourceTiming&&i._resourceTiming.length>0&&(o.resourceTiming=i._resourceTiming,i._resourceTiming=[]),i.fire(new t.Event(\"data\",o));}})),this},i.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},i.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},i.prototype.getClusterLeaves=function(t,e,i,o){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:i},o),this},i.prototype._updateWorkerData=function(e){var i=this;this._loaded=!1;var o=t.extend({},this.workerOptions),r=this._data;\"string\"==typeof r?(o.request=this.map._requestManager.transformRequest(t.browser.resolveURL(r),t.ResourceType.Source),o.request.collectResourceTiming=this._collectResourceTiming):o.data=JSON.stringify(r),this.actor.send(this.type+\".loadData\",o,(function(t,r){i._removed||r&&r.abandoned||(i._loaded=!0,r&&r.resourceTiming&&r.resourceTiming[i.id]&&(i._resourceTiming=r.resourceTiming[i.id].slice(0)),i.actor.send(i.type+\".coalesce\",{source:o.source},null),e(t));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.loadTile=function(e,i){var o=this,r=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor,e.request=this.actor.send(r,{type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?i(null):t?i(t):(e.loadVectorData(a,o.map.painter,\"reloadTile\"===r),i(null))}));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0;},i.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id});},i.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id});},i.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},i.prototype.hasTransition=function(){return !1},i}(t.Evented),A=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),M=function(e){function i(t,i,o,r){e.call(this),this.id=t,this.dispatcher=o,this.coordinates=i.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(e,i){var o=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(r,a){o._loaded=!0,r?o.fire(new t.ErrorEvent(r)):a&&(o.image=a,e&&(o.coordinates=e),i&&i(),o._finishLoading());}));},i.prototype.loaded=function(){return this._loaded},i.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null;})),this):this},i.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setCoordinates=function(e){var i=this;this.coordinates=e;var o=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var i=1/0,o=1/0,r=-1/0,a=-1/0,n=0,s=e;n<s.length;n+=1){var l=s[n];i=Math.min(i,l.x),o=Math.min(o,l.y),r=Math.max(r,l.x),a=Math.max(a,l.y);}var c=Math.max(r-i,a-o),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2)),h=Math.pow(2,u);return new t.CanonicalTileID(u,Math.floor((i+r)/2*h),Math.floor((o+a)/2*h))}(o),this.minzoom=this.maxzoom=this.tileID.z;var r=o.map((function(t){return i.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(r[2].x,r[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},i.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,i=e.gl;for(var o in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var r=this.tiles[o];\"loaded\"!==r.state&&(r.state=\"loaded\",r.texture=this.texture);}}},i.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null));},i.prototype.serialize=function(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return !1},i}(t.Evented),L=function(e){function i(t,i,o,r){e.call(this,t,i,o,r),this.roundZoom=!0,this.type=\"video\",this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1;var i=this.options;this.urls=[];for(var o=0,r=i.urls;o<r.length;o+=1)this.urls.push(this.map._requestManager.transformRequest(r[o],t.ResourceType.Source).url);t.getVideo(this.urls,(function(i,o){e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(e.video=o,e.video.loop=!0,e.video.setAttribute(\"playsinline\",\"\"),e.video.addEventListener(\"playing\",(function(){e.map.triggerRepaint();})),e.map&&e.video.play(),e._finishLoading());}));},i.prototype.pause=function(){this.video&&this.video.pause();},i.prototype.play=function(){this.video&&this.video.play();},i.prototype.seek=function(e){if(this.video){var i=this.video.seekable;e<i.start(0)||e>i.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+i.start(0)+\" and \"+i.end(0)+\"-second mark.\"))):this.video.currentTime=e;}},i.prototype.getVideo=function(){return this.video},i.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));},i.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,i=e.gl;for(var o in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var r=this.tiles[o];\"loaded\"!==r.state&&(r.state=\"loaded\",r.texture=this.texture);}}},i.prototype.serialize=function(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this.video&&!this.video.paused},i}(M),R=function(e){function i(i,o,r,a){e.call(this,i,o,r,a),o.coordinates?Array.isArray(o.coordinates)&&4===o.coordinates.length&&!o.coordinates.some((function(t){return !Array.isArray(t)||2!==t.length||t.some((function(t){return \"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'missing required property \"coordinates\"'))),o.animate&&\"boolean\"!=typeof o.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'optional \"animate\" property must be a boolean value'))),o.canvas?\"string\"==typeof o.canvas||o.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'missing required property \"canvas\"'))),this.options=o,this.animate=void 0===o.animate||o.animate;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();},i.prototype.onRemove=function(){this.pause();},i.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var i=this.map.painter.context,o=i.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(i,this.canvas,o.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[r];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture);}}},i.prototype.serialize=function(){return {type:\"canvas\",coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this._playing},i.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var i=e[t];if(isNaN(i)||i<=0)return !0}return !1},i}(M),k={vector:S,raster:C,\"raster-dem\":z,geojson:D,video:L,image:M,canvas:R};function B(e,i){var o=t.identity([]);return t.translate(o,o,[1,1,0]),t.scale(o,o,[.5*e.width,.5*e.height,1]),t.multiply(o,o,e.calculatePosMatrix(i.toUnwrapped()))}function O(t,e,i,o,r,a){var n=function(t,e,i){if(t)for(var o=0,r=t;o<r.length;o+=1){var a=e[r[o]];if(a&&a.source===i&&\"fill-extrusion\"===a.type)return !0}else for(var n in e){var s=e[n];if(s.source===i&&\"fill-extrusion\"===s.type)return !0}return !1}(r&&r.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(o,s,n);l.sort(F);for(var c=[],u=0,h=l;u<h.length;u+=1){var p=h[u];c.push({wrappedTileID:p.tileID.wrapped().key,queryResults:p.tile.queryRenderedFeatures(e,i,t._state,p.queryGeometry,p.cameraQueryGeometry,p.scale,r,a,s,B(t.transform,p.tileID))});}var d=function(t){for(var e={},i={},o=0,r=t;o<r.length;o+=1){var a=r[o],n=a.queryResults,s=a.wrappedTileID,l=i[s]=i[s]||{};for(var c in n)for(var u=n[c],h=l[c]=l[c]||{},p=e[c]=e[c]||[],d=0,_=u;d<_.length;d+=1){var f=_[d];h[f.featureIndex]||(h[f.featureIndex]=!0,p.push(f));}}return e}(c);for(var _ in d)d[_].forEach((function(e){var i=e.feature,o=t.getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=o;}));return d}function F(t,e){var i=t.tileID,o=e.tileID;return i.overscaledZ-o.overscaledZ||i.canonical.y-o.canonical.y||i.wrap-o.wrap||i.canonical.x-o.canonical.x}var U=function(t,e){this.max=t,this.onRemove=e,this.reset();};U.prototype.reset=function(){for(var t in this.data)for(var e=0,i=this.data[t];e<i.length;e+=1){var o=i[e];o.timeout&&clearTimeout(o.timeout),this.onRemove(o.value);}return this.data={},this.order=[],this},U.prototype.add=function(t,e,i){var o=this,r=t.wrapped().key;void 0===this.data[r]&&(this.data[r]=[]);var a={value:e,timeout:void 0};if(void 0!==i&&(a.timeout=setTimeout((function(){o.remove(t,a);}),i)),this.data[r].push(a),this.order.push(r),this.order.length>this.max){var n=this._getAndRemoveByKey(this.order[0]);n&&this.onRemove(n);}return this},U.prototype.has=function(t){return t.wrapped().key in this.data},U.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},U.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},U.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},U.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},U.prototype.remove=function(t,e){if(!this.has(t))return this;var i=t.wrapped().key,o=void 0===e?0:this.data[i].indexOf(e),r=this.data[i][o];return this.data[i].splice(o,1),r.timeout&&clearTimeout(r.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(r.value),this.order.splice(this.order.indexOf(i),1),this},U.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e);}return this},U.prototype.filter=function(t){var e=[];for(var i in this.data)for(var o=0,r=this.data[i];o<r.length;o+=1){var a=r[o];t(a.value)||e.push(a);}for(var n=0,s=e;n<s.length;n+=1){var l=s[n];this.remove(l.value.tileID,l);}};var N=function(t,e,i){this.context=t;var o=t.gl;this.buffer=o.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};N.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer);},N.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);},N.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var Z={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},q=function(t,e,i,o){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=o,this.context=t;var r=t.gl;this.buffer=r.createBuffer(),t.bindVertexBuffer.set(this.buffer),r.bufferData(r.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};q.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer);},q.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);},q.prototype.enableAttributes=function(t,e){for(var i=0;i<this.attributes.length;i++){var o=e.attributes[this.attributes[i].name];void 0!==o&&t.enableVertexAttribArray(o);}},q.prototype.setVertexAttribPointers=function(t,e,i){for(var o=0;o<this.attributes.length;o++){var r=this.attributes[o],a=e.attributes[r.name];void 0!==a&&t.vertexAttribPointer(a,r.components,t[Z[r.type]],!1,this.itemSize,r.offset+this.itemSize*(i||0));}},q.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var j=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1;};j.prototype.get=function(){return this.current},j.prototype.set=function(t){},j.prototype.getDefault=function(){return this.default},j.prototype.setDefault=function(){this.set(this.default);};var V=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(j),G=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1);},e}(j),W=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1);},e}(j),X=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(j),H=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1);},e}(j),K=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1);},e}(j),Y=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return {func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1);},e}(j),J=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1);},e}(j),Q=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1;}},e}(j),$=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1);},e}(j),tt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1;}},e}(j),et=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1);},e}(j),it=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1;}},e}(j),ot=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1);},e}(j),rt=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(j),at=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1);},e}(j),nt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1;}},e}(j),st=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1);},e}(j),lt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1);},e}(j),ct=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1);},e}(j),ut=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1);},e}(j),ht=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(j),pt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1;}},e}(j),dt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(j),_t=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1;}},e}(j),ft=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1;}},e}(j),mt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1;},e}(j),gt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1);},e}(j),vt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1;}},e}(j),yt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1;}},e}(j),xt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1;}},e}(j),bt=function(t){function e(e,i){t.call(this,e),this.context=e,this.parent=i;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e}(j),wt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.setDirty=function(){this.dirty=!0;},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1;}},e}(bt),Tt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(bt),Et=function(t,e,i,o){this.context=t,this.width=e,this.height=i;var r=this.framebuffer=t.gl.createFramebuffer();this.colorAttachment=new wt(t,r),o&&(this.depthAttachment=new Tt(t,r));};Et.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var i=this.depthAttachment.get();i&&t.deleteRenderbuffer(i);}t.deleteFramebuffer(this.framebuffer);};var It=function(t,e,i){this.func=t,this.mask=e,this.range=i;};It.ReadOnly=!1,It.ReadWrite=!0,It.disabled=new It(519,It.ReadOnly,[0,1]);var Pt=function(t,e,i,o,r,a){this.test=t,this.ref=e,this.mask=i,this.fail=o,this.depthFail=r,this.pass=a;};Pt.disabled=new Pt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,i){this.blendFunction=t,this.blendColor=e,this.mask=i;};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Ct=function(t,e,i){this.enable=t,this.mode=e,this.frontFace=i;};Ct.disabled=new Ct(!1,1029,2305),Ct.backCCW=new Ct(!0,1029,2305);var zt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new V(this),this.clearDepth=new G(this),this.clearStencil=new W(this),this.colorMask=new X(this),this.depthMask=new H(this),this.stencilMask=new K(this),this.stencilFunc=new Y(this),this.stencilOp=new J(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new it(this),this.blendFunc=new ot(this),this.blendColor=new rt(this),this.blendEquation=new at(this),this.cullFace=new nt(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ht(this),this.bindFramebuffer=new pt(this),this.bindRenderbuffer=new dt(this),this.bindTexture=new _t(this),this.bindVertexBuffer=new ft(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new gt(this),this.pixelStoreUnpack=new vt(this),this.pixelStoreUnpackPremultiplyAlpha=new yt(this),this.pixelStoreUnpackFlipY=new xt(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(t.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=t.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=t.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE);};zt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault();},zt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0;},zt.prototype.createIndexBuffer=function(t,e){return new N(this,t,e)},zt.prototype.createVertexBuffer=function(t,e,i){return new q(this,t,e,i)},zt.prototype.createRenderbuffer=function(t,e,i){var o=this.gl,r=o.createRenderbuffer();return this.bindRenderbuffer.set(r),o.renderbufferStorage(o.RENDERBUFFER,t,e,i),this.bindRenderbuffer.set(null),r},zt.prototype.createFramebuffer=function(t,e,i){return new Et(this,t,e,i)},zt.prototype.clear=function(t){var e=t.color,i=t.depth,o=this.gl,r=0;e&&(r|=o.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==i&&(r|=o.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(i),this.depthMask.set(!0)),o.clear(r);},zt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace));},zt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1);},zt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1);},zt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask);},zt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null);};var Dt=function(e){function i(i,o,r){var a=this;e.call(this),this.id=i,this.dispatcher=r,this.on(\"data\",(function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform));})),this.on(\"error\",(function(){a._sourceErrored=!0;})),this._source=function(e,i,o,r){var a=new k[i.type](e,i,o,r);if(a.id!==e)throw new Error(\"Expected Source id to be \"+e+\" instead of \"+a.id);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],a),a}(i,o,r,this),this._tiles={},this._cache=new U(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t);},i.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t);},i.prototype.loaded=function(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0},i.prototype.getSource=function(){return this._source},i.prototype.pause=function(){this._paused=!0;},i.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform);}},i.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},i.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},i.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,(function(){}))},i.prototype.serialize=function(){return this._source.serialize()},i.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}},i.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(At).map((function(t){return t.key}))},i.prototype.getRenderableIds=function(e){var i=this,o=[];for(var r in this._tiles)this._isIdRenderable(r,e)&&o.push(this._tiles[r]);return e?o.sort((function(e,o){var r=e.tileID,a=o.tileID,n=new t.Point(r.canonical.x,r.canonical.y)._rotate(i.transform.angle),s=new t.Point(a.canonical.x,a.canonical.y)._rotate(i.transform.angle);return r.overscaledZ-a.overscaledZ||s.y-n.y||s.x-n.x})).map((function(t){return t.tileID.key})):o.map((function(t){return t.tileID})).sort(At).map((function(t){return t.key}))},i.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)},i.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},i.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");},i.prototype._reloadTile=function(t,e){var i=this._tiles[t];i&&(\"loading\"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)));},i.prototype._tileLoaded=function(e,i,o,r){if(r)return e.state=\"errored\",void(404!==r.status?this._source.fire(new t.ErrorEvent(r,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),\"expired\"===o&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}));},i.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),i=0;i<e.length;i++){var o=e[i];if(t.neighboringTiles&&t.neighboringTiles[o]){var r=this.getTileByID(o);a(t,r),a(r,t);}}function a(t,e){t.needsHillshadePrepare=!0;var i=e.tileID.canonical.x-t.tileID.canonical.x,o=e.tileID.canonical.y-t.tileID.canonical.y,r=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===i&&0===o||Math.abs(o)>1||(Math.abs(i)>1&&(1===Math.abs(i+r)?i+=r:1===Math.abs(i-r)&&(i-=r)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,o),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)));}},i.prototype.getTile=function(t){return this.getTileByID(t.key)},i.prototype.getTileByID=function(t){return this._tiles[t]},i.prototype._retainLoadedChildren=function(t,e,i,o){for(var r in this._tiles){var a=this._tiles[r];if(!(o[r]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>i)){for(var n=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(n=s);}for(var l=n;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){o[n.key]=n;break}}}},i.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(var o=t.overscaledZ-1;o>=e;o--){var r=t.scaledTo(o),a=this._getLoadedTile(r);if(a)return a}},i.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},i.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,o=Math.floor(e*i*5),r=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(r);},i.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var i={};for(var o in this._tiles){var r=this._tiles[o];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),i[r.tileID.key]=r;}for(var a in this._tiles=i,this._timers)clearTimeout(this._timers[a]),delete this._timers[a];for(var n in this._tiles)this._setTileReloadTimer(n,this._tiles[n]);}},i.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(r=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(r=r.filter((function(t){return o._source.hasTile(t)})))):r=[];var a=e.coveringZoomLevel(this._source),n=Math.max(a-i.maxOverzooming,this._source.minzoom),s=Math.max(a+i.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(r,a);if(Mt(this._source.type)){for(var c={},u={},h=0,p=Object.keys(l);h<p.length;h+=1){var d=p[h],_=l[d],f=this._tiles[d];if(f&&!(f.fadeEndTime&&f.fadeEndTime<=t.browser.now())){var m=this.findLoadedParent(_,n);m&&(this._addTile(m.tileID),c[m.tileID.key]=m.tileID),u[d]=_;}}for(var g in this._retainLoadedChildren(u,a,s,l),c)l[g]||(this._coveredTiles[g]=!0,l[g]=c[g]);}for(var v in l)this._tiles[v].clearFadeHold();for(var y=0,x=t.keysDifference(this._tiles,l);y<x.length;y+=1){var b=x[y],w=this._tiles[b];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(b);}this._updateLoadedParentTileCache();}},i.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);},i.prototype._updateRetainedTiles=function(t,e){for(var o={},r={},a=Math.max(e-i.maxOverzooming,this._source.minzoom),n=Math.max(e+i.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],h=this._addTile(u);o[u.key]=u,h.hasData()||e<this._source.maxzoom&&(s[u.key]=u);}this._retainLoadedChildren(s,e,n,o);for(var p=0,d=t;p<d.length;p+=1){var _=d[p],f=this._tiles[_.key];if(!f.hasData()){if(e+1>this._source.maxzoom){var m=_.children(this._source.maxzoom)[0],g=this.getTile(m);if(g&&g.hasData()){o[m.key]=m;continue}}else {var v=_.children(this._source.maxzoom);if(o[v[0].key]&&o[v[1].key]&&o[v[2].key]&&o[v[3].key])continue}for(var y=f.wasRequested(),x=_.overscaledZ-1;x>=a;--x){var b=_.scaledTo(x);if(r[b.key])break;if(r[b.key]=!0,!(f=this.getTile(b))&&y&&(f=this._addTile(b)),f&&(o[b.key]=b,y=f.wasRequested(),f.hasData()))break}}}return o},i.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],i=void 0,o=this._tiles[t].tileID;o.overscaledZ>0;){if(o.key in this._loadedParentTiles){i=this._loadedParentTiles[o.key];break}e.push(o.key);var r=o.scaledTo(o.overscaledZ-1);if(i=this._getLoadedTile(r))break;o=r;}for(var a=0,n=e;a<n.length;a+=1)this._loadedParentTiles[n[a]]=i;}},i.prototype._addTile=function(e){var i=this._tiles[e.key];if(i)return i;(i=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));var o=Boolean(i);return o||(i=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i?(i.uses++,this._tiles[e.key]=i,o||this._source.fire(new t.Event(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i):null},i.prototype._setTileReloadTimer=function(t,e){var i=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var o=e.getExpiryTimeout();o&&(this._timers[t]=setTimeout((function(){i._reloadTile(t,\"expired\"),delete i._timers[t];}),o));},i.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));},i.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset();},i.prototype.tilesIn=function(e,i,o){var r=this,a=[],n=this.transform;if(!n)return a;for(var s=o?n.getCameraQueryGeometry(e):e,l=e.map((function(t){return n.pointCoordinate(t)})),c=s.map((function(t){return n.pointCoordinate(t)})),u=this.getIds(),h=1/0,p=1/0,d=-1/0,_=-1/0,f=0,m=c;f<m.length;f+=1){var g=m[f];h=Math.min(h,g.x),p=Math.min(p,g.y),d=Math.max(d,g.x),_=Math.max(_,g.y);}for(var v=function(e){var o=r._tiles[u[e]];if(!o.holdingForFade()){var s=o.tileID,f=Math.pow(2,n.zoom-o.tileID.overscaledZ),m=i*o.queryPadding*t.EXTENT/o.tileSize/f,g=[s.getTilePoint(new t.MercatorCoordinate(h,p)),s.getTilePoint(new t.MercatorCoordinate(d,_))];if(g[0].x-m<t.EXTENT&&g[0].y-m<t.EXTENT&&g[1].x+m>=0&&g[1].y+m>=0){var v=l.map((function(t){return s.getTilePoint(t)})),y=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:o,tileID:s,queryGeometry:v,cameraQueryGeometry:y,scale:f});}}},y=0;y<u.length;y++)v(y);return a},i.prototype.getVisibleCoordinates=function(t){for(var e=this,i=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),o=0,r=i;o<r.length;o+=1){var a=r[o];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped());}return i},i.prototype.hasTransition=function(){if(this._source.hasTransition())return !0;if(Mt(this._source.type))for(var e in this._tiles){var i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.browser.now())return !0}return !1},i.prototype.setFeatureState=function(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);},i.prototype.removeFeatureState=function(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);},i.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)},i.prototype.setDependencies=function(t,e,i){var o=this._tiles[t];o&&o.setDependencies(e,i);},i.prototype.reloadTilesForDependencies=function(t,e){for(var i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\");this._cache.filter((function(i){return !i.hasDependency(t,e)}));},i}(t.Evented);function At(t,e){var i=Math.abs(2*t.wrap)-+(t.wrap<0),o=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||o-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Mt(t){return \"raster\"===t||\"image\"===t||\"video\"===t}function Lt(){return new t.window.Worker(Kr.workerUrl)}Dt.maxOverzooming=10,Dt.maxUnderzooming=3;var Rt=\"mapboxgl_preloaded_worker_pool\",kt=function(){this.active={};};kt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<kt.workerCount;)this.workers.push(new Lt);return this.active[t]=!0,this.workers.slice()},kt.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate();})),this.workers=null);},kt.prototype.isPreloaded=function(){return !!this.active[Rt]},kt.prototype.numActive=function(){return Object.keys(this.active).length};var Bt,Ot=Math.floor(t.browser.hardwareConcurrency/2);function Ft(){return Bt||(Bt=new kt),Bt}function Ut(e,i){var o={};for(var r in e)\"ref\"!==r&&(o[r]=e[r]);return t.refProperties.forEach((function(t){t in i&&(o[t]=i[t]);})),o}function Nt(t){t=t.slice();for(var e=Object.create(null),i=0;i<t.length;i++)e[t[i].id]=t[i];for(var o=0;o<t.length;o++)\"ref\"in t[o]&&(t[o]=Ut(t[o],e[t[o].ref]));return t}kt.workerCount=Math.max(Math.min(Ot,6),1);var Zt={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function qt(t,e,i){i.push({command:Zt.addSource,args:[t,e[t]]});}function jt(t,e,i){e.push({command:Zt.removeSource,args:[t]}),i[t]=!0;}function Vt(t,e,i,o){jt(t,i,o),qt(t,e,i);}function Gt(e,i,o){var r;for(r in e[o])if(e[o].hasOwnProperty(r)&&\"data\"!==r&&!t.deepEqual(e[o][r],i[o][r]))return !1;for(r in i[o])if(i[o].hasOwnProperty(r)&&\"data\"!==r&&!t.deepEqual(e[o][r],i[o][r]))return !1;return !0}function Wt(e,i,o,r,a,n){var s;for(s in i=i||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],i[s])||o.push({command:n,args:[r,s,i[s],a]}));for(s in i)i.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],i[s])||o.push({command:n,args:[r,s,i[s],a]}));}function Xt(t){return t.id}function Ht(t,e){return t[e.id]=e,t}var Kt=function(t,e){this.reset(t,e);};Kt.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var i=1;i<this.points.length;i++)this._distances[i]=this._distances[i-1]+this.points[i].dist(this.points[i-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding;},Kt.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var i=1,o=this._distances[i],r=e*this.paddedLength+this.padding;o<r&&i<this._distances.length;)o=this._distances[++i];var a=i-1,n=this._distances[a],s=o-n,l=s>0?(r-n)/s:0;return this.points[a].mult(1-l).add(this.points[i].mult(l))};var Yt=function(t,e,i){var o=this.boxCells=[],r=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(var a=0;a<this.xCellCount*this.yCellCount;a++)o.push([]),r.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0;};function Jt(e,i,o,r,a){var n=t.create();return i?(t.scale(n,n,[1/a,1/a,1]),o||t.rotateZ(n,n,r.angle)):t.multiply(n,r.labelPlaneMatrix,e),n}function Qt(e,i,o,r,a){if(i){var n=t.clone(e);return t.scale(n,n,[a,a,1]),o||t.rotateZ(n,n,-r.angle),n}return r.glCoordMatrix}function $t(e,i){var o=[e.x,e.y,0,1];ue(o,o,i);var r=o[3];return {point:new t.Point(o[0]/r,o[1]/r),signedDistanceFromCamera:r}}function te(t,e){return .5+t/e*.5}function ee(t,e){var i=t[0]/t[3],o=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&o>=-e[1]&&o<=e[1]}function ie(e,i,o,r,a,n,s,l){var c=r?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,o.transform.zoom),h=[256/o.width*2+1,256/o.height*2+1],p=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;p.clear();for(var d=e.lineVertexArray,_=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,f=o.transform.width/o.transform.height,m=!1,g=0;g<_.length;g++){var v=_.get(g);if(v.hidden||v.writingMode===t.WritingMode.vertical&&!m)ce(v.numGlyphs,p);else {m=!1;var y=[v.anchorX,v.anchorY,0,1];if(t.transformMat4(y,y,i),ee(y,h)){var x=te(o.transform.cameraToCenterDistance,y[3]),b=t.evaluateSizeForFeature(c,u,v),w=s?b/x:b*x,T=new t.Point(v.anchorX,v.anchorY),E=$t(T,a).point,I={},P=ae(v,w,!1,l,i,a,n,e.glyphOffsetArray,d,p,E,T,I,f);m=P.useVertical,(P.notEnoughRoom||m||P.needsFlipping&&ae(v,w,!0,l,i,a,n,e.glyphOffsetArray,d,p,E,T,I,f).notEnoughRoom)&&ce(v.numGlyphs,p);}else ce(v.numGlyphs,p);}}r?e.text.dynamicLayoutVertexBuffer.updateData(p):e.icon.dynamicLayoutVertexBuffer.updateData(p);}function oe(t,e,i,o,r,a,n,s,l,c,u){var h=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,_=e.getoffsetX(s.glyphStartIndex),f=e.getoffsetX(h-1),m=se(t*_,i,o,r,a,n,s.segment,p,d,l,c,u);if(!m)return null;var g=se(t*f,i,o,r,a,n,s.segment,p,d,l,c,u);return g?{first:m,last:g}:null}function re(e,i,o,r){return e===t.WritingMode.horizontal&&Math.abs(o.y-i.y)>Math.abs(o.x-i.x)*r?{useVertical:!0}:(e===t.WritingMode.vertical?i.y<o.y:i.x>o.x)?{needsFlipping:!0}:null}function ae(e,i,o,r,a,n,s,l,c,u,h,p,d,_){var f,m=i/24,g=e.lineOffsetX*m,v=e.lineOffsetY*m;if(e.numGlyphs>1){var y=e.glyphStartIndex+e.numGlyphs,x=e.lineStartIndex,b=e.lineStartIndex+e.lineLength,w=oe(m,l,g,v,o,h,p,e,c,n,d);if(!w)return {notEnoughRoom:!0};var T=$t(w.first.point,s).point,E=$t(w.last.point,s).point;if(r&&!o){var I=re(e.writingMode,T,E,_);if(I)return I}f=[w.first];for(var P=e.glyphStartIndex+1;P<y-1;P++)f.push(se(m*l.getoffsetX(P),g,v,o,h,p,e.segment,x,b,c,n,d));f.push(w.last);}else {if(r&&!o){var S=$t(p,a).point,C=e.lineStartIndex+e.segment+1,z=new t.Point(c.getx(C),c.gety(C)),D=$t(z,a),A=D.signedDistanceFromCamera>0?D.point:ne(p,z,S,1,a),M=re(e.writingMode,S,A,_);if(M)return M}var L=se(m*l.getoffsetX(e.glyphStartIndex),g,v,o,h,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,n,d);if(!L)return {notEnoughRoom:!0};f=[L];}for(var R=0,k=f;R<k.length;R+=1){var B=k[R];t.addDynamicAttributes(u,B.point,B.angle);}return {}}function ne(t,e,i,o,r){var a=$t(t.add(t.sub(e)._unit()),r).point,n=i.sub(a);return i.add(n._mult(o/n.mag()))}function se(e,i,o,r,a,n,s,l,c,u,h,p){var d=r?e-i:e+i,_=d>0?1:-1,f=0;r&&(_*=-1,f=Math.PI),_<0&&(f+=Math.PI);for(var m=_>0?l+s:l+s+1,g=a,v=a,y=0,x=0,b=Math.abs(d),w=[];y+x<=b;){if((m+=_)<l||m>=c)return null;if(v=g,w.push(g),void 0===(g=p[m])){var T=new t.Point(u.getx(m),u.gety(m)),E=$t(T,h);if(E.signedDistanceFromCamera>0)g=p[m]=E.point;else {var I=m-_;g=ne(0===y?n:new t.Point(u.getx(I),u.gety(I)),T,v,b-y+1,h);}}y+=x,x=v.dist(g);}var P=(b-y)/x,S=g.sub(v),C=S.mult(P)._add(v);C._add(S._unit()._perp()._mult(o*_));var z=f+Math.atan2(g.y-v.y,g.x-v.x);return w.push(C),{point:C,angle:z,path:w}}Yt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Yt.prototype.insert=function(t,e,i,o,r){this._forEachCell(e,i,o,r,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(i),this.bboxes.push(o),this.bboxes.push(r);},Yt.prototype.insertCircle=function(t,e,i,o){this._forEachCell(e-o,i-o,e+o,i+o,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(i),this.circles.push(o);},Yt.prototype._insertBoxCell=function(t,e,i,o,r,a){this.boxCells[r].push(a);},Yt.prototype._insertCircleCell=function(t,e,i,o,r,a){this.circleCells[r].push(a);},Yt.prototype._query=function(t,e,i,o,r,a){if(i<0||t>this.width||o<0||e>this.height)return !r&&[];var n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=o){if(r)return !0;for(var s=0;s<this.boxKeys.length;s++)n.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],h=this.circles[3*l+2];n.push({key:this.circleKeys[l],x1:c-h,y1:u-h,x2:c+h,y2:u+h});}return a?n.filter(a):n}return this._forEachCell(t,e,i,o,this._queryCell,n,{hitTest:r,seenUids:{box:{},circle:{}}},a),r?n.length>0:n},Yt.prototype._queryCircle=function(t,e,i,o,r){var a=t-i,n=t+i,s=e-i,l=e+i;if(n<0||a>this.width||l<0||s>this.height)return !o&&[];var c=[];return this._forEachCell(a,s,n,l,this._queryCellCircle,c,{hitTest:o,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},r),o?c.length>0:c},Yt.prototype.query=function(t,e,i,o,r){return this._query(t,e,i,o,!1,r)},Yt.prototype.hitTest=function(t,e,i,o,r){return this._query(t,e,i,o,!0,r)},Yt.prototype.hitTestCircle=function(t,e,i,o){return this._queryCircle(t,e,i,!0,o)},Yt.prototype._queryCell=function(t,e,i,o,r,a,n,s){var l=n.seenUids,c=this.boxCells[r];if(null!==c)for(var u=this.bboxes,h=0,p=c;h<p.length;h+=1){var d=p[h];if(!l.box[d]){l.box[d]=!0;var _=4*d;if(t<=u[_+2]&&e<=u[_+3]&&i>=u[_+0]&&o>=u[_+1]&&(!s||s(this.boxKeys[d]))){if(n.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[d],x1:u[_],y1:u[_+1],x2:u[_+2],y2:u[_+3]});}}}var f=this.circleCells[r];if(null!==f)for(var m=this.circles,g=0,v=f;g<v.length;g+=1){var y=v[g];if(!l.circle[y]){l.circle[y]=!0;var x=3*y;if(this._circleAndRectCollide(m[x],m[x+1],m[x+2],t,e,i,o)&&(!s||s(this.circleKeys[y]))){if(n.hitTest)return a.push(!0),!0;var b=m[x],w=m[x+1],T=m[x+2];a.push({key:this.circleKeys[y],x1:b-T,y1:w-T,x2:b+T,y2:w+T});}}}},Yt.prototype._queryCellCircle=function(t,e,i,o,r,a,n,s){var l=n.circle,c=n.seenUids,u=this.boxCells[r];if(null!==u)for(var h=this.bboxes,p=0,d=u;p<d.length;p+=1){var _=d[p];if(!c.box[_]){c.box[_]=!0;var f=4*_;if(this._circleAndRectCollide(l.x,l.y,l.radius,h[f+0],h[f+1],h[f+2],h[f+3])&&(!s||s(this.boxKeys[_])))return a.push(!0),!0}}var m=this.circleCells[r];if(null!==m)for(var g=this.circles,v=0,y=m;v<y.length;v+=1){var x=y[v];if(!c.circle[x]){c.circle[x]=!0;var b=3*x;if(this._circlesCollide(g[b],g[b+1],g[b+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[x])))return a.push(!0),!0}}},Yt.prototype._forEachCell=function(t,e,i,o,r,a,n,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(i),h=this._convertToYCellCoord(o),p=l;p<=u;p++)for(var d=c;d<=h;d++)if(r.call(this,t,e,i,o,this.xCellCount*d+p,a,n,s))return},Yt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Yt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Yt.prototype._circlesCollide=function(t,e,i,o,r,a){var n=o-t,s=r-e,l=i+a;return l*l>n*n+s*s},Yt.prototype._circleAndRectCollide=function(t,e,i,o,r,a,n){var s=(a-o)/2,l=Math.abs(t-(o+s));if(l>s+i)return !1;var c=(n-r)/2,u=Math.abs(e-(r+c));if(u>c+i)return !1;if(l<=s||u<=c)return !0;var h=l-s,p=u-c;return h*h+p*p<=i*i};var le=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ce(t,e){for(var i=0;i<t;i++){var o=e.length;e.resize(o+4),e.float32.set(le,3*o);}}function ue(t,e,i){var o=e[0],r=e[1];return t[0]=i[0]*o+i[4]*r+i[12],t[1]=i[1]*o+i[5]*r+i[13],t[3]=i[3]*o+i[7]*r+i[15],t}var he=function(t,e,i){void 0===e&&(e=new Yt(t.width+200,t.height+200,25)),void 0===i&&(i=new Yt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=i,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200;};function pe(e,i,o){return i*(t.EXTENT/(e.tileSize*Math.pow(2,o-e.tileID.overscaledZ)))}he.prototype.placeCollisionBox=function(t,e,i,o,r){var a=this.projectAndGetPerspectiveRatio(o,t.anchorPointX,t.anchorPointY),n=i*a.perspectiveRatio,s=t.x1*n+a.point.x,l=t.y1*n+a.point.y,c=t.x2*n+a.point.x,u=t.y2*n+a.point.y;return !this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,r)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},he.prototype.placeCollisionCircles=function(e,i,o,r,a,n,s,l,c,u,h,p,d){var _=[],f=new t.Point(i.anchorX,i.anchorY),m=$t(f,n),g=te(this.transform.cameraToCenterDistance,m.signedDistanceFromCamera),v=(u?a/g:a*g)/t.ONE_EM,y=$t(f,s).point,x=oe(v,r,i.lineOffsetX*v,i.lineOffsetY*v,!1,y,f,i,o,s,{}),b=!1,w=!1,T=!0;if(x){for(var E=.5*p*g+d,I=new t.Point(-100,-100),P=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new Kt,C=x.first,z=x.last,D=[],A=C.path.length-1;A>=1;A--)D.push(C.path[A]);for(var M=1;M<z.path.length;M++)D.push(z.path[M]);var L=2.5*E;if(l){var R=D.map((function(t){return $t(t,l)}));D=R.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:R.map((function(t){return t.point}));}var k=[];if(D.length>0){for(var B=D[0].clone(),O=D[0].clone(),F=1;F<D.length;F++)B.x=Math.min(B.x,D[F].x),B.y=Math.min(B.y,D[F].y),O.x=Math.max(O.x,D[F].x),O.y=Math.max(O.y,D[F].y);k=B.x>=I.x&&O.x<=P.x&&B.y>=I.y&&O.y<=P.y?[D]:O.x<I.x||B.x>P.x||O.y<I.y||B.y>P.y?[]:t.clipLine([D],I.x,I.y,P.x,P.y);}for(var U=0,N=k;U<N.length;U+=1){var Z;S.reset(N[U],.25*E),Z=S.length<=.5*E?1:Math.ceil(S.paddedLength/L)+1;for(var q=0;q<Z;q++){var j=q/Math.max(Z-1,1),V=S.lerp(j),G=V.x+100,W=V.y+100;_.push(G,W,E,0);var X=G-E,H=W-E,K=G+E,Y=W+E;if(T=T&&this.isOffscreen(X,H,K,Y),w=w||this.isInsideGrid(X,H,K,Y),!e&&this.grid.hitTestCircle(G,W,E,h)&&(b=!0,!c))return {circles:[],offscreen:!1,collisionDetected:b}}}}return {circles:!c&&b||!w?[]:_,offscreen:T,collisionDetected:b}},he.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return {};for(var i=[],o=1/0,r=1/0,a=-1/0,n=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);o=Math.min(o,u.x),r=Math.min(r,u.y),a=Math.max(a,u.x),n=Math.max(n,u.y),i.push(u);}for(var h={},p={},d=0,_=this.grid.query(o,r,a,n).concat(this.ignoredGrid.query(o,r,a,n));d<_.length;d+=1){var f=_[d],m=f.key;if(void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]={}),!h[m.bucketInstanceId][m.featureIndex]){var g=[new t.Point(f.x1,f.y1),new t.Point(f.x2,f.y1),new t.Point(f.x2,f.y2),new t.Point(f.x1,f.y2)];t.polygonIntersectsPolygon(i,g)&&(h[m.bucketInstanceId][m.featureIndex]=!0,void 0===p[m.bucketInstanceId]&&(p[m.bucketInstanceId]=[]),p[m.bucketInstanceId].push(m.featureIndex));}}return p},he.prototype.insertCollisionBox=function(t,e,i,o,r){(e?this.ignoredGrid:this.grid).insert({bucketInstanceId:i,featureIndex:o,collisionGroupID:r},t[0],t[1],t[2],t[3]);},he.prototype.insertCollisionCircles=function(t,e,i,o,r){for(var a=e?this.ignoredGrid:this.grid,n={bucketInstanceId:i,featureIndex:o,collisionGroupID:r},s=0;s<t.length;s+=4)a.insertCircle(n,t[s],t[s+1],t[s+2]);},he.prototype.projectAndGetPerspectiveRatio=function(e,i,o){var r=[i,o,0,1];return ue(r,r,e),{point:new t.Point((r[0]/r[3]+1)/2*this.transform.width+100,(-r[1]/r[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/r[3]*.5}},he.prototype.isOffscreen=function(t,e,i,o){return i<100||t>=this.screenRightBoundary||o<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,i,o){return i>=0&&t<this.gridRightBoundary&&o>=0&&e<this.gridBottomBoundary},he.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var de=function(t,e,i,o){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):o&&i?1:0,this.placed=i;};de.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var _e=function(t,e,i,o,r){this.text=new de(t?t.text:null,e,i,r),this.icon=new de(t?t.icon:null,e,o,r);};_e.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var fe=function(t,e,i){this.text=t,this.icon=e,this.skipFade=i;},me=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[];},ge=function(t,e,i,o,r){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=o,this.tileID=r;},ve=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};};function ye(e,i,o,r,a){var n=t.getAnchorAlignment(e),s=-(n.horizontalAlign-.5)*i,l=-(n.verticalAlign-.5)*o,c=t.evaluateVariableOffset(e,r);return new t.Point(s+c[0]*a,l+c[1]*a)}function xe(e,i,o,r,a,n){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,h=e.anchorPointX,p=e.anchorPointY,d=new t.Point(i,o);return r&&d._rotate(a?n:-n),{x1:s+d.x,y1:c+d.y,x2:l+d.x,y2:u+d.y,anchorPointX:h,anchorPointY:p}}ve.prototype.get=function(t){if(this.crossSourceCollisions)return {ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}};}return this.collisionGroups[t]};var be=function(t,e,i,o){this.transform=t.clone(),this.collisionIndex=new he(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new ve(i),this.collisionCircleArrays={},this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};};function we(t,e,i,o,r){t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0);}be.prototype.getBucketParts=function(e,i,o,r){var a=o.getBucket(i),n=o.latestFeatureIndex;if(a&&n&&i.id===a.layerIds[0]){var s=o.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-o.tileID.overscaledZ),u=o.tileSize/t.EXTENT,h=this.transform.calculatePosMatrix(o.tileID.toUnwrapped()),p=\"map\"===l.get(\"text-pitch-alignment\"),d=\"map\"===l.get(\"text-rotation-alignment\"),_=pe(o,1,this.transform.zoom),f=Jt(h,p,d,this.transform,_),m=null;if(p){var g=Qt(h,p,d,this.transform,_);m=t.multiply([],this.transform.labelPlaneMatrix,g);}this.retainedQueryData[a.bucketInstanceId]=new ge(a.bucketInstanceId,n,a.sourceLayerIndex,a.index,o.tileID);var v={bucket:a,layout:l,posMatrix:h,textLabelPlaneMatrix:f,labelToScreenMatrix:m,scale:c,textPixelRatio:u,holdingForFade:o.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(r)for(var y=0,x=a.sortKeyRanges;y<x.length;y+=1){var b=x[y];e.push({sortKey:b.sortKey,symbolInstanceStart:b.symbolInstanceStart,symbolInstanceEnd:b.symbolInstanceEnd,parameters:v});}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:v});}},be.prototype.attemptAnchorPlacement=function(t,e,i,o,r,a,n,s,l,c,u,h,p,d,_){var f,m=[h.textOffset0,h.textOffset1],g=ye(t,i,o,m,r),v=this.collisionIndex.placeCollisionBox(xe(e,g.x,g.y,a,n,this.transform.angle),u,s,l,c.predicate);if(!_||0!==this.collisionIndex.placeCollisionBox(xe(_,g.x,g.y,a,n,this.transform.angle),u,s,l,c.predicate).box.length)return v.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(f=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:m,width:i,height:o,anchor:t,textBoxScale:r,prevAnchor:f},this.markUsedJustification(p,t,h,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,h),this.placedOrientations[h.crossTileID]=d),{shift:g,placedGlyphBoxes:v}):void 0},be.prototype.placeLayerBucketPart=function(e,i,o){var r=this,a=e.parameters,n=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,p=a.holdingForFade,d=a.collisionBoxArray,_=a.partiallyEvaluatedTextSize,f=a.collisionGroup,m=s.get(\"text-optional\"),g=s.get(\"icon-optional\"),v=s.get(\"text-allow-overlap\"),y=s.get(\"icon-allow-overlap\"),x=\"map\"===s.get(\"text-rotation-alignment\"),b=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),E=v&&(y||!n.hasIconData()||g),I=y&&(v||!n.hasTextData()||m);!n.collisionArrays&&d&&n.deserializeCollisionBoxes(d);var P=function(e,a){if(!i[e.crossTileID])if(p)r.placements[e.crossTileID]=new fe(!1,!1,!1);else {var d,T=!1,P=!1,S=!0,C=null,z={box:null,offscreen:null},D={box:null,offscreen:null},A=null,M=null,L=0,R=0,k=0;a.textFeatureIndex?L=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(L=e.featureIndex),a.verticalTextFeatureIndex&&(R=a.verticalTextFeatureIndex);var B=a.textBox;if(B){var O=function(i){var o=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&r.prevPlacement){var a=r.prevPlacement.placedOrientations[e.crossTileID];a&&(r.placedOrientations[e.crossTileID]=a,r.markUsedOrientation(n,o=a,e));}return o},F=function(i,o){if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var r=0,s=n.writingModes;r<s.length&&(s[r]===t.WritingMode.vertical?(z=o(),D=z):z=i(),!(z&&z.box&&z.box.length));r+=1);else z=i();};if(s.get(\"text-variable-anchor\")){var U=s.get(\"text-variable-anchor\");if(r.prevPlacement&&r.prevPlacement.variableOffsets[e.crossTileID]){var N=r.prevPlacement.variableOffsets[e.crossTileID];U.indexOf(N.anchor)>0&&(U=U.filter((function(t){return t!==N.anchor}))).unshift(N.anchor);}var Z=function(t,i,o){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!y?i:null,p={box:[],offscreen:!1},d=v?2*U.length:U.length,_=0;_<d;++_){var m=r.attemptAnchorPlacement(U[_%U.length],t,a,s,c,x,b,h,l,f,_>=U.length,e,n,o,u);if(m&&(p=m.placedGlyphBoxes)&&p.box&&p.box.length){T=!0,C=m.shift;break}}return p};F((function(){return Z(B,a.iconBox,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&!(z&&z.box&&z.box.length)&&e.numVerticalGlyphVertices>0&&i?Z(i,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),z&&(T=z.box,S=z.offscreen);var q=O(z&&z.box);if(!T&&r.prevPlacement){var j=r.prevPlacement.variableOffsets[e.crossTileID];j&&(r.variableOffsets[e.crossTileID]=j,r.markUsedJustification(n,j.anchor,e,q));}}else {var V=function(t,i){var o=r.collisionIndex.placeCollisionBox(t,v,h,l,f.predicate);return o&&o.box&&o.box.length&&(r.markUsedOrientation(n,i,e),r.placedOrientations[e.crossTileID]=i),o};F((function(){return V(B,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?V(i,t.WritingMode.vertical):{box:null,offscreen:null}})),O(z&&z.box&&z.box.length);}}if(T=(d=z)&&d.box&&d.box.length>0,S=d&&d.offscreen,e.useRuntimeCollisionCircles){var G=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(n.textSizeData,_,G),X=s.get(\"text-padding\");A=r.collisionIndex.placeCollisionCircles(v,G,n.lineVertexArray,n.glyphOffsetArray,W,l,c,u,o,b,f.predicate,e.collisionCircleDiameter,X),T=v||A.circles.length>0&&!A.collisionDetected,S=S&&A.offscreen;}if(a.iconFeatureIndex&&(k=a.iconFeatureIndex),a.iconBox){var H=function(t){var e=w&&C?xe(t,C.x,C.y,x,b,r.transform.angle):t;return r.collisionIndex.placeCollisionBox(e,y,h,l,f.predicate)};P=D&&D.box&&D.box.length&&a.verticalIconBox?(M=H(a.verticalIconBox)).box.length>0:(M=H(a.iconBox)).box.length>0,S=S&&M.offscreen;}var K=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,Y=g||0===e.numIconVertices;if(K||Y?Y?K||(P=P&&T):T=P&&T:P=T=P&&T,T&&d&&d.box&&r.collisionIndex.insertCollisionBox(d.box,s.get(\"text-ignore-placement\"),n.bucketInstanceId,D&&D.box&&R?R:L,f.ID),P&&M&&r.collisionIndex.insertCollisionBox(M.box,s.get(\"icon-ignore-placement\"),n.bucketInstanceId,k,f.ID),A&&(T&&r.collisionIndex.insertCollisionCircles(A.circles,s.get(\"text-ignore-placement\"),n.bucketInstanceId,L,f.ID),o)){var J=n.bucketInstanceId,Q=r.collisionCircleArrays[J];void 0===Q&&(Q=r.collisionCircleArrays[J]=new me);for(var $=0;$<A.circles.length;$+=4)Q.circles.push(A.circles[$+0]),Q.circles.push(A.circles[$+1]),Q.circles.push(A.circles[$+2]),Q.circles.push(A.collisionDetected?1:0);}r.placements[e.crossTileID]=new fe(T||E,P||I,S||n.justReloaded),i[e.crossTileID]=!0;}};if(T)for(var S=n.getSortedSymbolIndexes(this.transform.angle),C=S.length-1;C>=0;--C){var z=S[C];P(n.symbolInstances.get(z),n.collisionArrays[z]);}else for(var D=e.symbolInstanceStart;D<e.symbolInstanceEnd;D++)P(n.symbolInstances.get(D),n.collisionArrays[D]);if(o&&n.bucketInstanceId in this.collisionCircleArrays){var A=this.collisionCircleArrays[n.bucketInstanceId];t.invert(A.invProjMatrix,l),A.viewportMatrix=this.collisionIndex.getViewportMatrix();}n.justReloaded=!1;},be.prototype.markUsedJustification=function(e,i,o,r){var a;a=r===t.WritingMode.vertical?o.verticalPlacedTextSymbolIndex:{left:o.leftJustifiedTextSymbolIndex,center:o.centerJustifiedTextSymbolIndex,right:o.rightJustifiedTextSymbolIndex}[t.getAnchorJustification(i)];for(var n=0,s=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex,o.verticalPlacedTextSymbolIndex];n<s.length;n+=1){var l=s[n];l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=a>=0&&l!==a?0:o.crossTileID);}},be.prototype.markUsedOrientation=function(e,i,o){for(var r=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,a=i===t.WritingMode.vertical?i:0,n=0,s=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex];n<s.length;n+=1)e.text.placedSymbolArray.get(s[n]).placedOrientation=r;o.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(o.verticalPlacedTextSymbolIndex).placedOrientation=a);},be.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var o=e?e.symbolFadeChange(t):1,r=e?e.opacities:{},a=e?e.variableOffsets:{},n=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=r[s];c?(this.opacities[s]=new _e(c,o,l.text,l.icon),i=i||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new _e(null,o,l.text,l.icon,l.skipFade),i=i||l.text||l.icon);}for(var u in r){var h=r[u];if(!this.opacities[u]){var p=new _e(h,o,!1,!1);p.isHidden()||(this.opacities[u]=p,i=i||h.text.placed||h.icon.placed);}}for(var d in a)this.variableOffsets[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.variableOffsets[d]=a[d]);for(var _ in n)this.placedOrientations[_]||!this.opacities[_]||this.opacities[_].isHidden()||(this.placedOrientations[_]=n[_]);i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);},be.prototype.updateLayerOpacities=function(t,e){for(var i={},o=0,r=e;o<r.length;o+=1){var a=r[o],n=a.getBucket(t);n&&a.latestFeatureIndex&&t.id===n.layerIds[0]&&this.updateBucketOpacities(n,i,a.collisionBoxArray);}},be.prototype.updateBucketOpacities=function(e,i,o){var r=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,n=new _e(null,0,!1,!1,!0),s=a.get(\"text-allow-overlap\"),l=a.get(\"icon-allow-overlap\"),c=a.get(\"text-variable-anchor\"),u=\"map\"===a.get(\"text-rotation-alignment\"),h=\"map\"===a.get(\"text-pitch-alignment\"),p=\"none\"!==a.get(\"icon-text-fit\"),d=new _e(null,0,s&&(l||!e.hasIconData()||a.get(\"icon-optional\")),l&&(s||!e.hasTextData()||a.get(\"text-optional\")),!0);!e.collisionArrays&&o&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(o);for(var _=function(t,e,i){for(var o=0;o<e/4;o++)t.opacityVertexArray.emplaceBack(i);},f=function(o){var a=e.symbolInstances.get(o),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,f=a.crossTileID,m=r.opacities[f];i[f]?m=n:m||(r.opacities[f]=m=d),i[f]=!0;var g=a.numIconVertices>0,v=r.placedOrientations[a.crossTileID],y=v===t.WritingMode.vertical,x=v===t.WritingMode.horizontal||v===t.WritingMode.horizontalOnly;if(s>0||l>0){var b=De(m.text);_(e.text,s,y?Ae:b),_(e.text,l,x?Ae:b);var w=m.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||y?1:0);})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=w||x?1:0);var T=r.variableOffsets[a.crossTileID];T&&r.markUsedJustification(e,T.anchor,a,v);var E=r.placedOrientations[a.crossTileID];E&&(r.markUsedJustification(e,\"left\",a,E),r.markUsedOrientation(e,E,a));}if(g){var I=De(m.icon),P=!(p&&a.verticalPlacedIconSymbolIndex&&y);a.placedIconSymbolIndex>=0&&(_(e.icon,a.numIconVertices,P?I:Ae),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=m.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(_(e.icon,a.numVerticalIconVertices,P?Ae:I),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden());}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[o];if(S){var C=new t.Point(0,0);if(S.textBox||S.verticalTextBox){var z=!0;if(c){var D=r.variableOffsets[f];D?(C=ye(D.anchor,D.width,D.height,D.textOffset,D.textBoxScale),u&&C._rotate(h?r.transform.angle:-r.transform.angle)):z=!1;}S.textBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||y,C.x,C.y),S.verticalTextBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||x,C.x,C.y);}var A=Boolean(!x&&S.verticalIconBox);S.iconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,A,p?C.x:0,p?C.y:0),S.verticalIconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!A,p?C.x:0,p?C.y:0);}}},m=0;m<e.symbolInstances.length;m++)f(m);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var g=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=g.invProjMatrix,e.placementViewportMatrix=g.viewportMatrix,e.collisionCircleArray=g.circles,delete this.collisionCircleArrays[e.bucketInstanceId];}},be.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},be.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},be.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},be.prototype.stillRecent=function(t,e){var i=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*i>t},be.prototype.setStale=function(){this.stale=!0;};var Te=Math.pow(2,25),Ee=Math.pow(2,24),Ie=Math.pow(2,17),Pe=Math.pow(2,16),Se=Math.pow(2,9),Ce=Math.pow(2,8),ze=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Te+e*Ee+i*Ie+e*Pe+i*Se+e*Ce+i*ze+e}var Ae=0,Me=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];};Me.prototype.continuePlacement=function(t,e,i,o,r){for(var a=this._bucketParts;this._currentTileIndex<t.length;)if(e.getBucketParts(a,o,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,r())return !0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;)if(e.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,i),this._currentPartIndex++,r())return !0;return !1};var Le=function(t,e,i,o,r,a,n){this.placement=new be(t,r,a,n),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=i,this._showCollisionBoxes=o,this._done=!1;};Le.prototype.isDone=function(){return this._done},Le.prototype.continuePlacement=function(e,i,o){for(var r=this,a=t.browser.now(),n=function(){var e=t.browser.now()-a;return !r._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=i[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Me(s)),this._inProgressLayer.continuePlacement(o[s.source],this.placement,this._showCollisionBoxes,s,n))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;},Le.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Re=512/t.EXTENT/2,ke=function(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(var o=0;o<e.length;o++){var r=e.get(o),a=r.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:r.crossTileID,coord:this.getScaledCoordinates(r,t)});}};ke.prototype.getScaledCoordinates=function(e,i){var o=Re/Math.pow(2,i.canonical.z-this.tileID.canonical.z);return {x:Math.floor((i.canonical.x*t.EXTENT+e.anchorX)*o),y:Math.floor((i.canonical.y*t.EXTENT+e.anchorY)*o)}},ke.prototype.findMatches=function(t,e,i){for(var o=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),r=0;r<t.length;r++){var a=t.get(r);if(!a.crossTileID){var n=this.indexedSymbolInstances[a.key];if(n)for(var s=this.getScaledCoordinates(a,e),l=0,c=n;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=o&&Math.abs(u.coord.y-s.y)<=o&&!i[u.crossTileID]){i[u.crossTileID]=!0,a.crossTileID=u.crossTileID;break}}}}};var Be=function(){this.maxCrossTileID=0;};Be.prototype.generate=function(){return ++this.maxCrossTileID};var Oe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;};Oe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var i in this.indexes){var o=this.indexes[i],r={};for(var a in o){var n=o[a];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),r[n.tileID.key]=n;}this.indexes[i]=r;}this.lng=t;},Oe.prototype.addBucket=function(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return !1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(var o=0;o<e.symbolInstances.length;o++)e.symbolInstances.get(o).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var r=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var n=this.indexes[a];if(Number(a)>t.overscaledZ)for(var s in n){var l=n[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,r);}else {var c=n[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,r);}}for(var u=0;u<e.symbolInstances.length;u++){var h=e.symbolInstances.get(u);h.crossTileID||(h.crossTileID=i.generate(),r[h.crossTileID]=!0);}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new ke(t,e.symbolInstances,e.bucketInstanceId),!0},Oe.prototype.removeBucketCrossTileIDs=function(t,e){for(var i in e.indexedSymbolInstances)for(var o=0,r=e.indexedSymbolInstances[i];o<r.length;o+=1)delete this.usedCrossTileIDs[t][r[o].crossTileID];},Oe.prototype.removeStaleBuckets=function(t){var e=!1;for(var i in this.indexes){var o=this.indexes[i];for(var r in o)t[o[r].bucketInstanceId]||(this.removeBucketCrossTileIDs(i,o[r]),delete o[r],e=!0);}return e};var Fe=function(){this.layerIndexes={},this.crossTileIDs=new Be,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={};};Fe.prototype.addLayer=function(t,e,i){var o=this.layerIndexes[t.id];void 0===o&&(o=this.layerIndexes[t.id]=new Oe);var r=!1,a={};o.handleWrapJump(i);for(var n=0,s=e;n<s.length;n+=1){var l=s[n],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),o.addBucket(l.tileID,c,this.crossTileIDs)&&(r=!0),a[c.bucketInstanceId]=!0);}return o.removeStaleBuckets(a)&&(r=!0),r},Fe.prototype.pruneUnusedLayers=function(t){var e={};for(var i in t.forEach((function(t){e[t]=!0;})),this.layerIndexes)e[i]||delete this.layerIndexes[i];};var Ue=function(e,i){return t.emitValidationErrors(e,i&&i.filter((function(t){return \"source.canvas\"!==t.identifier})))},Ne=t.pick(Zt,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Ze=t.pick(Zt,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),qe=function(){var e={},i=t.styleSpec.$version;for(var o in t.styleSpec.$root){var r,a=t.styleSpec.$root[o];if(a.required)null!=(r=\"version\"===o?i:\"array\"===a.type?[]:{})&&(e[o]=r);}return e}(),je=function(e){function i(o,r){var a=this;void 0===r&&(r={}),e.call(this),this.map=o,this.dispatcher=new E(Ft(),this),this.imageManager=new p,this.imageManager.setEventedParent(this),this.glyphManager=new y(o._requestManager,r.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Fe,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",t.getReferrer());var n=this;this._rtlTextPluginCallback=i.registerForPluginStateChange((function(e){n.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},(function(e,i){if(t.triggerPluginCompletionEvent(e),i&&i.every((function(t){return t})))for(var o in n.sourceCaches)n.sourceCaches[o].reload();}));})),this.on(\"data\",(function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var i=e.getSource();if(i&&i.vectorLayerIds)for(var o in a._layers){var r=a._layers[o];r.source===i.id&&a._validateLayer(r);}}}}));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.loadURL=function(e,i){var o=this;void 0===i&&(i={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));var r=\"boolean\"==typeof i.validate?i.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,i.accessToken);var a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,i){o._request=null,e?o.fire(new t.ErrorEvent(e)):i&&o._load(i,r);}));},i.prototype.loadJSON=function(e,i){var o=this;void 0===i&&(i={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.browser.frame((function(){o._request=null,o._load(e,!1!==i.validate);}));},i.prototype.loadEmpty=function(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(qe,!1);},i.prototype._load=function(e,i){if(!i||!Ue(this,t.validateStyle(e))){for(var o in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(o,e.sources[o],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var r=Nt(this.stylesheet.layers);this._order=r.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,n=r;a<n.length;a+=1){var s=n[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize();}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"));}},i.prototype._loadSprite=function(e){var i=this;this._spriteRequest=function(e,i,o){var r,a,n,s=t.browser.devicePixelRatio>1?\"@2x\":\"\",l=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,n||(n=t,r=e,u());})),c=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){c=null,n||(n=t,a=e,u());}));function u(){if(n)o(n);else if(r&&a){var e=t.browser.getImageData(a),i={};for(var s in r){var l=r[s],c=l.width,u=l.height,h=l.x,p=l.y,d=l.sdf,_=l.pixelRatio,f=l.stretchX,m=l.stretchY,g=l.content,v=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,v,{x:h,y:p},{x:0,y:0},{width:c,height:u}),i[s]={data:v,pixelRatio:_,sdf:d,stretchX:f,stretchY:m,content:g};}o(null,i);}}return {cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null);}}}(e,this.map._requestManager,(function(e,o){if(i._spriteRequest=null,e)i.fire(new t.ErrorEvent(e));else if(o)for(var r in o)i.imageManager.addImage(r,o[r]);i.imageManager.setLoaded(!0),i._availableImages=i.imageManager.listImages(),i.dispatcher.broadcast(\"setImages\",i._availableImages),i.fire(new t.Event(\"data\",{dataType:\"style\"}));}));},i.prototype._validateLayer=function(e){var i=this.sourceCaches[e.source];if(i){var o=e.sourceLayer;if(o){var r=i.getSource();(\"geojson\"===r.type||r.vectorLayerIds&&-1===r.vectorLayerIds.indexOf(o))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+o+'\" does not exist on source \"'+r.id+'\" as specified by style layer \"'+e.id+'\"')));}}},i.prototype.loaded=function(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()},i.prototype._serializeLayers=function(t){for(var e=[],i=0,o=t;i<o.length;i+=1){var r=this._layers[o[i]];\"custom\"!==r.type&&e.push(r.serialize());}return e},i.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return !0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(var e in this._layers)if(this._layers[e].hasTransition())return !0;return !1},i.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},i.prototype.update=function(e){if(this._loaded){var i=this._changed;if(this._changed){var o=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);for(var a in (o.length||r.length)&&this._updateWorkerLayers(o,r),this._updatedSources){var n=this._updatedSources[a];\"reload\"===n?this._reloadSource(a):\"clear\"===n&&this._clearSource(a);}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates();}var l={};for(var c in this.sourceCaches){var u=this.sourceCaches[c];l[c]=u.used,u.used=!1;}for(var h=0,p=this._order;h<p.length;h+=1){var d=this._layers[p[h]];d.recalculate(e,this._availableImages),!d.isHidden(e.zoom)&&d.source&&(this.sourceCaches[d.source].used=!0);}for(var _ in l){var f=this.sourceCaches[_];l[_]!==f.used&&f.fire(new t.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:_}));}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event(\"data\",{dataType:\"style\"}));}},i.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}},i.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e});},i.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};},i.prototype.setState=function(e){var i=this;if(this._checkLoaded(),Ue(this,t.validateStyle(e)))return !1;(e=t.clone$1(e)).layers=Nt(e.layers);var o=function(e,i){if(!e)return [{command:Zt.setStyle,args:[i]}];var o=[];try{if(!t.deepEqual(e.version,i.version))return [{command:Zt.setStyle,args:[i]}];t.deepEqual(e.center,i.center)||o.push({command:Zt.setCenter,args:[i.center]}),t.deepEqual(e.zoom,i.zoom)||o.push({command:Zt.setZoom,args:[i.zoom]}),t.deepEqual(e.bearing,i.bearing)||o.push({command:Zt.setBearing,args:[i.bearing]}),t.deepEqual(e.pitch,i.pitch)||o.push({command:Zt.setPitch,args:[i.pitch]}),t.deepEqual(e.sprite,i.sprite)||o.push({command:Zt.setSprite,args:[i.sprite]}),t.deepEqual(e.glyphs,i.glyphs)||o.push({command:Zt.setGlyphs,args:[i.glyphs]}),t.deepEqual(e.transition,i.transition)||o.push({command:Zt.setTransition,args:[i.transition]}),t.deepEqual(e.light,i.light)||o.push({command:Zt.setLight,args:[i.light]});var r={},a=[];!function(e,i,o,r){var a;for(a in i=i||{},e=e||{})e.hasOwnProperty(a)&&(i.hasOwnProperty(a)||jt(a,o,r));for(a in i)i.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.deepEqual(e[a],i[a])||(\"geojson\"===e[a].type&&\"geojson\"===i[a].type&&Gt(e,i,a)?o.push({command:Zt.setGeoJSONSourceData,args:[a,i[a].data]}):Vt(a,i,o,r)):qt(a,i,o));}(e.sources,i.sources,a,r);var n=[];e.layers&&e.layers.forEach((function(t){r[t.source]?o.push({command:Zt.removeLayer,args:[t.id]}):n.push(t);})),o=o.concat(a),function(e,i,o){i=i||[];var r,a,n,s,l,c,u,h=(e=e||[]).map(Xt),p=i.map(Xt),d=e.reduce(Ht,{}),_=i.reduce(Ht,{}),f=h.slice(),m=Object.create(null);for(r=0,a=0;r<h.length;r++)_.hasOwnProperty(n=h[r])?a++:(o.push({command:Zt.removeLayer,args:[n]}),f.splice(f.indexOf(n,a),1));for(r=0,a=0;r<p.length;r++)f[f.length-1-r]!==(n=p[p.length-1-r])&&(d.hasOwnProperty(n)?(o.push({command:Zt.removeLayer,args:[n]}),f.splice(f.lastIndexOf(n,f.length-a),1)):a++,o.push({command:Zt.addLayer,args:[_[n],c=f[f.length-r]]}),f.splice(f.length-r,0,n),m[n]=!0);for(r=0;r<p.length;r++)if(s=d[n=p[r]],l=_[n],!m[n]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s[\"source-layer\"],l[\"source-layer\"])&&t.deepEqual(s.type,l.type)){for(u in Wt(s.layout,l.layout,o,n,null,Zt.setLayoutProperty),Wt(s.paint,l.paint,o,n,null,Zt.setPaintProperty),t.deepEqual(s.filter,l.filter)||o.push({command:Zt.setFilter,args:[n,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||o.push({command:Zt.setLayerZoomRange,args:[n,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Wt(s[u],l[u],o,n,u.slice(6),Zt.setPaintProperty):t.deepEqual(s[u],l[u])||o.push({command:Zt.setLayerProperty,args:[n,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Wt(s[u],l[u],o,n,u.slice(6),Zt.setPaintProperty):t.deepEqual(s[u],l[u])||o.push({command:Zt.setLayerProperty,args:[n,u,l[u]]}));}else o.push({command:Zt.removeLayer,args:[n]}),c=f[f.lastIndexOf(n)+1],o.push({command:Zt.addLayer,args:[l,c]});}(n,i.layers,o);}catch(t){console.warn(\"Unable to compute style diff:\",t),o=[{command:Zt.setStyle,args:[i]}];}return o}(this.serialize(),e).filter((function(t){return !(t.command in Ze)}));if(0===o.length)return !1;var r=o.filter((function(t){return !(t.command in Ne)}));if(r.length>0)throw new Error(\"Unimplemented: \"+r.map((function(t){return t.command})).join(\", \")+\".\");return o.forEach((function(t){\"setTransition\"!==t.command&&i[t.command].apply(i,t.args);})),this.stylesheet=e,!0},i.prototype.addImage=function(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,i),this._afterImageUpdated(e);},i.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e);},i.prototype.getImage=function(t){return this.imageManager.getImage(t)},i.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this._afterImageUpdated(e);},i.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));},i.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},i.prototype.addSource=function(e,i,o){var r=this;if(void 0===o&&(o={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!i.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(i).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,i,null,o))){this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Dt(e,i,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return {isSourceLoaded:r.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0;}},i.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+i+'\" is using it.')));var o=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],o.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),o.setEventedParent(null),o.clearTiles(),o.onRemove&&o.onRemove(this.map),this._changed=!0;},i.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0;},i.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},i.prototype.addLayer=function(e,i,o){void 0===o&&(o={}),this._checkLoaded();var r=e.id;if(this.getLayer(r))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" already exists on this map')));else {var a;if(\"custom\"===e.type){if(Ue(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e);}else {if(\"object\"==typeof e.source&&(this.addSource(r,e.source),e=t.clone$1(e),e=t.extend(e,{source:r})),this._validate(t.validateStyle.layer,\"layers.\"+r,e,{arrayIndex:-1},o))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:r}}),this._serializedLayers[a.id]=a.serialize();}var n=i?this._order.indexOf(i):this._order.length;if(i&&-1===n)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" does not exist on this map.')));else {if(this._order.splice(n,0,r),this._layerOrderChanged=!0,this._layers[r]=a,this._removedLayers[r]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[r];delete this._removedLayers[r],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause());}this._updateLayer(a),a.onAdd&&a.onAdd(this.map);}}},i.prototype.moveLayer=function(e,i){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==i){var o=this._order.indexOf(e);this._order.splice(o,1);var r=i?this._order.indexOf(i):this._order.length;i&&-1===r?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" does not exist on this map.'))):(this._order.splice(r,0,e),this._layerOrderChanged=!0);}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")));},i.prototype.removeLayer=function(e){this._checkLoaded();var i=this._layers[e];if(i){i.setEventedParent(null);var o=this._order.indexOf(e);this._order.splice(o,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map);}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")));},i.prototype.getLayer=function(t){return this._layers[t]},i.prototype.hasLayer=function(t){return t in this._layers},i.prototype.setLayerZoomRange=function(e,i,o){this._checkLoaded();var r=this.getLayer(e);r?r.minzoom===i&&r.maxzoom===o||(null!=i&&(r.minzoom=i),null!=o&&(r.maxzoom=o),this._updateLayer(r)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")));},i.prototype.setFilter=function(e,i,o){void 0===o&&(o={}),this._checkLoaded();var r=this.getLayer(e);if(r){if(!t.deepEqual(r.filter,i))return null==i?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(t.validateStyle.filter,\"layers.\"+r.id+\".filter\",i,null,o)||(r.filter=t.clone$1(i),this._updateLayer(r)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")));},i.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},i.prototype.setLayoutProperty=function(e,i,o,r){void 0===r&&(r={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(i),o)||(a.setLayoutProperty(i,o,r),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")));},i.prototype.getLayoutProperty=function(e,i){var o=this.getLayer(e);if(o)return o.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")));},i.prototype.setPaintProperty=function(e,i,o,r){void 0===r&&(r={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(i),o)||(a.setPaintProperty(i,o,r)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")));},i.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},i.prototype.setFeatureState=function(e,i){this._checkLoaded();var o=e.source,r=e.sourceLayer,a=this.sourceCaches[o];if(void 0!==a){var n=a.getSource().type;\"geojson\"===n&&r?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==n||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(r,e.id,i)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+o+\"' does not exist in the map's style.\")));},i.prototype.removeFeatureState=function(e,i){this._checkLoaded();var o=e.source,r=this.sourceCaches[o];if(void 0!==r){var a=r.getSource().type,n=\"vector\"===a?e.sourceLayer:void 0;\"vector\"!==a||n?i&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\"))):r.removeFeatureState(n,e.id,i):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+o+\"' does not exist in the map's style.\")));},i.prototype.getFeatureState=function(e){this._checkLoaded();var i=e.source,o=e.sourceLayer,r=this.sourceCaches[i];if(void 0!==r){if(\"vector\"!==r.getSource().type||o)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),r.getFeatureState(o,e.id);this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+i+\"' does not exist in the map's style.\")));},i.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},i.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},i.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0;},i.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,i=function(t){return \"fill-extrusion\"===e._layers[t].type},o={},r=[],a=this._order.length-1;a>=0;a--){var n=this._order[a];if(i(n)){o[n]=a;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][n];if(c)for(var u=0,h=c;u<h.length;u+=1)r.push(h[u]);}}}r.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var p=[],d=this._order.length-1;d>=0;d--){var _=this._order[d];if(i(_))for(var f=r.length-1;f>=0;f--){var m=r[f].feature;if(o[m.layer.id]<d)break;p.push(m),r.pop();}else for(var g=0,v=t;g<v.length;g+=1){var y=v[g][_];if(y)for(var x=0,b=y;x<b.length;x+=1)p.push(b[x].feature);}}return p},i.prototype.queryRenderedFeatures=function(e,i,o){i&&i.filter&&this._validate(t.validateStyle.filter,\"queryRenderedFeatures.filter\",i.filter,null,i);var r={};if(i&&i.layers){if(!Array.isArray(i.layers))return this.fire(new t.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var a=0,n=i.layers;a<n.length;a+=1){var s=n[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[];r[l.source]=!0;}}var c=[];for(var u in i.availableImages=this._availableImages,this.sourceCaches)i.layers&&!r[u]||c.push(O(this.sourceCaches[u],this._layers,this._serializedLayers,e,i,o));return this.placement&&c.push(function(t,e,i,o,r,a,n){for(var s={},l=a.queryRenderedSymbols(o),c=[],u=0,h=Object.keys(l).map(Number);u<h.length;u+=1)c.push(n[h[u]]);c.sort(F);for(var p=function(){var i=_[d],o=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],e,i.bucketIndex,i.sourceLayerIndex,r.filter,r.layers,r.availableImages,t);for(var a in o){var n=s[a]=s[a]||[],c=o[a];c.sort((function(t,e){var o=i.featureSortOrder;if(o){var r=o.indexOf(t.featureIndex);return o.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(var u=0,h=c;u<h.length;u+=1)n.push(h[u]);}},d=0,_=c;d<_.length;d+=1)p();var f=function(e){s[e].forEach((function(o){var r=o.feature,a=i[t[e].source].getFeatureState(r.layer[\"source-layer\"],r.id);r.source=r.layer.source,r.layer[\"source-layer\"]&&(r.sourceLayer=r.layer[\"source-layer\"]),r.state=a;}));};for(var m in s)f(m);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},i.prototype.querySourceFeatures=function(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",i.filter,null,i);var o=this.sourceCaches[e];return o?function(t,e){for(var i=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),o=[],r={},a=0;a<i.length;a++){var n=i[a],s=n.tileID.canonical.key;r[s]||(r[s]=!0,n.querySourceFeatures(o,e));}return o}(o,i):[]},i.prototype.addSourceType=function(t,e,o){return i.getSourceType(t)?o(new Error('A source type called \"'+t+'\" already exists.')):(i.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},o):o(null,null))},i.prototype.getLight=function(){return this.light.getLight()},i.prototype.setLight=function(e,i){void 0===i&&(i={}),this._checkLoaded();var o=this.light.getLight(),r=!1;for(var a in e)if(!t.deepEqual(e[a],o[a])){r=!0;break}if(r){var n={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,i),this.light.updateTransitions(n);}},i.prototype._validate=function(e,i,o,r,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Ue(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:o,styleSpec:t.styleSpec},r)))},i.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback),this._layers)this._layers[e].setEventedParent(null);for(var i in this.sourceCaches)this.sourceCaches[i].clearTiles(),this.sourceCaches[i].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove();},i.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles();},i.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload();},i.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t);},i.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t);},i.prototype._updatePlacement=function(e,i,o,r,a){void 0===a&&(a=!1);for(var n=!1,s=!1,l={},c=0,u=this._order;c<u.length;c+=1){var h=this._layers[u[c]];if(\"symbol\"===h.type){if(!l[h.source]){var p=this.sourceCaches[h.source];l[h.source]=p.getRenderableIds(!0).map((function(t){return p.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}));}var d=this.crossTileSymbolIndex.addLayer(h,l[h.source],e.center.lng);n=n||d;}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===o)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new Le(e,this._order,a,i,o,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),s=!0),n&&this.pauseablePlacement.placement.setStale()),s||n)for(var _=0,f=this._order;_<f.length;_+=1){var m=this._layers[f[_]];\"symbol\"===m.type&&this.placement.updateLayerOpacities(m,l[m.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},i.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();},i.prototype.getImages=function(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();var o=this.sourceCaches[e.source];o&&o.setDependencies(e.tileID.key,e.type,e.icons);},i.prototype.getGlyphs=function(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);},i.prototype.getResource=function(e,i,o){return t.makeRequest(i,o)},i}(t.Evented);je.getSourceType=function(t){return k[t]},je.setSourceType=function(t,e){k[t]=e;},je.registerForPluginStateChange=t.registerForPluginStateChange;var Ve=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Ge=gi(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\"),We=gi(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Xe=gi(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),He=gi(\"varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),Ke=gi(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Ye=gi(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),Je=gi(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),Qe=gi(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),$e=gi(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),ti=gi(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),ei=gi(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),ii=gi(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),oi=gi(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ri=gi(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),ai=gi(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),ni=gi(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),si=gi(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),li=gi(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),ci=gi(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),ui=gi(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),hi=gi(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),pi=gi(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),di=gi(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),_i=gi(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),fi=gi(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),mi=gi(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function gi(t,e){var i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,o=e.match(/attribute ([\\w]+) ([\\w]+)/g),r=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),a=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),n=a?a.concat(r):r,s={};return {fragmentSource:t=t.replace(i,(function(t,e,i,o,r){return s[r]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nvarying \"+i+\" \"+o+\" \"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\"})),vertexSource:e=e.replace(i,(function(t,e,i,o,r){var a=\"float\"===o?\"vec2\":\"vec4\",n=r.match(/color/)?\"color\":a;return s[r]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nuniform lowp float u_\"+r+\"_t;\\nattribute \"+i+\" \"+a+\" a_\"+r+\";\\nvarying \"+i+\" \"+o+\" \"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"vec4\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+r+\" = a_\"+r+\";\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+r+\" = unpack_mix_\"+n+\"(a_\"+r+\", u_\"+r+\"_t);\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nuniform lowp float u_\"+r+\"_t;\\nattribute \"+i+\" \"+a+\" a_\"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"vec4\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = a_\"+r+\";\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = unpack_mix_\"+n+\"(a_\"+r+\", u_\"+r+\"_t);\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\"})),staticAttributes:o,staticUniforms:n}}var vi=Object.freeze({__proto__:null,prelude:Ge,background:We,backgroundPattern:Xe,circle:He,clippingMask:Ke,heatmap:Ye,heatmapTexture:Je,collisionBox:Qe,collisionCircle:$e,debug:ti,fill:ei,fillOutline:ii,fillOutlinePattern:oi,fillPattern:ri,fillExtrusion:ai,fillExtrusionPattern:ni,hillshadePrepare:si,hillshade:li,line:ci,lineGradient:ui,linePattern:hi,lineSDF:pi,raster:di,symbolIcon:_i,symbolSDF:fi,symbolTextAndIcon:mi}),yi=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;};function xi(t){for(var e=[],i=0;i<t.length;i++)if(null!==t[i]){var o=t[i].split(\" \");e.push(o.pop());}return e}yi.prototype.bind=function(t,e,i,o,r,a,n,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==o.length,c=0;!l&&c<o.length;c++)this.boundPaintVertexBuffers[c]!==o[c]&&(l=!0);t.extVertexArrayObject&&this.vao&&this.boundProgram===e&&this.boundLayoutVertexBuffer===i&&!l&&this.boundIndexBuffer===r&&this.boundVertexOffset===a&&this.boundDynamicVertexBuffer===n&&this.boundDynamicVertexBuffer2===s?(t.bindVertexArrayOES.set(this.vao),n&&n.bind(),r&&r.dynamicDraw&&r.bind(),s&&s.bind()):this.freshBind(e,i,o,r,a,n,s);},yi.prototype.freshBind=function(t,e,i,o,r,a,n){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=i,this.boundIndexBuffer=o,this.boundVertexOffset=r,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=n;else {s=c.currentNumAttributes||0;for(var h=l;h<s;h++)u.disableVertexAttribArray(h);}e.enableAttributes(u,t);for(var p=0,d=i;p<d.length;p+=1)d[p].enableAttributes(u,t);a&&a.enableAttributes(u,t),n&&n.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,r);for(var _=0,f=i;_<f.length;_+=1){var m=f[_];m.bind(),m.setVertexAttribPointers(u,t,r);}a&&(a.bind(),a.setVertexAttribPointers(u,t,r)),o&&o.bind(),n&&(n.bind(),n.setVertexAttribPointers(u,t,r)),c.currentNumAttributes=l;},yi.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null);};var bi=function(t,e,i,o,r,a){var n=t.gl;this.program=n.createProgram();for(var s=xi(i.staticAttributes),l=o?o.getBinderAttributes():[],c=s.concat(l),u=i.staticUniforms?xi(i.staticUniforms):[],h=o?o.getBinderUniforms():[],p=[],d=0,_=u.concat(h);d<_.length;d+=1){var f=_[d];p.indexOf(f)<0&&p.push(f);}var m=o?o.defines():[];a&&m.push(\"#define OVERDRAW_INSPECTOR;\");var g=m.concat(Ge.fragmentSource,i.fragmentSource).join(\"\\n\"),v=m.concat(Ge.vertexSource,i.vertexSource).join(\"\\n\"),y=n.createShader(n.FRAGMENT_SHADER);if(n.isContextLost())this.failedToCreate=!0;else {n.shaderSource(y,g),n.compileShader(y),n.attachShader(this.program,y);var x=n.createShader(n.VERTEX_SHADER);if(n.isContextLost())this.failedToCreate=!0;else {n.shaderSource(x,v),n.compileShader(x),n.attachShader(this.program,x),this.attributes={};var b={};this.numAttributes=c.length;for(var w=0;w<this.numAttributes;w++)c[w]&&(n.bindAttribLocation(this.program,w,c[w]),this.attributes[c[w]]=w);n.linkProgram(this.program),n.deleteShader(x),n.deleteShader(y);for(var T=0;T<p.length;T++){var E=p[T];if(E&&!b[E]){var I=n.getUniformLocation(this.program,E);I&&(b[E]=I);}}this.fixedUniforms=r(t,b),this.binderUniforms=o?o.getUniforms(t,b):[];}}};function wi(t,e,i){var o=1/pe(i,1,e.transform.tileZoom),r=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/r,n=a*(i.tileID.canonical.x+i.tileID.wrap*r),s=a*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[o,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[n>>16,s>>16],u_pixel_coord_lower:[65535&n,65535&s]}}bi.prototype.draw=function(t,e,i,o,r,a,n,s,l,c,u,h,p,d,_,f){var m,g=t.gl;if(!this.failedToCreate){for(var v in t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(o),t.setColorMode(r),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(n[v]);d&&d.setUniforms(t,this.binderUniforms,h,{zoom:p});for(var y=(m={},m[g.LINES]=2,m[g.TRIANGLES]=3,m[g.LINE_STRIP]=1,m)[e],x=0,b=u.get();x<b.length;x+=1){var w=b[x],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new yi)).bind(t,this,l,d?d.getPaintVertexBuffers():[],c,w.vertexOffset,_,f),g.drawElements(e,w.primitiveLength*y,g.UNSIGNED_SHORT,w.primitiveOffset*y*2);}}};var Ti=function(e,i,o,r){var a=i.style.light,n=a.properties.get(\"position\"),s=[n.x,n.y,n.z],l=t.create$1();\"viewport\"===a.properties.get(\"anchor\")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get(\"color\");return {u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+o,u_opacity:r}},Ei=function(e,i,o,r,a,n,s){return t.extend(Ti(e,i,o,r),wi(n,i,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Ii=function(t){return {u_matrix:t}},Pi=function(e,i,o,r){return t.extend(Ii(e),wi(o,i,r))},Si=function(t,e){return {u_matrix:t,u_world:e}},Ci=function(e,i,o,r,a){return t.extend(Pi(e,i,o,r),{u_world:a})},zi=function(e,i,o,r){var a,n,s=e.transform;if(\"map\"===r.paint.get(\"circle-pitch-alignment\")){var l=pe(o,1,s.zoom);a=!0,n=[l,l];}else a=!1,n=s.pixelsToGLUnits;return {u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===r.paint.get(\"circle-pitch-scale\")),u_matrix:e.translatePosMatrix(i.posMatrix,o,r.paint.get(\"circle-translate\"),r.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:n}},Di=function(t,e,i){var o=pe(i,1,e.zoom),r=Math.pow(2,e.zoom-i.tileID.overscaledZ),a=i.tileID.overscaleFactor();return {u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:o,u_extrude_scale:[e.pixelsToGLUnits[0]/(o*r),e.pixelsToGLUnits[1]/(o*r)],u_overscale_factor:a}},Ai=function(t,e,i){return {u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}},Mi=function(t,e,i){return void 0===i&&(i=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}},Li=function(t){return {u_matrix:t}},Ri=function(t,e,i,o){return {u_matrix:t,u_extrude_scale:pe(e,1,i),u_intensity:o}},ki=function(e,i,o){var r=e.transform;return {u_matrix:Ni(e,i,o),u_ratio:1/pe(i,1,r.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/r.pixelsToGLUnits[0],1/r.pixelsToGLUnits[1]]}},Bi=function(e,i,o,r){return t.extend(ki(e,i,o),{u_image:0,u_image_height:r})},Oi=function(e,i,o,r){var a=e.transform,n=Ui(i,a);return {u_matrix:Ni(e,i,o),u_texsize:i.imageAtlasTexture.size,u_ratio:1/pe(i,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[n,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Fi=function(e,i,o,r,a){var n=e.lineAtlas,s=Ui(i,e.transform),l=\"round\"===o.layout.get(\"line-cap\"),c=n.getDash(r.from,l),u=n.getDash(r.to,l),h=c.width*a.fromScale,p=u.width*a.toScale;return t.extend(ki(e,i,o),{u_patternscale_a:[s/h,-c.height/2],u_patternscale_b:[s/p,-u.height/2],u_sdfgamma:n.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:a.t})};function Ui(t,e){return 1/pe(t,1,e.tileZoom)}function Ni(t,e,i){return t.translatePosMatrix(e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}var Zi=function(t,e,i,o,r){return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:o.mix,u_opacity:o.opacity*r.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(\"raster-brightness-min\"),u_brightness_high:r.paint.get(\"raster-brightness-max\"),u_saturation_factor:(n=r.paint.get(\"raster-saturation\"),n>0?1-1/(1.001-n):-n),u_contrast_factor:(a=r.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:qi(r.paint.get(\"raster-hue-rotate\"))};var a,n;};function qi(t){t*=Math.PI/180;var e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}var ji,Vi=function(t,e,i,o,r,a,n,s,l,c){var u=r.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:u.width/u.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:n,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+o,u_texsize:c,u_texture:0}},Gi=function(e,i,o,r,a,n,s,l,c,u,h){var p=a.transform;return t.extend(Vi(e,i,o,r,a,n,s,l,c,u),{u_gamma_scale:r?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Wi=function(e,i,o,r,a,n,s,l,c,u){return t.extend(Gi(e,i,o,r,a,n,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Xi=function(t,e,i){return {u_matrix:t,u_opacity:e,u_color:i}},Hi=function(e,i,o,r,a,n){return t.extend(function(t,e,i,o){var r=i.imageManager.getPattern(t.from.toString()),a=i.imageManager.getPattern(t.to.toString()),n=i.imageManager.getPixelSize(),s=n.width,l=n.height,c=Math.pow(2,o.tileID.overscaledZ),u=o.tileSize*Math.pow(2,i.transform.tileZoom)/c,h=u*(o.tileID.canonical.x+o.tileID.wrap*c),p=u*o.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:r.tl,u_pattern_br_a:r.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:r.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/pe(o,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,p>>16],u_pixel_coord_lower:[65535&h,65535&p]}}(r,n,o,a),{u_matrix:e,u_opacity:i})},Ki={fillExtrusion:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fillExtrusionPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fill:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},fillPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},fillOutline:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}},fillOutlinePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},circle:function(e,i){return {u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},collisionBox:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}},collisionCircle:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}},debug:function(e,i){return {u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}},clippingMask:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmap:function(e,i){return {u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmapTexture:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}},hillshade:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}},hillshadePrepare:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}},line:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}},lineGradient:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}},linePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},lineSDF:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}},raster:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}},symbolIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}},symbolSDF:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},symbolTextAndIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},background:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}},backgroundPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}}};function Yi(e,i,o,r,a,n,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),h=[],p=0,d=0,_=0;_<r.length;_++){var f=r[_],m=i.getTile(f),g=m.getBucket(o);if(g){var v=f.posMatrix;0===a[0]&&0===a[1]||(v=e.translatePosMatrix(f.posMatrix,m,a,n));var y=s?g.textCollisionBox:g.iconCollisionBox,x=g.collisionCircleArray;if(x.length>0){var b=t.create(),w=v;t.mul(b,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(b,b,g.placementViewportMatrix),h.push({circleArray:x,circleOffset:d,transform:w,invTransform:b}),d=p+=x.length/4;}y&&u.draw(l,c.LINES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,Di(v,e.transform,m),o.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer);}}if(s&&h.length){var T=e.useProgram(\"collisionCircle\"),E=new t.StructArrayLayout2f1f2i16;E.resize(4*p),E._trim();for(var I=0,P=0,S=h;P<S.length;P+=1)for(var C=S[P],z=0;z<C.circleArray.length/4;z++){var D=4*z,A=C.circleArray[D+0],M=C.circleArray[D+1],L=C.circleArray[D+2],R=C.circleArray[D+3];E.emplace(I++,A,M,L,R,0),E.emplace(I++,A,M,L,R,1),E.emplace(I++,A,M,L,R,2),E.emplace(I++,A,M,L,R,3);}(!ji||ji.length<2*p)&&(ji=function(e){var i=2*e,o=new t.StructArrayLayout3ui6;o.resize(i),o._trim();for(var r=0;r<i;r++){var a=6*r;o.uint16[a+0]=4*r+0,o.uint16[a+1]=4*r+1,o.uint16[a+2]=4*r+2,o.uint16[a+3]=4*r+2,o.uint16[a+4]=4*r+3,o.uint16[a+5]=4*r+0;}return o}(p));for(var k=l.createIndexBuffer(ji,!0),B=l.createVertexBuffer(E,t.collisionCircleLayout.members,!0),O=0,F=h;O<F.length;O+=1){var U=F[O],N=Ai(U.transform,U.invTransform,e.transform);T.draw(l,c.TRIANGLES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,N,o.id,B,k,t.SegmentVector.simpleSegment(0,2*U.circleOffset,U.circleArray.length,U.circleArray.length/2),null,e.transform.zoom,null,null,null);}B.destroy(),k.destroy();}}var Ji=t.identity(new Float32Array(16));function Qi(e,i,o,r,a,n){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*i,c=-(s.verticalAlign-.5)*o,u=t.evaluateVariableOffset(e,r);return new t.Point((l/a+u[0])*n,(c/a+u[1])*n)}function $i(e,i,o,r,a,n,s,l,c,u,h){var p=e.text.placedSymbolArray,d=e.text.dynamicLayoutVertexArray,_=e.icon.dynamicLayoutVertexArray,f={};d.clear();for(var m=0;m<p.length;m++){var g=p.get(m),v=g.hidden||!g.crossTileID||e.allowVerticalPlacement&&!g.placedOrientation?null:r[g.crossTileID];if(v){var y=new t.Point(g.anchorX,g.anchorY),x=$t(y,o?l:s),b=te(n.cameraToCenterDistance,x.signedDistanceFromCamera),w=a.evaluateSizeForFeature(e.textSizeData,u,g)*b/t.ONE_EM;o&&(w*=e.tilePixelRatio/c);for(var T=Qi(v.anchor,v.width,v.height,v.textOffset,v.textBoxScale,w),E=o?$t(y.add(T),s).point:x.point.add(i?T.rotate(-n.angle):T),I=e.allowVerticalPlacement&&g.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,P=0;P<g.numGlyphs;P++)t.addDynamicAttributes(d,E,I);h&&g.associatedIconIndex>=0&&(f[g.associatedIconIndex]={shiftedAnchor:E,angle:I});}else ce(g.numGlyphs,d);}if(h){_.clear();for(var S=e.icon.placedSymbolArray,C=0;C<S.length;C++){var z=S.get(C);if(z.hidden)ce(z.numGlyphs,_);else {var D=f[C];if(D)for(var A=0;A<z.numGlyphs;A++)t.addDynamicAttributes(_,D.shiftedAnchor,D.angle);else ce(z.numGlyphs,_);}}e.icon.dynamicLayoutVertexBuffer.updateData(_);}e.text.dynamicLayoutVertexBuffer.updateData(d);}function to(t,e,i){return i.iconsInText&&e?\"symbolTextAndIcon\":t?\"symbolSDF\":\"symbolIcon\"}function eo(e,i,o,r,a,n,s,l,c,u,h,p){for(var d=e.context,_=d.gl,f=e.transform,m=\"map\"===l,g=\"map\"===c,v=m&&\"point\"!==o.layout.get(\"symbol-placement\"),y=m&&!g&&!v,x=void 0!==o.layout.get(\"symbol-sort-key\").constantOr(1),b=!1,w=e.depthModeForSublayer(0,It.ReadOnly),T=o.layout.get(\"text-variable-anchor\"),E=[],I=0,P=r;I<P.length;I+=1){var S=P[I],C=i.getTile(S),z=C.getBucket(o);if(z){var D=a?z.text:z.icon;if(D&&D.segments.get().length){var A=D.programConfigurations.get(o.id),M=a||z.sdfIcons,L=a?z.textSizeData:z.iconSizeData,R=g||0!==f.pitch,k=e.useProgram(to(M,a,z),A),B=t.evaluateSizeForZoom(L,f.zoom),O=void 0,F=[0,0],U=void 0,N=void 0,Z=null,q=void 0;if(a)U=C.glyphAtlasTexture,N=_.LINEAR,O=C.glyphAtlasTexture.size,z.iconsInText&&(F=C.imageAtlasTexture.size,Z=C.imageAtlasTexture,q=R||e.options.rotating||e.options.zooming||\"composite\"===L.kind||\"camera\"===L.kind?_.LINEAR:_.NEAREST);else {var j=1!==o.layout.get(\"icon-size\").constantOr(0)||z.iconsNeedLinear;U=C.imageAtlasTexture,N=M||e.options.rotating||e.options.zooming||j||R?_.LINEAR:_.NEAREST,O=C.imageAtlasTexture.size;}var V=pe(C,1,e.transform.zoom),G=Jt(S.posMatrix,g,m,e.transform,V),W=Qt(S.posMatrix,g,m,e.transform,V),X=T&&z.hasTextData(),H=\"none\"!==o.layout.get(\"icon-text-fit\")&&X&&z.hasIconData();v&&ie(z,S.posMatrix,e,a,G,W,g,u);var K=e.translatePosMatrix(S.posMatrix,C,n,s),Y=v||a&&T||H?Ji:G,J=e.translatePosMatrix(W,C,n,s,!0),Q=M&&0!==o.paint.get(a?\"text-halo-width\":\"icon-halo-width\").constantOr(1),$={program:k,buffers:D,uniformValues:M?z.iconsInText?Wi(L.kind,B,y,g,e,K,Y,J,O,F):Gi(L.kind,B,y,g,e,K,Y,J,a,O,!0):Vi(L.kind,B,y,g,e,K,Y,J,a,O),atlasTexture:U,atlasTextureIcon:Z,atlasInterpolation:N,atlasInterpolationIcon:q,isSDF:M,hasHalo:Q};if(x&&z.canOverlap){b=!0;for(var tt=0,et=D.segments.get();tt<et.length;tt+=1){var it=et[tt];E.push({segments:new t.SegmentVector([it]),sortKey:it.sortKey,state:$});}}else E.push({segments:D.segments,sortKey:0,state:$});}}}b&&E.sort((function(t,e){return t.sortKey-e.sortKey}));for(var ot=0,rt=E;ot<rt.length;ot+=1){var at=rt[ot],nt=at.state;if(d.activeTexture.set(_.TEXTURE0),nt.atlasTexture.bind(nt.atlasInterpolation,_.CLAMP_TO_EDGE),nt.atlasTextureIcon&&(d.activeTexture.set(_.TEXTURE1),nt.atlasTextureIcon&&nt.atlasTextureIcon.bind(nt.atlasInterpolationIcon,_.CLAMP_TO_EDGE)),nt.isSDF){var st=nt.uniformValues;nt.hasHalo&&(st.u_is_halo=1,io(nt.buffers,at.segments,o,e,nt.program,w,h,p,st)),st.u_is_halo=0;}io(nt.buffers,at.segments,o,e,nt.program,w,h,p,nt.uniformValues);}}function io(t,e,i,o,r,a,n,s,l){var c=o.context;r.draw(c,c.gl.TRIANGLES,a,n,s,Ct.disabled,l,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,o.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function oo(t,e,i,o,r,a,n){var s,l,c,u,h,p=t.context.gl,d=i.paint.get(\"fill-pattern\"),_=d&&d.constantOr(1),f=i.getCrossfadeParameters();n?(l=_&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",s=p.LINES):(l=_?\"fillPattern\":\"fill\",s=p.TRIANGLES);for(var m=0,g=o;m<g.length;m+=1){var v=g[m],y=e.getTile(v);if(!_||y.patternsLoaded()){var x=y.getBucket(i);if(x){var b=x.programConfigurations.get(i.id),w=t.useProgram(l,b);_&&(t.context.activeTexture.set(p.TEXTURE0),y.imageAtlasTexture.bind(p.LINEAR,p.CLAMP_TO_EDGE),b.updatePaintBuffers(f));var T=d.constantOr(null);if(T&&y.imageAtlas){var E=y.imageAtlas,I=E.patternPositions[T.to.toString()],P=E.patternPositions[T.from.toString()];I&&P&&b.setConstantPatternPositions(I,P);}var S=t.translatePosMatrix(v.posMatrix,y,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(n){u=x.indexBuffer2,h=x.segments2;var C=[p.drawingBufferWidth,p.drawingBufferHeight];c=\"fillOutlinePattern\"===l&&_?Ci(S,t,f,y,C):Si(S,C);}else u=x.indexBuffer,h=x.segments,c=_?Pi(S,t,f,y):Ii(S);w.draw(t.context,s,r,t.stencilModeForClipping(v),a,Ct.disabled,c,i.id,x.layoutVertexBuffer,u,h,i.paint,t.transform.zoom,b);}}}}function ro(t,e,i,o,r,a,n){for(var s=t.context,l=s.gl,c=i.paint.get(\"fill-extrusion-pattern\"),u=c.constantOr(1),h=i.getCrossfadeParameters(),p=i.paint.get(\"fill-extrusion-opacity\"),d=0,_=o;d<_.length;d+=1){var f=_[d],m=e.getTile(f),g=m.getBucket(i);if(g){var v=g.programConfigurations.get(i.id),y=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",v);u&&(t.context.activeTexture.set(l.TEXTURE0),m.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),v.updatePaintBuffers(h));var x=c.constantOr(null);if(x&&m.imageAtlas){var b=m.imageAtlas,w=b.patternPositions[x.to.toString()],T=b.patternPositions[x.from.toString()];w&&T&&v.setConstantPatternPositions(w,T);}var E=t.translatePosMatrix(f.posMatrix,m,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),I=i.paint.get(\"fill-extrusion-vertical-gradient\"),P=u?Ei(E,t,I,p,f,h,m):Ti(E,t,I,p);y.draw(s,s.gl.TRIANGLES,r,a,n,Ct.backCCW,P,i.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,i.paint,t.transform.zoom,v);}}}function ao(e,i,o,r,a,n){var s=e.context,l=s.gl,c=i.fbo;if(c){var u=e.useProgram(\"hillshade\");s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get());var h=function(e,i,o){var r=o.paint.get(\"hillshade-shadow-color\"),a=o.paint.get(\"hillshade-highlight-color\"),n=o.paint.get(\"hillshade-accent-color\"),s=o.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===o.paint.get(\"hillshade-illumination-anchor\")&&(s-=e.transform.angle);var l,c,u,h=!e.options.moving;return {u_matrix:e.transform.calculatePosMatrix(i.tileID.toUnwrapped(),h),u_image:0,u_latrange:(l=i.tileID,c=Math.pow(2,l.canonical.z),u=l.canonical.y,[new t.MercatorCoordinate(0,u/c).toLngLat().lat,new t.MercatorCoordinate(0,(u+1)/c).toLngLat().lat]),u_light:[o.paint.get(\"hillshade-exaggeration\"),s],u_shadow:r,u_highlight:a,u_accent:n}}(e,i,o);u.draw(s,l.TRIANGLES,r,a,n,Ct.disabled,h,o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments);}}function no(e,i,o,r,a,n){var s=e.context,l=s.gl,c=i.dem;if(c&&c.data){var u=c.dim,h=c.stride,p=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(h),i.demTexture){var d=i.demTexture;d.update(p,{premultiply:!1}),d.bind(l.NEAREST,l.CLAMP_TO_EDGE);}else i.demTexture=new t.Texture(s,p,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);s.activeTexture.set(l.TEXTURE0);var _=i.fbo;if(!_){var f=new t.Texture(s,{width:u,height:u,data:null},l.RGBA);f.bind(l.LINEAR,l.CLAMP_TO_EDGE),(_=i.fbo=s.createFramebuffer(u,u,!0)).colorAttachment.set(f.texture);}s.bindFramebuffer.set(_.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram(\"hillshadePrepare\").draw(s,l.TRIANGLES,r,a,n,Ct.disabled,function(e,i){var o=i.stride,r=t.create();return t.ortho(r,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(r,r,[0,-t.EXTENT,0]),{u_matrix:r,u_image:1,u_dimension:[o,o],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}}(i.tileID,c),o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function so(e,i,o,r,a){var n=r.paint.get(\"raster-fade-duration\");if(n>0){var s=t.browser.now(),l=(s-e.timeAdded)/n,c=i?(s-i.timeAdded)/n:-1,u=o.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),p=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=p&&e.refreshedUponExpiration?1:t.clamp(p?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return {opacity:1,mix:0}}var lo=new t.Color(1,0,0,1),co=new t.Color(0,1,0,1),uo=new t.Color(0,0,1,1),ho=new t.Color(1,0,1,1),po=new t.Color(0,1,1,1);function _o(t,e,i,o){mo(t,0,e+i/2,t.transform.width,i,o);}function fo(t,e,i,o){mo(t,e-i/2,0,i,t.transform.height,o);}function mo(e,i,o,r,a,n){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*t.browser.devicePixelRatio,o*t.browser.devicePixelRatio,r*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:n}),l.disable(l.SCISSOR_TEST);}function go(e,i,o){var r=e.context,a=r.gl,n=o.posMatrix,s=e.useProgram(\"debug\"),l=It.disabled,c=Pt.disabled,u=e.colorModeForRenderPass();r.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(r,a.LINE_STRIP,l,c,u,Ct.disabled,Mi(n,t.Color.red),\"$debug\",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=i.getTileByID(o.key).latestRawTileData,p=Math.floor((h&&h.byteLength||0)/1024),d=i.getTile(o).tileSize,_=512/Math.min(d,512)*(o.overscaledZ/e.transform.zoom)*.5,f=o.canonical.toString();o.overscaledZ!==o.canonical.z&&(f+=\" => \"+o.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var i=t.debugOverlayCanvas,o=t.context.gl,r=t.debugOverlayCanvas.getContext(\"2d\");r.clearRect(0,0,i.width,i.height),r.shadowColor=\"white\",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle=\"white\",r.textBaseline=\"top\",r.font=\"bold 36px Open Sans, sans-serif\",r.fillText(e,5,5),r.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE);}(e,f+\" \"+p+\"kb\"),s.draw(r,a.TRIANGLES,l,c,St.alphaBlended,Ct.disabled,Mi(n,t.Color.transparent,_),\"$debug\",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments);}var vo={symbol:function(e,i,o,r,a){if(\"translucent\"===e.renderPass){var n=Pt.disabled,s=e.colorModeForRenderPass();o.layout.get(\"text-variable-anchor\")&&function(e,i,o,r,a,n,s){for(var l=i.transform,c=\"map\"===a,u=\"map\"===n,h=0,p=e;h<p.length;h+=1){var d=p[h],_=r.getTile(d),f=_.getBucket(o);if(f&&f.text&&f.text.segments.get().length){var m=t.evaluateSizeForZoom(f.textSizeData,l.zoom),g=pe(_,1,i.transform.zoom),v=Jt(d.posMatrix,u,c,i.transform,g),y=\"none\"!==o.layout.get(\"icon-text-fit\")&&f.hasIconData();if(m){var x=Math.pow(2,l.zoom-_.tileID.overscaledZ);$i(f,c,u,s,t.symbolSize,l,v,d.posMatrix,x,m,y);}}}}(r,e,o,i,o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),a),0!==o.paint.get(\"icon-opacity\").constantOr(1)&&eo(e,i,o,r,!1,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),o.layout.get(\"icon-rotation-alignment\"),o.layout.get(\"icon-pitch-alignment\"),o.layout.get(\"icon-keep-upright\"),n,s),0!==o.paint.get(\"text-opacity\").constantOr(1)&&eo(e,i,o,r,!0,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),o.layout.get(\"text-keep-upright\"),n,s),i.map.showCollisionBoxes&&(Yi(e,i,o,r,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),!0),Yi(e,i,o,r,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),!1));}},circle:function(e,i,o,r){if(\"translucent\"===e.renderPass){var a=o.paint.get(\"circle-opacity\"),n=o.paint.get(\"circle-stroke-width\"),s=o.paint.get(\"circle-stroke-opacity\"),l=void 0!==o.layout.get(\"circle-sort-key\").constantOr(1);if(0!==a.constantOr(1)||0!==n.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,It.ReadOnly),p=Pt.disabled,d=e.colorModeForRenderPass(),_=[],f=0;f<r.length;f++){var m=r[f],g=i.getTile(m),v=g.getBucket(o);if(v){var y=v.programConfigurations.get(o.id),x={programConfiguration:y,program:e.useProgram(\"circle\",y),layoutVertexBuffer:v.layoutVertexBuffer,indexBuffer:v.indexBuffer,uniformValues:zi(e,m,g,o)};if(l)for(var b=0,w=v.segments.get();b<w.length;b+=1){var T=w[b];_.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:x});}else _.push({segments:v.segments,sortKey:0,state:x});}}l&&_.sort((function(t,e){return t.sortKey-e.sortKey}));for(var E=0,I=_;E<I.length;E+=1){var P=I[E],S=P.state;S.program.draw(c,u.TRIANGLES,h,p,d,Ct.disabled,S.uniformValues,o.id,S.layoutVertexBuffer,S.indexBuffer,P.segments,o.paint,e.transform.zoom,S.programConfiguration);}}}},heatmap:function(e,i,o,r){if(0!==o.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){var a=e.context,n=a.gl,s=Pt.disabled,l=new St([n.ONE,n.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){var o=t.gl;t.activeTexture.set(o.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var r=i.heatmapFbo;if(r)o.bindTexture(o.TEXTURE_2D,r.colorAttachment.get()),t.bindFramebuffer.set(r.framebuffer);else {var a=o.createTexture();o.bindTexture(o.TEXTURE_2D,a),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),r=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,o){var r=t.gl;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e.width/4,e.height/4,0,r.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:r.UNSIGNED_BYTE,null),o.colorAttachment.set(i);}(t,e,a,r);}}(a,e,o),a.clear({color:t.Color.transparent});for(var c=0;c<r.length;c++){var u=r[c];if(!i.hasRenderableParent(u)){var h=i.getTile(u),p=h.getBucket(o);if(p){var d=p.programConfigurations.get(o.id);e.useProgram(\"heatmap\",d).draw(a,n.TRIANGLES,It.disabled,s,l,Ct.disabled,Ri(u.posMatrix,h,e.transform.zoom,o.paint.get(\"heatmap-intensity\")),o.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,o.paint,e.transform.zoom,d);}}}a.viewport.set([0,0,e.width,e.height]);}else \"translucent\"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,i){var o=e.context,r=o.gl,a=i.heatmapFbo;if(a){o.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,a.colorAttachment.get()),o.activeTexture.set(r.TEXTURE1);var n=i.colorRampTexture;n||(n=i.colorRampTexture=new t.Texture(o,i.colorRamp,r.RGBA)),n.bind(r.LINEAR,r.CLAMP_TO_EDGE),e.useProgram(\"heatmapTexture\").draw(o,r.TRIANGLES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,function(e,i,o,r){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var n=e.context.gl;return {u_matrix:a,u_world:[n.drawingBufferWidth,n.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}}(e,i),i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom);}}(e,o));},line:function(e,i,o,r){if(\"translucent\"===e.renderPass){var a=o.paint.get(\"line-opacity\"),n=o.paint.get(\"line-width\");if(0!==a.constantOr(1)&&0!==n.constantOr(1))for(var s=e.depthModeForSublayer(0,It.ReadOnly),l=e.colorModeForRenderPass(),c=o.paint.get(\"line-dasharray\"),u=o.paint.get(\"line-pattern\"),h=u.constantOr(1),p=o.paint.get(\"line-gradient\"),d=o.getCrossfadeParameters(),_=h?\"linePattern\":c?\"lineSDF\":p?\"lineGradient\":\"line\",f=e.context,m=f.gl,g=!0,v=0,y=r;v<y.length;v+=1){var x=y[v],b=i.getTile(x);if(!h||b.patternsLoaded()){var w=b.getBucket(o);if(w){var T=w.programConfigurations.get(o.id),E=e.context.program.get(),I=e.useProgram(_,T),P=g||I.program!==E,S=u.constantOr(null);if(S&&b.imageAtlas){var C=b.imageAtlas,z=C.patternPositions[S.to.toString()],D=C.patternPositions[S.from.toString()];z&&D&&T.setConstantPatternPositions(z,D);}var A=h?Oi(e,b,o,d):c?Fi(e,b,o,c,d):p?Bi(e,b,o,w.lineClipsArray.length):ki(e,b,o);if(h)f.activeTexture.set(m.TEXTURE0),b.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),T.updatePaintBuffers(d);else if(c&&(P||e.lineAtlas.dirty))f.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(f);else if(p){var M=w.gradients[o.id],L=M.texture;if(o.gradientVersion!==M.version){var R=256;if(o.stepInterpolant){var k=i.getSource().maxzoom,B=x.canonical.z===k?Math.ceil(1<<e.transform.maxZoom-x.canonical.z):1;R=t.clamp(t.nextPowerOfTwo(w.maxLineLength/t.EXTENT*1024*B),256,f.maxTextureSize);}M.gradient=t.renderColorRamp({expression:o.gradientExpression(),evaluationKey:\"lineProgress\",resolution:R,image:M.gradient||void 0,clips:w.lineClipsArray}),M.texture?M.texture.update(M.gradient):M.texture=new t.Texture(f,M.gradient,m.RGBA),M.version=o.gradientVersion,L=M.texture;}f.activeTexture.set(m.TEXTURE0),L.bind(o.stepInterpolant?m.NEAREST:m.LINEAR,m.CLAMP_TO_EDGE);}I.draw(f,m.TRIANGLES,s,e.stencilModeForClipping(x),l,Ct.disabled,A,o.id,w.layoutVertexBuffer,w.indexBuffer,w.segments,o.paint,e.transform.zoom,T,w.layoutVertexBuffer2),g=!1;}}}}},fill:function(e,i,o,r){var a=o.paint.get(\"fill-color\"),n=o.paint.get(\"fill-opacity\");if(0!==n.constantOr(1)){var s=e.colorModeForRenderPass(),l=o.paint.get(\"fill-pattern\"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===n.constantOr(0)?\"opaque\":\"translucent\";if(e.renderPass===c){var u=e.depthModeForSublayer(1,\"opaque\"===e.renderPass?It.ReadWrite:It.ReadOnly);oo(e,i,o,r,u,s,!1);}if(\"translucent\"===e.renderPass&&o.paint.get(\"fill-antialias\")){var h=e.depthModeForSublayer(o.getPaintProperty(\"fill-outline-color\")?2:0,It.ReadOnly);oo(e,i,o,r,h,s,!0);}}},\"fill-extrusion\":function(t,e,i,o){var r=i.paint.get(\"fill-extrusion-opacity\");if(0!==r&&\"translucent\"===t.renderPass){var a=new It(t.context.gl.LEQUAL,It.ReadWrite,t.depthRangeFor3D);if(1!==r||i.paint.get(\"fill-extrusion-pattern\").constantOr(1))ro(t,e,i,o,a,Pt.disabled,St.disabled),ro(t,e,i,o,a,t.stencilModeFor3D(),t.colorModeForRenderPass());else {var n=t.colorModeForRenderPass();ro(t,e,i,o,a,Pt.disabled,n);}}},hillshade:function(t,e,i,o){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){for(var r=t.context,a=t.depthModeForSublayer(0,It.ReadOnly),n=t.colorModeForRenderPass(),s=\"translucent\"===t.renderPass?t.stencilConfigForOverlap(o):[{},o],l=s[0],c=0,u=s[1];c<u.length;c+=1){var h=u[c],p=e.getTile(h);p.needsHillshadePrepare&&\"offscreen\"===t.renderPass?no(t,p,i,a,Pt.disabled,n):\"translucent\"===t.renderPass&&ao(t,p,i,a,l[h.overscaledZ],n);}r.viewport.set([0,0,t.width,t.height]);}},raster:function(t,e,i,o){if(\"translucent\"===t.renderPass&&0!==i.paint.get(\"raster-opacity\")&&o.length)for(var r=t.context,a=r.gl,n=e.getSource(),s=t.useProgram(\"raster\"),l=t.colorModeForRenderPass(),c=n instanceof M?[{},o]:t.stencilConfigForOverlap(o),u=c[0],h=c[1],p=h[h.length-1].overscaledZ,d=!t.options.moving,_=0,f=h;_<f.length;_+=1){var m=f[_],g=t.depthModeForSublayer(m.overscaledZ-p,1===i.paint.get(\"raster-opacity\")?It.ReadWrite:It.ReadOnly,a.LESS),v=e.getTile(m),y=t.transform.calculatePosMatrix(m.toUnwrapped(),d);v.registerFadeDuration(i.paint.get(\"raster-fade-duration\"));var x=e.findLoadedParent(m,0),b=so(v,x,e,i,t.transform),w=void 0,T=void 0,E=\"nearest\"===i.paint.get(\"raster-resampling\")?a.NEAREST:a.LINEAR;r.activeTexture.set(a.TEXTURE0),v.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),r.activeTexture.set(a.TEXTURE1),x?(x.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,x.tileID.overscaledZ-v.tileID.overscaledZ),T=[v.tileID.canonical.x*w%1,v.tileID.canonical.y*w%1]):v.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var I=Zi(y,T||[0,0],w||1,b,i);n instanceof M?s.draw(r,a.TRIANGLES,g,Pt.disabled,l,Ct.disabled,I,i.id,n.boundsBuffer,t.quadTriangleIndexBuffer,n.boundsSegments):s.draw(r,a.TRIANGLES,g,u[m.overscaledZ],l,Ct.disabled,I,i.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}},background:function(t,e,i){var o=i.paint.get(\"background-color\"),r=i.paint.get(\"background-opacity\");if(0!==r){var a=t.context,n=a.gl,s=t.transform,l=s.tileSize,c=i.paint.get(\"background-pattern\");if(!t.isPatternMissing(c)){var u=!c&&1===o.a&&1===r&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass===u){var h=Pt.disabled,p=t.depthModeForSublayer(0,\"opaque\"===u?It.ReadWrite:It.ReadOnly),d=t.colorModeForRenderPass(),_=t.useProgram(c?\"backgroundPattern\":\"background\"),f=s.coveringTiles({tileSize:l});c&&(a.activeTexture.set(n.TEXTURE0),t.imageManager.bind(t.context));for(var m=i.getCrossfadeParameters(),g=0,v=f;g<v.length;g+=1){var y=v[g],x=t.transform.calculatePosMatrix(y.toUnwrapped()),b=c?Hi(x,r,t,c,{tileID:y,tileSize:l},m):Xi(x,r,o);_.draw(a,n.TRIANGLES,p,h,d,Ct.disabled,b,i.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments);}}}}},debug:function(t,e,i){for(var o=0;o<i.length;o++)go(t,e,i[o]);},custom:function(t,e,i){var o=t.context,r=i.implementation;if(\"offscreen\"===t.renderPass){var a=r.prerender;a&&(t.setCustomLayerDefaults(),o.setColorMode(t.colorModeForRenderPass()),a.call(r,o.gl,t.transform.customLayerMatrix()),o.setDirty(),t.setBaseState());}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),o.setColorMode(t.colorModeForRenderPass()),o.setStencilMode(Pt.disabled);var n=\"3d\"===r.renderingMode?new It(t.context.gl.LEQUAL,It.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,It.ReadOnly);o.setDepthMode(n),r.render(o.gl,t.transform.customLayerMatrix()),o.setDirty(),t.setBaseState(),o.bindFramebuffer.set(null);}}},yo=function(t,e){this.context=new zt(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Dt.maxUnderzooming+Dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Fe,this.gpuTimers={};};yo.prototype.resize=function(e,i){if(this.width=e*t.browser.devicePixelRatio,this.height=i*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var o=0,r=this.style._order;o<r.length;o+=1)this.style._layers[r[o]].resize();},yo.prototype.setup=function(){var e=this.context,i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,Ve.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout2i4;o.emplaceBack(0,0),o.emplaceBack(t.EXTENT,0),o.emplaceBack(0,t.EXTENT),o.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(o,Ve.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var r=new t.StructArrayLayout4i8;r.emplaceBack(0,0,0,0),r.emplaceBack(t.EXTENT,0,t.EXTENT,0),r.emplaceBack(0,t.EXTENT,0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(r,A.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Ve.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout1ui2;n.emplaceBack(0),n.emplaceBack(1),n.emplaceBack(3),n.emplaceBack(2),n.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(n);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new Pt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);},yo.prototype.clearStencil=function(){var e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var o=t.create();t.ortho(o,0,this.width,this.height,0,0,1),t.scale(o,o,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(e,i.TRIANGLES,It.disabled,this.stencilClearMode,St.disabled,Ct.disabled,Li(o),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);},yo.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var i=this.context,o=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(St.disabled),i.setDepthMode(It.disabled);var r=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,n=e;a<n.length;a+=1){var s=n[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;r.draw(i,o.TRIANGLES,It.disabled,new Pt({func:o.ALWAYS,mask:0},l,255,o.KEEP,o.KEEP,o.REPLACE),St.disabled,Ct.disabled,Li(s.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}},yo.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Pt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},yo.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Pt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},yo.prototype.stencilConfigForOverlap=function(t){var e,i=this.context.gl,o=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),r=o[o.length-1].overscaledZ,a=o[0].overscaledZ-r+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var n={},s=0;s<a;s++)n[s+r]=new Pt({func:i.GEQUAL,mask:255},s+this.nextStencilID,255,i.KEEP,i.KEEP,i.REPLACE);return this.nextStencilID+=a,[n,o]}return [(e={},e[r]=Pt.disabled,e),o]},yo.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?St.unblended:St.alphaBlended},yo.prototype.depthModeForSublayer=function(t,e,i){if(!this.opaquePassEnabledForLayer())return It.disabled;var o=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new It(i||this.context.gl.LEQUAL,e,[o,o])},yo.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},yo.prototype.render=function(e,i){var o=this;this.style=e,this.options=i,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var r=this.style._order,a=this.style.sourceCaches;for(var n in a){var s=a[n];s.used&&s.prepare(this.context);}var l,c,u={},h={},p={};for(var d in a){var _=a[d];u[d]=_.getVisibleCoordinates(),h[d]=u[d].slice().reverse(),p[d]=_.getVisibleCoordinates(!0).reverse();}this.opaquePassCutoff=1/0;for(var f=0;f<r.length;f++)if(this.style._layers[r[f]].is3D()){this.opaquePassCutoff=f;break}this.renderPass=\"offscreen\";for(var m=0,g=r;m<g.length;m+=1){var v=this.style._layers[g[m]];if(v.hasOffscreenPass()&&!v.isHidden(this.transform.zoom)){var y=h[v.source];(\"custom\"===v.type||y.length)&&this.renderLayer(this,a[v.source],v,y);}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:i.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=r.length-1;this.currentLayer>=0;this.currentLayer--){var x=this.style._layers[r[this.currentLayer]],b=a[x.source],w=u[x.source];this._renderTileClippingMasks(x,w),this.renderLayer(this,b,x,w);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<r.length;this.currentLayer++){var T=this.style._layers[r[this.currentLayer]],E=a[T.source],I=(\"symbol\"===T.type?p:h)[T.source];this._renderTileClippingMasks(T,u[T.source]),this.renderLayer(this,E,T,I);}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(o.transform.zoom)&&(t.source!==(c&&c.id)&&(c=o.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<c.getSource().maxzoom)&&(l=c));})),l&&vo.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&function(t){var e=t.transform.padding;_o(t,t.transform.height-(e.top||0),3,lo),_o(t,e.bottom||0,3,co),fo(t,e.left||0,3,uo),fo(t,t.transform.width-(e.right||0),3,ho);var i=t.transform.centerPoint;!function(t,e,i,o){mo(t,e-1,i-10,2,20,o),mo(t,e-10,i-1,20,2,o);}(t,i.x,t.transform.height-i.y,po);}(this),this.context.setDefault();},yo.prototype.renderLayer=function(t,e,i,o){i.isHidden(this.transform.zoom)||(\"background\"===i.type||\"custom\"===i.type||o.length)&&(this.id=i.id,this.gpuTimingStart(i),vo[i.type](t,e,i,o,this.style.placement.variableOffsets),this.gpuTimingEnd());},yo.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,i=this.gpuTimers[t.id];i||(i=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),i.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,i.query);}},yo.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT);}},yo.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},yo.prototype.queryGpuTimers=function(t){var e={};for(var i in t){var o=t[i],r=this.context.extTimerQuery,a=r.getQueryObjectEXT(o.query,r.QUERY_RESULT_EXT)/1e6;r.deleteQueryEXT(o.query),e[i]=a;}return e},yo.prototype.translatePosMatrix=function(e,i,o,r,a){if(!o[0]&&!o[1])return e;var n=a?\"map\"===r?this.transform.angle:0:\"viewport\"===r?-this.transform.angle:0;if(n){var s=Math.sin(n),l=Math.cos(n);o=[o[0]*l-o[1]*s,o[0]*s+o[1]*l];}var c=[a?o[0]:pe(i,o[0],this.transform.zoom),a?o[1]:pe(i,o[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},yo.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t];},yo.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},yo.prototype.isPatternMissing=function(t){if(!t)return !1;if(!t.from||!t.to)return !0;var e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i},yo.prototype.useProgram=function(t,e){this.cache=this.cache||{};var i=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[i]||(this.cache[i]=new bi(this.context,t,vi[t],e,Ki[t],this._showOverdrawInspector)),this.cache[i]},yo.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();},yo.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);},yo.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));},yo.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy();};var xo=function(t,e){this.points=t,this.planes=e;};xo.fromInvProjectionMatrix=function(e,i,o){var r=Math.pow(2,o),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(i){return t.transformMat4([],i,e)})).map((function(e){return t.scale$1([],e,1/e[3]/i*r)})),n=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var i=t.sub([],a[e[0]],a[e[1]]),o=t.sub([],a[e[2]],a[e[1]]),r=t.normalize([],t.cross([],i,o)),n=-t.dot(r,a[e[1]]);return r.concat(n)}));return new xo(a,n)};var bo=function(e,i){this.min=e,this.max=i,this.center=t.scale$2([],t.add([],this.min,this.max),.5);};bo.prototype.quadrant=function(e){for(var i=[e%2==0,e<2],o=t.clone$2(this.min),r=t.clone$2(this.max),a=0;a<i.length;a++)o[a]=i[a]?this.min[a]:this.center[a],r[a]=i[a]?this.center[a]:this.max[a];return r[2]=this.max[2],new bo(o,r)},bo.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},bo.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},bo.prototype.intersects=function(e){for(var i=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],o=!0,r=0;r<e.planes.length;r++){for(var a=e.planes[r],n=0,s=0;s<i.length;s++)n+=t.dot$1(a,i[s])>=0;if(0===n)return 0;n!==i.length&&(o=!1);}if(o)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;h<e.points.length;h++){var p=e.points[h][l]-this.min[l];c=Math.min(c,p),u=Math.max(u,p);}if(u<0||c>this.max[l]-this.min[l])return 0}return 1};var wo=function(t,e,i,o){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===o&&(o=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(o)||o<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=i,this.right=o;};wo.prototype.interpolate=function(e,i,o){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,o)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,o)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,o)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,o)),this},wo.prototype.getCenter=function(e,i){var o=t.clamp((this.left+e-this.right)/2,0,e),r=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.Point(o,r)},wo.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},wo.prototype.clone=function(){return new wo(this.top,this.bottom,this.left,this.right)},wo.prototype.toJSON=function(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var To=function(e,i,o,r,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==o?0:o,this._maxPitch=null==r?60:r,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new wo,this._posMatrixCache={},this._alignedPosMatrixCache={};},Eo={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};To.prototype.clone=function(){var t=new To(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Eo.minZoom.get=function(){return this._minZoom},Eo.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));},Eo.maxZoom.get=function(){return this._maxZoom},Eo.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));},Eo.minPitch.get=function(){return this._minPitch},Eo.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));},Eo.maxPitch.get=function(){return this._maxPitch},Eo.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));},Eo.renderWorldCopies.get=function(){return this._renderWorldCopies},Eo.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;},Eo.worldSize.get=function(){return this.tileSize*this.scale},Eo.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Eo.size.get=function(){return new t.Point(this.width,this.height)},Eo.bearing.get=function(){return -this.angle/Math.PI*180},Eo.bearing.set=function(e){var i=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle));},Eo.pitch.get=function(){return this._pitch/Math.PI*180},Eo.pitch.set=function(e){var i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());},Eo.fov.get=function(){return this._fov/Math.PI*180},Eo.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());},Eo.zoom.get=function(){return this._zoom},Eo.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices());},Eo.center.get=function(){return this._center},Eo.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());},Eo.padding.get=function(){return this._edgeInsets.toJSON()},Eo.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());},Eo.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},To.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},To.prototype.interpolatePadding=function(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();},To.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},To.prototype.getVisibleUnwrappedCoordinates=function(e){var i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var o=this.pointCoordinate(new t.Point(0,0)),r=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),n=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(o.x,r.x,a.x,n.x)),l=Math.floor(Math.max(o.x,r.x,a.x,n.x)),c=s-1;c<=l+1;c++)0!==c&&i.push(new t.UnwrappedTileID(c,e));return i},To.prototype.coveringTiles=function(e){var i=this.coveringZoomLevel(e),o=i;if(void 0!==e.minzoom&&i<e.minzoom)return [];void 0!==e.maxzoom&&i>e.maxzoom&&(i=e.maxzoom);var r=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,i),n=[a*r.x,a*r.y,0],s=xo.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,i),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=i);var c=function(t){return {aabb:new bo([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],p=i,d=e.reparseOverscaled?o:i;if(this._renderWorldCopies)for(var _=1;_<=3;_++)u.push(c(-_)),u.push(c(_));for(u.push(c(0));u.length>0;){var f=u.pop(),m=f.x,g=f.y,v=f.fullyVisible;if(!v){var y=f.aabb.intersects(s);if(0===y)continue;v=2===y;}var x=f.aabb.distanceX(n),b=f.aabb.distanceY(n),w=Math.max(Math.abs(x),Math.abs(b));if(f.zoom===p||w>3+(1<<p-f.zoom)-2&&f.zoom>=l)h.push({tileID:new t.OverscaledTileID(f.zoom===p?d:f.zoom,f.wrap,f.zoom,m,g),distanceSq:t.sqrLen([n[0]-.5-m,n[1]-.5-g])});else for(var T=0;T<4;T++){var E=(m<<1)+T%2,I=(g<<1)+(T>>1);u.push({aabb:f.aabb.quadrant(T),zoom:f.zoom+1,x:E,y:I,wrap:f.wrap,fullyVisible:v});}}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},To.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();},Eo.unmodified.get=function(){return this._unmodified},To.prototype.zoomScale=function(t){return Math.pow(2,t)},To.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},To.prototype.project=function(e){var i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)},To.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Eo.point.get=function(){return this.project(this.center)},To.prototype.setLocationAtPoint=function(e,i){var o=this.pointCoordinate(i),r=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),n=new t.MercatorCoordinate(a.x-(o.x-r.x),a.y-(o.y-r.y));this.center=this.coordinateLocation(n),this._renderWorldCopies&&(this.center=this.center.wrap());},To.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},To.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},To.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},To.prototype.coordinateLocation=function(t){return t.toLngLat()},To.prototype.pointCoordinate=function(e){var i=[e.x,e.y,0,1],o=[e.x,e.y,1,1];t.transformMat4(i,i,this.pixelMatrixInverse),t.transformMat4(o,o,this.pixelMatrixInverse);var r=i[3],a=o[3],n=i[1]/r,s=o[1]/a,l=i[2]/r,c=o[2]/a,u=l===c?0:(0-l)/(c-l);return new t.MercatorCoordinate(t.number(i[0]/r,o[0]/a,u)/this.worldSize,t.number(n,s,u)/this.worldSize)},To.prototype.coordinatePoint=function(e){var i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix),new t.Point(i[0]/i[3],i[1]/i[3])},To.prototype.getBounds=function(){return (new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},To.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},To.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude]);},To.prototype.calculatePosMatrix=function(e,i){void 0===i&&(i=!1);var o=e.key,r=i?this._alignedPosMatrixCache:this._posMatrixCache;if(r[o])return r[o];var a=e.canonical,n=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*n,a.y*n,0]),t.scale(l,l,[n/t.EXTENT,n/t.EXTENT,1]),t.multiply(l,i?this.alignedProjMatrix:this.projMatrix,l),r[o]=new Float32Array(l),r[o]},To.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},To.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,i,o,r,a=-90,n=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=t.mercatorYfromLat(h[1])*this.worldSize,e=(n=t.mercatorYfromLat(h[0])*this.worldSize)-a<c.y?c.y/(n-a):0;}if(this.lngRange){var p=this.lngRange;s=t.mercatorXfromLng(p[0])*this.worldSize,i=(l=t.mercatorXfromLng(p[1])*this.worldSize)-s<c.x?c.x/(l-s):0;}var d=this.point,_=Math.max(i||0,e||0);if(_)return this.center=this.unproject(new t.Point(i?(l+s)/2:d.x,e?(n+a)/2:d.y)),this.zoom+=this.scaleZoom(_),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var f=d.y,m=c.y/2;f-m<a&&(r=a+m),f+m>n&&(r=n-m);}if(this.lngRange){var g=d.x,v=c.x/2;g-v<s&&(o=s+v),g+v>l&&(o=l-v);}void 0===o&&void 0===r||(this.center=this.unproject(new t.Point(void 0!==o?o:d.x,void 0!==r?r:d.y))),this._unmodified=u,this._constraining=!1;}},To.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var i=Math.PI/2+this._pitch,o=this._fov*(.5+e.y/this.height),r=Math.sin(o)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-i-o,.01,Math.PI-.01)),a=this.point,n=a.x,s=a.y,l=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),c=this.height/50,u=new Float64Array(16);t.perspective(u,this._fov,this.width/this.height,c,l),u[8]=2*-e.x/this.width,u[9]=2*e.y/this.height,t.scale(u,u,[1,-1,1]),t.translate(u,u,[0,0,-this.cameraToCenterDistance]),t.rotateX(u,u,this._pitch),t.rotateZ(u,u,this.angle),t.translate(u,u,[-n,-s,0]),this.mercatorMatrix=t.scale([],u,[this.worldSize,this.worldSize,this.worldSize]),t.scale(u,u,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=u,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),_=Math.sin(this.angle),f=n-Math.round(n)+d*h+_*p,m=s-Math.round(s)+d*p+_*h,g=new Float64Array(u);if(t.translate(g,g,[f>.5?f-1:f,m>.5?m-1:m,0]),this.alignedProjMatrix=g,u=t.create(),t.scale(u,u,[this.width/2,-this.height/2,1]),t.translate(u,u,[1,-1,0]),this.labelPlaneMatrix=u,u=t.create(),t.scale(u,u,[1,-1,1]),t.translate(u,u,[-1,-1,0]),t.scale(u,u,[2/this.width,2/this.height,1]),this.glCoordMatrix=u,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(u=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=u,this._posMatrixCache={},this._alignedPosMatrixCache={};}},To.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance},To.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))},To.prototype.getCameraQueryGeometry=function(e){var i=this.getCameraPoint();if(1===e.length)return [e[0],i];for(var o=i.x,r=i.y,a=i.x,n=i.y,s=0,l=e;s<l.length;s+=1){var c=l[s];o=Math.min(o,c.x),r=Math.min(r,c.y),a=Math.max(a,c.x),n=Math.max(n,c.y);}return [new t.Point(o,r),new t.Point(a,r),new t.Point(a,n),new t.Point(o,n),new t.Point(o,r)]},Object.defineProperties(To.prototype,Eo);var Io=function(e){var i,o,r,a;this._hashName=e&&encodeURIComponent(e),t.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(i=this._updateHashUnthrottled.bind(this),o=!1,r=null,a=function(){r=null,o&&(i(),r=setTimeout(a,300),o=!1);},function(){return o=!0,r||a(),r});};Io.prototype.addTo=function(e){return this._map=e,t.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Io.prototype.remove=function(){return t.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Io.prototype.getHashString=function(e){var i=this._map.getCenter(),o=Math.round(100*this._map.getZoom())/100,r=Math.ceil((o*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,r),n=Math.round(i.lng*a)/a,s=Math.round(i.lat*a)/a,l=this._map.getBearing(),c=this._map.getPitch(),u=\"\";if(u+=e?\"/\"+n+\"/\"+s+\"/\"+o:o+\"/\"+s+\"/\"+n,(l||c)&&(u+=\"/\"+Math.round(10*l)/10),c&&(u+=\"/\"+Math.round(c)),this._hashName){var h=this._hashName,p=!1,d=t.window.location.hash.slice(1).split(\"&\").map((function(t){var e=t.split(\"=\")[0];return e===h?(p=!0,e+\"=\"+u):t})).filter((function(t){return t}));return p||d.push(h+\"=\"+u),\"#\"+d.join(\"&\")}return \"#\"+u},Io.prototype._getCurrentHash=function(){var e,i=this,o=t.window.location.hash.replace(\"#\",\"\");return this._hashName?(o.split(\"&\").map((function(t){return t.split(\"=\")})).forEach((function(t){t[0]===i._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")):o.split(\"/\")},Io.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1},Io.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e);}catch(t){}};var Po={linearity:.3,easing:t.bezier(0,0,.3,1)},So=t.extend({deceleration:2500,maxSpeed:1400},Po),Co=t.extend({deceleration:20,maxSpeed:1400},Po),zo=t.extend({deceleration:1e3,maxSpeed:360},Po),Do=t.extend({deceleration:1e3,maxSpeed:90},Po),Ao=function(t){this._map=t,this.clear();};function Mo(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing);}function Lo(e,i,o){var r=o.maxSpeed,a=o.linearity,n=o.deceleration,s=t.clamp(e*a/(i/1e3),-r,r),l=Math.abs(s)/(n*a);return {easing:o.easing,duration:1e3*l,amount:s*(l/2)}}Ao.prototype.clear=function(){this._inertiaBuffer=[];},Ao.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e});},Ao.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,i=t.browser.now();e.length>0&&i-e[0].time>160;)e.shift();},Ao.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var i={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},o=0,r=this._inertiaBuffer;o<r.length;o+=1){var a=r[o].settings;i.zoom+=a.zoomDelta||0,i.bearing+=a.bearingDelta||0,i.pitch+=a.pitchDelta||0,a.panDelta&&i.pan._add(a.panDelta),a.around&&(i.around=a.around),a.pinchAround&&(i.pinchAround=a.pinchAround);}var n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){var l=Lo(i.pan.mag(),n,t.extend({},So,e||{}));s.offset=i.pan.mult(l.amount/i.pan.mag()),s.center=this._map.transform.center,Mo(s,l);}if(i.zoom){var c=Lo(i.zoom,n,Co);s.zoom=this._map.transform.zoom+c.amount,Mo(s,c);}if(i.bearing){var u=Lo(i.bearing,n,zo);s.bearing=this._map.transform.bearing+t.clamp(u.amount,-179,179),Mo(s,u);}if(i.pitch){var h=Lo(i.pitch,n,Do);s.pitch=this._map.transform.pitch+h.amount,Mo(s,h);}if(s.zoom||s.bearing){var p=void 0===i.pinchAround?i.around:i.pinchAround;s.around=p?this._map.unproject(p):this._map.getCenter();}return this.clear(),t.extend(s,{noMoveStart:!0})}};var Ro=function(e){function o(o,r,a,n){void 0===n&&(n={});var s=i.mousePos(r.getCanvasContainer(),a),l=r.unproject(s);e.call(this,o,t.extend({point:s,lngLat:l,originalEvent:a},n)),this._defaultPrevented=!1,this.target=r;}e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o;var r={defaultPrevented:{configurable:!0}};return o.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(o.prototype,r),o}(t.Event),ko=function(e){function o(o,r,a){var n=\"touchend\"===o?a.changedTouches:a.touches,s=i.touchPos(r.getCanvasContainer(),n),l=s.map((function(t){return r.unproject(t)})),c=s.reduce((function(t,e,i,o){return t.add(e.div(o.length))}),new t.Point(0,0)),u=r.unproject(c);e.call(this,o,{points:s,point:c,lngLats:l,lngLat:u,originalEvent:a}),this._defaultPrevented=!1;}e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o;var r={defaultPrevented:{configurable:!0}};return o.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(o.prototype,r),o}(t.Event),Bo=function(t){function e(e,i,o){t.call(this,e,{originalEvent:o}),this._defaultPrevented=!1;}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var i={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0;},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,i),e}(t.Event),Oo=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance;};Oo.prototype.reset=function(){delete this._mousedownPos;},Oo.prototype.wheel=function(t){return this._firePreventable(new Bo(t.type,this._map,t))},Oo.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new Ro(t.type,this._map,t))},Oo.prototype.mouseup=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.dblclick=function(t){return this._firePreventable(new Ro(t.type,this._map,t))},Oo.prototype.mouseover=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.mouseout=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.touchstart=function(t){return this._firePreventable(new ko(t.type,this._map,t))},Oo.prototype.touchmove=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype.touchend=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype.touchcancel=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return {}},Oo.prototype.isEnabled=function(){return !0},Oo.prototype.isActive=function(){return !1},Oo.prototype.enable=function(){},Oo.prototype.disable=function(){};var Fo=function(t){this._map=t;};Fo.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent;},Fo.prototype.mousemove=function(t){this._map.fire(new Ro(t.type,this._map,t));},Fo.prototype.mousedown=function(){this._delayContextMenu=!0;},Fo.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Ro(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);},Fo.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Ro(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();},Fo.prototype.isEnabled=function(){return !0},Fo.prototype.isActive=function(){return !1},Fo.prototype.enable=function(){},Fo.prototype.disable=function(){};var Uo=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;};function No(t,e){for(var i={},o=0;o<t.length;o++)i[t[o].identifier]=e[o];return i}Uo.prototype.isEnabled=function(){return !!this._enabled},Uo.prototype.isActive=function(){return !!this._active},Uo.prototype.enable=function(){this.isEnabled()||(this._enabled=!0);},Uo.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},Uo.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(i.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);},Uo.prototype.mousemoveWindow=function(t,e){if(this._active){var o=e;if(!(this._lastPos.equals(o)||!this._box&&o.dist(this._startPos)<this._clickTolerance)){var r=this._startPos;this._lastPos=o,this._box||(this._box=i.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var a=Math.min(r.x,o.x),n=Math.max(r.x,o.x),s=Math.min(r.y,o.y),l=Math.max(r.y,o.y);i.setTransform(this._box,\"translate(\"+a+\"px,\"+s+\"px)\"),this._box.style.width=n-a+\"px\",this._box.style.height=l-s+\"px\";}}},Uo.prototype.mouseupWindow=function(e,o){var r=this;if(this._active&&0===e.button){var a=this._startPos,n=o;if(this.reset(),i.suppressClick(),a.x!==n.x||a.y!==n.y)return this._map.fire(new t.Event(\"boxzoomend\",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(a,n,r._map.getBearing(),{linear:!0})}};this._fireEvent(\"boxzoomcancel\",e);}},Uo.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));},Uo.prototype.blur=function(){this.reset();},Uo.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos;},Uo.prototype._fireEvent=function(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))};var Zo=function(t){this.reset(),this.numTouches=t.numTouches;};Zo.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1;},Zo.prototype.touchstart=function(e,i,o){(this.centroid||o.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),o.length===this.numTouches&&(this.centroid=function(e){for(var i=new t.Point(0,0),o=0,r=e;o<r.length;o+=1)i._add(r[o]);return i.div(e.length)}(i),this.touches=No(o,i)));},Zo.prototype.touchmove=function(t,e,i){if(!this.aborted&&this.centroid){var o=No(i,e);for(var r in this.touches){var a=o[r];(!a||a.dist(this.touches[r])>30)&&(this.aborted=!0);}}},Zo.prototype.touchend=function(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){var o=!this.aborted&&this.centroid;if(this.reset(),o)return o}};var qo=function(t){this.singleTap=new Zo(t),this.numTaps=t.numTaps,this.reset();};qo.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();},qo.prototype.touchstart=function(t,e,i){this.singleTap.touchstart(t,e,i);},qo.prototype.touchmove=function(t,e,i){this.singleTap.touchmove(t,e,i);},qo.prototype.touchend=function(t,e,i){var o=this.singleTap.touchend(t,e,i);if(o){var r=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(o)<30;if(r&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}};var jo=function(){this._zoomIn=new qo({numTouches:1,numTaps:2}),this._zoomOut=new qo({numTouches:2,numTaps:1}),this.reset();};jo.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();},jo.prototype.touchstart=function(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);},jo.prototype.touchmove=function(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);},jo.prototype.touchend=function(t,e,i){var o=this,r=this._zoomIn.touchend(t,e,i),a=this._zoomOut.touchend(t,e,i);return r?(this._active=!0,t.preventDefault(),setTimeout((function(){return o.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(r)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return o.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},jo.prototype.touchcancel=function(){this.reset();},jo.prototype.enable=function(){this._enabled=!0;},jo.prototype.disable=function(){this._enabled=!1,this.reset();},jo.prototype.isEnabled=function(){return this._enabled},jo.prototype.isActive=function(){return this._active};var Vo={0:1,2:2},Go=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1;};Go.prototype.blur=function(){this.reset();},Go.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton;},Go.prototype._correctButton=function(t,e){return !1},Go.prototype._move=function(t,e){return {}},Go.prototype.mousedown=function(t,e){if(!this._lastPoint){var o=i.mouseButton(t);this._correctButton(t,o)&&(this._lastPoint=e,this._eventButton=o);}},Go.prototype.mousemoveWindow=function(t,e){var i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){var i=Vo[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i)<this._clickTolerance))return this._moved=!0,this._lastPoint=e,this._move(i,e)},Go.prototype.mouseupWindow=function(t){this._lastPoint&&i.mouseButton(t)===this._eventButton&&(this._moved&&i.suppressClick(),this.reset());},Go.prototype.enable=function(){this._enabled=!0;},Go.prototype.disable=function(){this._enabled=!1,this.reset();},Go.prototype.isEnabled=function(){return this._enabled},Go.prototype.isActive=function(){return this._active};var Wo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.mousedown=function(e,i){t.prototype.mousedown.call(this,e,i),this._lastPoint&&(this._active=!0);},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return {around:e,panDelta:e.sub(t)}},e}(Go),Xo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=.8*(e.x-t.x);if(i)return this._active=!0,{bearingDelta:i}},e.prototype.contextmenu=function(t){t.preventDefault();},e}(Go),Ho=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=-.5*(e.y-t.y);if(i)return this._active=!0,{pitchDelta:i}},e.prototype.contextmenu=function(t){t.preventDefault();},e}(Go),Ko=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset();};Ko.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0);},Ko.prototype.touchstart=function(t,e,i){return this._calculateTransform(t,e,i)},Ko.prototype.touchmove=function(t,e,i){if(this._active&&!(i.length<this._minTouches))return t.preventDefault(),this._calculateTransform(t,e,i)},Ko.prototype.touchend=function(t,e,i){this._calculateTransform(t,e,i),this._active&&i.length<this._minTouches&&this.reset();},Ko.prototype.touchcancel=function(){this.reset();},Ko.prototype._calculateTransform=function(e,i,o){o.length>0&&(this._active=!0);var r=No(o,i),a=new t.Point(0,0),n=new t.Point(0,0),s=0;for(var l in r){var c=r[l],u=this._touches[l];u&&(a._add(c),n._add(c.sub(u)),s++,r[l]=c);}if(this._touches=r,!(s<this._minTouches)&&n.mag()){var h=n.div(s);if(this._sum._add(h),!(this._sum.mag()<this._clickTolerance))return {around:a.div(s),panDelta:h}}},Ko.prototype.enable=function(){this._enabled=!0;},Ko.prototype.disable=function(){this._enabled=!1,this.reset();},Ko.prototype.isEnabled=function(){return this._enabled},Ko.prototype.isActive=function(){return this._active};var Yo=function(){this.reset();};function Jo(t,e,i){for(var o=0;o<t.length;o++)if(t[o].identifier===i)return e[o]}function Qo(t,e){return Math.log(t/e)/Math.LN2}Yo.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches;},Yo.prototype._start=function(t){},Yo.prototype._move=function(t,e,i){return {}},Yo.prototype.touchstart=function(t,e,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([e[0],e[1]]));},Yo.prototype.touchmove=function(t,e,i){if(this._firstTwoTouches){t.preventDefault();var o=this._firstTwoTouches,r=o[1],a=Jo(i,e,o[0]),n=Jo(i,e,r);if(a&&n){var s=this._aroundCenter?null:a.add(n).div(2);return this._move([a,n],s,t)}}},Yo.prototype.touchend=function(t,e,o){if(this._firstTwoTouches){var r=this._firstTwoTouches,a=r[1],n=Jo(o,e,r[0]),s=Jo(o,e,a);n&&s||(this._active&&i.suppressClick(),this.reset());}},Yo.prototype.touchcancel=function(){this.reset();},Yo.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around;},Yo.prototype.disable=function(){this._enabled=!1,this.reset();},Yo.prototype.isEnabled=function(){return this._enabled},Yo.prototype.isActive=function(){return this._active};var $o=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance;},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(Qo(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Qo(this._distance,i),pinchAround:e}},e}(Yo);function tr(t,e){return 180*t.angleWith(e)/Math.PI}var er=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector;},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:tr(this._vector,i),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,i=tr(t,this._startVector);return Math.abs(i)<e},e}(Yo);function ir(t){return Math.abs(t.y)>Math.abs(t.x)}var or=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints;},e.prototype._start=function(t){this._lastPoints=t,ir(t[0].sub(t[1]))&&(this._valid=!1);},e.prototype._move=function(t,e,i){var o=t[0].sub(this._lastPoints[0]),r=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(o,r,i.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+r.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,i){if(void 0!==this._valid)return this._valid;var o=t.mag()>=2,r=e.mag()>=2;if(o||r){if(!o||!r)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ir(t)&&ir(e)&&a}},e}(Yo),rr={panStep:100,bearingStep:15,pitchStep:10},ar=function(){var t=rr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1;};function nr(t){return t*(2-t)}ar.prototype.blur=function(){this.reset();},ar.prototype.reset=function(){this._active=!1;},ar.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var i=0,o=0,r=0,a=0,n=0;switch(t.keyCode){case 61:case 107:case 171:case 187:i=1;break;case 189:case 109:case 173:i=-1;break;case 37:t.shiftKey?o=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?o=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),n=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),n=1);break;default:return}return this._rotationDisabled&&(o=0,r=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:nr,zoom:i?Math.round(l)+i*(t.shiftKey?2:1):l,bearing:s.getBearing()+o*e._bearingStep,pitch:s.getPitch()+r*e._pitchStep,offset:[-a*e._panStep,-n*e._panStep],center:s.getCenter()},{originalEvent:t});}}}},ar.prototype.enable=function(){this._enabled=!0;},ar.prototype.disable=function(){this._enabled=!1,this.reset();},ar.prototype.isEnabled=function(){return this._enabled},ar.prototype.isActive=function(){return this._active},ar.prototype.disableRotation=function(){this._rotationDisabled=!0;},ar.prototype.enableRotation=function(){this._rotationDisabled=!1;};var sr=function(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll([\"_onTimeout\"],this);};sr.prototype.setZoomRate=function(t){this._defaultZoomRate=t;},sr.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t;},sr.prototype.isEnabled=function(){return !!this._enabled},sr.prototype.isActive=function(){return !!this._active||void 0!==this._finishTimeout},sr.prototype.isZooming=function(){return !!this._zooming},sr.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around);},sr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},sr.prototype.wheel=function(e){if(this.isEnabled()){var i=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,o=t.browser.now(),r=o-(this._lastWheelEventTime||0);this._lastWheelEventTime=o,0!==i&&i%4.000244140625==0?this._type=\"wheel\":0!==i&&Math.abs(i)<4?this._type=\"trackpad\":r>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*i)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault();}},sr.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},sr.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var o=i.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(o)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}},sr.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var i=this._map.transform;if(0!==this._delta){var o=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*o)));this._delta<0&&0!==r&&(r=1/r);var a=\"number\"==typeof this._targetZoom?i.zoomScale(this._targetZoom):i.scale;this._targetZoom=Math.min(i.maxZoom,Math.max(i.minZoom,i.scaleZoom(a*r))),\"wheel\"===this._type&&(this._startZoom=i.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}var n,s=\"number\"==typeof this._targetZoom?this._targetZoom:i.zoom,l=this._startZoom,c=this._easing,u=!1;if(\"wheel\"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),p=c(h);n=t.number(l,s,p),h<1?this._frameId||(this._frameId=!0):u=!0;}else n=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:n-i.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},sr.prototype._smoothOutEasing=function(e){var i=t.ease;if(this._prevEase){var o=this._prevEase,r=(t.browser.now()-o.start)/o.duration,a=o.easing(r+.01)-o.easing(r),n=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-n*n);i=t.bezier(n,s,.25,1);}return this._prevEase={start:t.browser.now(),duration:e,easing:i},i},sr.prototype.blur=function(){this.reset();},sr.prototype.reset=function(){this._active=!1;};var lr=function(t,e){this._clickZoom=t,this._tapZoom=e;};lr.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable();},lr.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable();},lr.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},lr.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var cr=function(){this.reset();};cr.prototype.reset=function(){this._active=!1;},cr.prototype.blur=function(){this.reset();},cr.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(i){i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t});}}},cr.prototype.enable=function(){this._enabled=!0;},cr.prototype.disable=function(){this._enabled=!1,this.reset();},cr.prototype.isEnabled=function(){return this._enabled},cr.prototype.isActive=function(){return this._active};var ur=function(){this._tap=new qo({numTouches:1,numTaps:1}),this.reset();};ur.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset();},ur.prototype.touchstart=function(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i));},ur.prototype.touchmove=function(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;var o=e[0],r=o.y-this._swipePoint.y;return this._swipePoint=o,t.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(t,e,i);},ur.prototype.touchend=function(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp);},ur.prototype.touchcancel=function(){this.reset();},ur.prototype.enable=function(){this._enabled=!0;},ur.prototype.disable=function(){this._enabled=!1,this.reset();},ur.prototype.isEnabled=function(){return this._enabled},ur.prototype.isActive=function(){return this._active};var hr=function(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;};hr.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\");},hr.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\");},hr.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},hr.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var pr=function(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;};pr.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();},pr.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable();},pr.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},pr.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var dr=function(t,e,i,o){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0;};dr.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\");},dr.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\");},dr.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},dr.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},dr.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable();},dr.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();};var _r=function(t){return t.zoom||t.drag||t.pitch||t.rotate},fr=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function mr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var gr=function(e,o){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ao(e),this._bearingSnap=o.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(o),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var r=this._el;this._listeners=[[r,\"touchstart\",{passive:!0}],[r,\"touchmove\",{passive:!1}],[r,\"touchend\",void 0],[r,\"touchcancel\",void 0],[r,\"mousedown\",void 0],[r,\"mousemove\",void 0],[r,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[r,\"mouseover\",void 0],[r,\"mouseout\",void 0],[r,\"dblclick\",void 0],[r,\"click\",void 0],[r,\"keydown\",{capture:!1}],[r,\"keyup\",void 0],[r,\"wheel\",{passive:!1}],[r,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var a=0,n=this._listeners;a<n.length;a+=1){var s=n[a],l=s[0];i.addEventListener(l,s[1],l===t.window.document?this.handleWindowEvent:this.handleEvent,s[2]);}};gr.prototype.destroy=function(){for(var e=0,o=this._listeners;e<o.length;e+=1){var r=o[e],a=r[0];i.removeEventListener(a,r[1],a===t.window.document?this.handleWindowEvent:this.handleEvent,r[2]);}},gr.prototype._addDefaultHandlers=function(t){var e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new Oo(e,t));var o=e.boxZoom=new Uo(e,t);this._add(\"boxZoom\",o);var r=new jo,a=new cr;e.doubleClickZoom=new lr(a,r),this._add(\"tapZoom\",r),this._add(\"clickZoom\",a);var n=new ur;this._add(\"tapDragZoom\",n);var s=e.touchPitch=new or;this._add(\"touchPitch\",s);var l=new Xo(t),c=new Ho(t);e.dragRotate=new pr(t,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);var u=new Wo(t),h=new Ko(t);e.dragPan=new hr(i,u,h),this._add(\"mousePan\",u),this._add(\"touchPan\",h,[\"touchZoom\",\"touchRotate\"]);var p=new er,d=new $o;e.touchZoomRotate=new dr(i,d,p,n),this._add(\"touchRotate\",p,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",d,[\"touchPan\",\"touchRotate\"]);var _=e.scrollZoom=new sr(e,this);this._add(\"scrollZoom\",_,[\"mousePan\"]);var f=e.keyboard=new ar;this._add(\"keyboard\",f),this._add(\"blockableMapEvent\",new Fo(e));for(var m=0,g=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];m<g.length;m+=1){var v=g[m];t.interactive&&t[v]&&e[v].enable(t[v]);}},gr.prototype._add=function(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;},gr.prototype.stop=function(t){if(!this._updatingCamera){for(var e=0,i=this._handlers;e<i.length;e+=1)i[e].handler.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}},gr.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1)if(e[t].handler.isActive())return !0;return !1},gr.prototype.isZooming=function(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},gr.prototype.isRotating=function(){return !!this._eventsInProgress.rotate},gr.prototype.isMoving=function(){return Boolean(_r(this._eventsInProgress))||this.isZooming()},gr.prototype._blockedByActive=function(t,e,i){for(var o in t)if(o!==i&&(!e||e.indexOf(o)<0))return !0;return !1},gr.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+\"Window\");},gr.prototype._getMapTouches=function(t){for(var e=[],i=0,o=t;i<o.length;i+=1){var r=o[i];this._el.contains(r.target)&&e.push(r);}return e},gr.prototype.handleEvent=function(t,e){this._updatingCamera=!0;for(var o=\"renderFrame\"===t.type?void 0:t,r={needsRenderFrame:!1},a={},n={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?i.touchPos(this._el,s):i.mousePos(this._el,t),c=0,u=this._handlers;c<u.length;c+=1){var h=u[c],p=h.handlerName,d=h.handler,_=h.allowed;if(d.isEnabled()){var f=void 0;this._blockedByActive(n,_,p)?d.reset():d[e||t.type]&&(f=d[e||t.type](t,l,s),this.mergeHandlerResult(r,a,f,p,o),f&&f.needsRenderFrame&&this._triggerRenderFrame()),(f||d.isActive())&&(n[p]=d);}}var m={};for(var g in this._previousActiveHandlers)n[g]||(m[g]=o);this._previousActiveHandlers=n,(Object.keys(m).length||mr(r))&&(this._changes.push([r,a,m]),this._triggerRenderFrame()),(Object.keys(n).length||mr(r))&&this._map._stop(!0),this._updatingCamera=!1;var v=r.cameraAnimation;v&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],v(this._map));},gr.prototype.mergeHandlerResult=function(e,i,o,r,a){if(o){t.extend(e,o);var n={handlerName:r,originalEvent:o.originalEvent||a};void 0!==o.zoomDelta&&(i.zoom=n),void 0!==o.panDelta&&(i.drag=n),void 0!==o.pitchDelta&&(i.pitch=n),void 0!==o.bearingDelta&&(i.rotate=n);}},gr.prototype._applyChanges=function(){for(var e={},i={},o={},r=0,a=this._changes;r<a.length;r+=1){var n=a[r],s=n[0],l=n[1],c=n[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(i,l),t.extend(o,c);}this._updateMapTransform(e,i,o),this._changes=[];},gr.prototype._updateMapTransform=function(t,e,i){var o=this._map,r=o.transform;if(!mr(t))return this._fireEvents(e,i,!0);var a=t.panDelta,n=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,c=t.around,u=t.pinchAround;void 0!==u&&(c=u),o._stop(!0),c=c||o.transform.centerPoint;var h=r.pointLocation(a?c.sub(a):c);s&&(r.bearing+=s),l&&(r.pitch+=l),n&&(r.zoom+=n),r.setLocationAtPoint(h,c),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);},gr.prototype._fireEvents=function(e,i,o){var r=this,a=_r(this._eventsInProgress),n=_r(e),s={};for(var l in e)this._eventsInProgress[l]||(s[l+\"start\"]=e[l].originalEvent),this._eventsInProgress[l]=e[l];for(var c in !a&&n&&this._fireEvent(\"movestart\",n.originalEvent),s)this._fireEvent(c,s[c]);for(var u in n&&this._fireEvent(\"move\",n.originalEvent),e)this._fireEvent(u,e[u].originalEvent);var h,p={};for(var d in this._eventsInProgress){var _=this._eventsInProgress[d],f=_.handlerName,m=_.originalEvent;this._handlersById[f].isActive()||(delete this._eventsInProgress[d],p[d+\"end\"]=h=i[f]||m);}for(var g in p)this._fireEvent(g,p[g]);var v=_r(this._eventsInProgress);if(o&&(a||n)&&!v){this._updatingCamera=!0;var y=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),x=function(t){return 0!==t&&-r._bearingSnap<t&&t<r._bearingSnap};y?(x(y.bearing||this._map.getBearing())&&(y.bearing=0),this._map.easeTo(y,{originalEvent:h})):(this._map.fire(new t.Event(\"moveend\",{originalEvent:h})),x(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1;}},gr.prototype._fireEvent=function(e,i){this._map.fire(new t.Event(e,i?{originalEvent:i}:{}));},gr.prototype._requestFrame=function(){var t=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add((function(e){delete t._frameId,t.handleEvent(new fr(\"renderFrame\",{timeStamp:e})),t._applyChanges();}))},gr.prototype._triggerRenderFrame=function(){void 0===this._frameId&&(this._frameId=this._requestFrame());};var vr=function(e){function i(i,o){e.call(this),this._moving=!1,this._zooming=!1,this.transform=i,this._bearingSnap=o.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},i.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},i.prototype.panBy=function(e,i,o){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),o)},i.prototype.panTo=function(e,i,o){return this.easeTo(t.extend({center:e},i),o)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},i.prototype.zoomTo=function(e,i,o){return this.easeTo(t.extend({zoom:e},i),o)},i.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},i.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},i.prototype.getPadding=function(){return this.transform.padding},i.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},i.prototype.rotateTo=function(e,i,o){return this.easeTo(t.extend({bearing:e},i),o)},i.prototype.resetNorth=function(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this},i.prototype.resetNorthPitch=function(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this},i.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},i.prototype.getPitch=function(){return this.transform.pitch},i.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},i.prototype.cameraForBounds=function(e,i){e=t.LngLatBounds.convert(e);var o=i&&i.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),o,i)},i.prototype._cameraForBoxAndBearing=function(e,i,o,r){var a={top:0,bottom:0,right:0,left:0};if(\"number\"==typeof(r=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){var n=r.padding;r.padding={top:n,bottom:n,right:n,left:n};}r.padding=t.extend(a,r.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),u=s.project(t.LngLat.convert(i)),h=c.rotate(-o*Math.PI/180),p=u.rotate(-o*Math.PI/180),d=new t.Point(Math.max(h.x,p.x),Math.max(h.y,p.y)),_=new t.Point(Math.min(h.x,p.x),Math.min(h.y,p.y)),f=d.sub(_),m=(s.width-(l.left+l.right+r.padding.left+r.padding.right))/f.x,g=(s.height-(l.top+l.bottom+r.padding.top+r.padding.bottom))/f.y;if(!(g<0||m<0)){var v=Math.min(s.scaleZoom(s.scale*Math.min(m,g)),r.maxZoom),y=\"number\"==typeof r.offset.x?new t.Point(r.offset.x,r.offset.y):t.Point.convert(r.offset),x=new t.Point((r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2).rotate(o*Math.PI/180),b=y.add(x).mult(s.scale/s.zoomScale(v));return {center:s.unproject(c.add(u).div(2).sub(b)),zoom:v,bearing:o}}t.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");},i.prototype.fitBounds=function(t,e,i){return this._fitInternal(this.cameraForBounds(t,e),e,i)},i.prototype.fitScreenCoordinates=function(e,i,o,r,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(i)),o,r),r,a)},i.prototype._fitInternal=function(e,i,o){return e?(delete(i=t.extend(e,i)).padding,i.linear?this.easeTo(i,o):this.flyTo(i,o)):this},i.prototype.jumpTo=function(e,i){this.stop();var o=this.transform,r=!1,a=!1,n=!1;return \"zoom\"in e&&o.zoom!==+e.zoom&&(r=!0,o.zoom=+e.zoom),void 0!==e.center&&(o.center=t.LngLat.convert(e.center)),\"bearing\"in e&&o.bearing!==+e.bearing&&(a=!0,o.bearing=+e.bearing),\"pitch\"in e&&o.pitch!==+e.pitch&&(n=!0,o.pitch=+e.pitch),null==e.padding||o.isPaddingEqual(e.padding)||(o.padding=e.padding),this.fire(new t.Event(\"movestart\",i)).fire(new t.Event(\"move\",i)),r&&this.fire(new t.Event(\"zoomstart\",i)).fire(new t.Event(\"zoom\",i)).fire(new t.Event(\"zoomend\",i)),a&&this.fire(new t.Event(\"rotatestart\",i)).fire(new t.Event(\"rotate\",i)).fire(new t.Event(\"rotateend\",i)),n&&this.fire(new t.Event(\"pitchstart\",i)).fire(new t.Event(\"pitch\",i)).fire(new t.Event(\"pitchend\",i)),this.fire(new t.Event(\"moveend\",i))},i.prototype.easeTo=function(e,i){var o=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var r=this.transform,a=this.getZoom(),n=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c=\"zoom\"in e?+e.zoom:a,u=\"bearing\"in e?this._normalizeBearing(e.bearing,n):n,h=\"pitch\"in e?+e.pitch:s,p=\"padding\"in e?e.padding:r.padding,d=t.Point.convert(e.offset),_=r.centerPoint.add(d),f=r.pointLocation(_),m=t.LngLat.convert(e.center||f);this._normalizeCenter(m);var g,v,y=r.project(f),x=r.project(m).sub(y),b=r.zoomScale(c-a);e.around&&(g=t.LngLat.convert(e.around),v=r.locationPoint(g));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==a,this._rotating=this._rotating||n!==u,this._pitching=this._pitching||h!==s,this._padding=!r.isPaddingEqual(p),this._easeId=e.easeId,this._prepareEase(i,e.noMoveStart,w),this._ease((function(e){if(o._zooming&&(r.zoom=t.number(a,c,e)),o._rotating&&(r.bearing=t.number(n,u,e)),o._pitching&&(r.pitch=t.number(s,h,e)),o._padding&&(r.interpolatePadding(l,p,e),_=r.centerPoint.add(d)),g)r.setLocationAtPoint(g,v);else {var f=r.zoomScale(r.zoom-a),m=c>a?Math.min(2,b):Math.max(.5,b),w=Math.pow(m,1-e),T=r.unproject(y.add(x.mult(e*w)).mult(f));r.setLocationAtPoint(r.renderWorldCopies?T.wrap():T,_);}o._fireMoveEvents(i);}),(function(t){o._afterEase(i,t);}),e),this},i.prototype._prepareEase=function(e,i,o){void 0===o&&(o={}),this._moving=!0,i||o.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!o.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!o.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!o.pitching&&this.fire(new t.Event(\"pitchstart\",e));},i.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e));},i.prototype._afterEase=function(e,i){if(!this._easeId||!i||this._easeId!==i){delete this._easeId;var o=this._zooming,r=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,o&&this.fire(new t.Event(\"zoomend\",e)),r&&this.fire(new t.Event(\"rotateend\",e)),a&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e));}},i.prototype.flyTo=function(e,i){var o=this;if(!e.essential&&t.browser.prefersReducedMotion){var r=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(r,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,n=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u=\"zoom\"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):n,h=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,p=\"pitch\"in e?+e.pitch:l,d=\"padding\"in e?e.padding:a.padding,_=a.zoomScale(u-n),f=t.Point.convert(e.offset),m=a.centerPoint.add(f),g=a.pointLocation(m),v=t.LngLat.convert(e.center||g);this._normalizeCenter(v);var y=a.project(g),x=a.project(v).sub(y),b=e.curve,w=Math.max(a.width,a.height),T=w/_,E=x.mag();if(\"minZoom\"in e){var I=t.clamp(Math.min(e.minZoom,n,u),a.minZoom,a.maxZoom),P=w/a.zoomScale(I-n);b=Math.sqrt(P/E*2);}var S=b*b;function C(t){var e=(T*T-w*w+(t?-1:1)*S*S*E*E)/(2*(t?T:w)*S*E);return Math.log(Math.sqrt(e*e+1)-e)}function z(t){return (Math.exp(t)-Math.exp(-t))/2}function D(t){return (Math.exp(t)+Math.exp(-t))/2}var A=C(0),M=function(t){return D(A)/D(A+b*t)},L=function(t){return w*((D(A)*(z(e=A+b*t)/D(e))-z(A))/S)/E;var e;},R=(C(1)-A)/b;if(Math.abs(E)<1e-6||!isFinite(R)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,i);var k=T<w?-1:1;R=Math.abs(Math.log(T/w))/b,L=function(){return 0},M=function(t){return Math.exp(k*b*t)};}return e.duration=\"duration\"in e?+e.duration:1e3*R/(\"screenSpeed\"in e?+e.screenSpeed/b:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=p!==l,this._padding=!a.isPaddingEqual(d),this._prepareEase(i,!1),this._ease((function(e){var r=e*R,_=1/M(r);a.zoom=1===e?u:n+a.scaleZoom(_),o._rotating&&(a.bearing=t.number(s,h,e)),o._pitching&&(a.pitch=t.number(l,p,e)),o._padding&&(a.interpolatePadding(c,d,e),m=a.centerPoint.add(f));var g=1===e?v:a.unproject(y.add(x.mult(L(r))).mult(_));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,m),o._fireMoveEvents(i);}),(function(){return o._afterEase(i)}),e),this},i.prototype.isEasing=function(){return !!this._easeFrameId},i.prototype.stop=function(){return this._stop()},i.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var i=this._onEaseEnd;delete this._onEaseEnd,i.call(this,e);}if(!t){var o=this.handlers;o&&o.stop(!1);}return this},i.prototype._ease=function(e,i,o){!1===o.animate||0===o.duration?(e(1),i()):(this._easeStart=t.browser.now(),this._easeOptions=o,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));},i.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},i.prototype._normalizeBearing=function(e,i){e=t.wrap(e,-180,180);var o=Math.abs(e-i);return Math.abs(e-360-i)<o&&(e-=360),Math.abs(e+360-i)<o&&(e+=360),e},i.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var i=t.lng-e.center.lng;t.lng+=i>180?-360:i<-180?360:0;}},i}(t.Evented),yr=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this);};yr.prototype.getDefaultPosition=function(){return \"bottom-right\"},yr.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=i.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=i.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},yr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0;},yr.prototype._setElementTitle=function(t,e){var i=this._map._getUIString(\"AttributionControl.\"+e);t.title=i,t.setAttribute(\"aria-label\",i);},yr.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"));},yr.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var i=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var o=i.reduce((function(t,e,o){return e.value&&(t+=e.key+\"=\"+e.value+(o<i.length-1?\"&\":\"\")),t}),\"?\");e.href=t.config.FEEDBACK_URL+\"/\"+o+(this._map._hash?this._map._hash.getHashString(!0):\"\"),e.rel=\"noopener nofollow\",this._setElementTitle(e,\"MapFeedback\");}},yr.prototype._updateData=function(t){!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType||(this._updateAttributions(),this._updateEditLink());},yr.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return \"string\"!=typeof t?\"\":t}))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id;}var i=this._map.style.sourceCaches;for(var o in i){var r=i[o];if(r.used){var a=r.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution);}}t.sort((function(t,e){return t.length-e.length}));var n=(t=t.filter((function(e,i){for(var o=i+1;o<t.length;o++)if(t[o].indexOf(e)>=0)return !1;return !0}))).join(\" | \");n!==this._attribHTML&&(this._attribHTML=n,t.length?(this._innerContainer.innerHTML=n,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null);}},yr.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\");};var xr=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this);};xr.prototype.onAdd=function(t){this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl\");var e=i.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},xr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact);},xr.prototype.getDefaultPosition=function(){return \"bottom-left\"},xr.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\");},xr.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return !0;return !1}},xr.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\");}};var br=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;};br.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},br.prototype.remove=function(t){for(var e=this._currentlyRunning,i=0,o=e?this._queue.concat(e):this._queue;i<o.length;i+=1){var r=o[i];if(r.id===t)return void(r.cancelled=!0)}},br.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var i=0,o=e;i<o.length;i+=1){var r=o[i];if(!r.cancelled&&(r.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1;},br.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];};var wr={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},Tr=t.window.HTMLImageElement,Er=t.window.HTMLElement,Ir=t.window.ImageBitmap,Pr={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Sr=function(o){function r(e){var i=this;if(null!=(e=t.extend({},Pr,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error(\"maxPitch must be less than or equal to 60\");var r=new To(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(o.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new br,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},wr,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else {if(!(e.container instanceof Er))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container;}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return i._update(!1)})),this.on(\"moveend\",(function(){return i._update(!1)})),this.on(\"zoom\",(function(){return i._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1),t.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new gr(this,e),this._hash=e.hash&&new Io(\"string\"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new yr({customAttribution:e.customAttribution})),this.addControl(new xr,e.logoPosition),this.on(\"style.load\",(function(){i.transform.unmodified&&i.jumpTo(i.style.stylesheet);})),this.on(\"data\",(function(e){i._update(\"style\"===e.dataType),i.fire(new t.Event(e.dataType+\"data\",e));})),this.on(\"dataloading\",(function(e){i.fire(new t.Event(e.dataType+\"dataloading\",e));}));}o&&(r.__proto__=o),(r.prototype=Object.create(o&&o.prototype)).constructor=r;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return r.prototype._getMapId=function(){return this._mapId},r.prototype.addControl=function(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var o=e.onAdd(this);this._controls.push(e);var r=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?r.insertBefore(o,r.firstChild):r.appendChild(o),this},r.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this},r.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},r.prototype.resize=function(e){var i=this._containerDimensions(),o=i[0],r=i[1];if(o===this.transform.width&&r===this.transform.height)return this;this._resizeCanvas(o,r),this.transform.resize(o,r),this.painter.resize(o,r);var a=!this._moving;return a&&this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e)),this.fire(new t.Event(\"resize\",e)),a&&this.fire(new t.Event(\"moveend\",e)),this},r.prototype.getBounds=function(){return this.transform.getBounds()},r.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},r.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},r.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")},r.prototype.getMinZoom=function(){return this.transform.minZoom},r.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},r.prototype.getMaxZoom=function(){return this.transform.maxZoom},r.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")},r.prototype.getMinPitch=function(){return this.transform.minPitch},r.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>60)throw new Error(\"maxPitch must be less than or equal to 60\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},r.prototype.getMaxPitch=function(){return this.transform.maxPitch},r.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},r.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},r.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},r.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},r.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},r.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},r.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},r.prototype._createDelegatedListener=function(t,e,i){var o,r=this;if(\"mouseenter\"===t||\"mouseover\"===t){var a=!1;return {layer:e,listener:i,delegates:{mousemove:function(o){var n=r.getLayer(e)?r.queryRenderedFeatures(o.point,{layers:[e]}):[];n.length?a||(a=!0,i.call(r,new Ro(t,r,o.originalEvent,{features:n}))):a=!1;},mouseout:function(){a=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var n=!1;return {layer:e,listener:i,delegates:{mousemove:function(o){(r.getLayer(e)?r.queryRenderedFeatures(o.point,{layers:[e]}):[]).length?n=!0:n&&(n=!1,i.call(r,new Ro(t,r,o.originalEvent)));},mouseout:function(e){n&&(n=!1,i.call(r,new Ro(t,r,e.originalEvent)));}}}}return {layer:e,listener:i,delegates:(o={},o[t]=function(t){var o=r.getLayer(e)?r.queryRenderedFeatures(t.point,{layers:[e]}):[];o.length&&(t.features=o,i.call(r,t),delete t.features);},o)}},r.prototype.on=function(t,e,i){if(void 0===i)return o.prototype.on.call(this,t,e);var r=this._createDelegatedListener(t,e,i);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r),r.delegates)this.on(a,r.delegates[a]);return this},r.prototype.once=function(t,e,i){if(void 0===i)return o.prototype.once.call(this,t,e);var r=this._createDelegatedListener(t,e,i);for(var a in r.delegates)this.once(a,r.delegates[a]);return this},r.prototype.off=function(t,e,i){var r=this;return void 0===i?o.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(o){for(var a=o[t],n=0;n<a.length;n++){var s=a[n];if(s.layer===e&&s.listener===i){for(var l in s.delegates)r.off(l,s.delegates[l]);return a.splice(n,1),r}}}(this._delegatedListeners),this)},r.prototype.queryRenderedFeatures=function(e,i){if(!this.style)return [];var o;if(void 0!==i||void 0===e||e instanceof t.Point||Array.isArray(e)||(i=e,e=void 0),i=i||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||\"number\"==typeof e[0])o=[t.Point.convert(e)];else {var r=t.Point.convert(e[0]),a=t.Point.convert(e[1]);o=[r,new t.Point(a.x,r.y),a,new t.Point(r.x,a.y),r];}return this.style.queryRenderedFeatures(o,i,this.transform)},r.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},r.prototype.setStyle=function(e,i){return !1!==(i=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},i)).diff&&i.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,i),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._updateStyle(e,i))},r.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error(\"Missing UI string '\"+t+\"'\");return e},r.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new je(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},r.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new je(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());},r.prototype._diffStyle=function(e,i){var o=this;if(\"string\"==typeof e){var r=this._requestManager.normalizeStyleURL(e),a=this._requestManager.transformRequest(r,t.ResourceType.Style);t.getJSON(a,(function(e,r){e?o.fire(new t.ErrorEvent(e)):r&&o._updateDiff(r,i);}));}else \"object\"==typeof e&&this._updateDiff(e,i);},r.prototype._updateDiff=function(e,i){try{this.style.setState(e)&&this._update(!0);}catch(o){t.warnOnce(\"Unable to perform style diff: \"+(o.message||o.error||o)+\". Rebuilding the style from scratch.\"),this._updateStyle(e,i);}},r.prototype.getStyle=function(){if(this.style)return this.style.serialize()},r.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")},r.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},r.prototype.isSourceLoaded=function(e){var i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(\"There is no source with ID '\"+e+\"'\")));},r.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var i=t[e]._tiles;for(var o in i){var r=i[o];if(\"loaded\"!==r.state&&\"errored\"!==r.state)return !1}}return !0},r.prototype.addSourceType=function(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)},r.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},r.prototype.getSource=function(t){return this.style.getSource(t)},r.prototype.addImage=function(e,i,o){void 0===o&&(o={});var r=o.pixelRatio;void 0===r&&(r=1);var a=o.sdf;void 0===a&&(a=!1);var n=o.stretchX,s=o.stretchY,l=o.content;if(this._lazyInitEmptyStyle(),i instanceof Tr||Ir&&i instanceof Ir){var c=t.browser.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:c.width,height:c.height},c.data),pixelRatio:r,stretchX:n,stretchY:s,content:l,sdf:a,version:0});}else {if(void 0===i.width||void 0===i.height)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var u=i;this.style.addImage(e,{data:new t.RGBAImage({width:i.width,height:i.height},new Uint8Array(i.data)),pixelRatio:r,stretchX:n,stretchY:s,content:l,sdf:a,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e);}},r.prototype.updateImage=function(e,i){var o=this.style.getImage(e);if(!o)return this.fire(new t.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var r=i instanceof Tr||Ir&&i instanceof Ir?t.browser.getImageData(i):i,a=r.width,n=r.height,s=r.data;return void 0===a||void 0===n?this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\"))):a!==o.data.width||n!==o.data.height?this.fire(new t.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\"))):(o.data.replace(s,!(i instanceof Tr||Ir&&i instanceof Ir)),void this.style.updateImage(e,o))},r.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)},r.prototype.removeImage=function(t){this.style.removeImage(t);},r.prototype.loadImage=function(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i);},r.prototype.listImages=function(){return this.style.listImages()},r.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},r.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},r.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},r.prototype.getLayer=function(t){return this.style.getLayer(t)},r.prototype.setLayerZoomRange=function(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)},r.prototype.setFilter=function(t,e,i){return void 0===i&&(i={}),this.style.setFilter(t,e,i),this._update(!0)},r.prototype.getFilter=function(t){return this.style.getFilter(t)},r.prototype.setPaintProperty=function(t,e,i,o){return void 0===o&&(o={}),this.style.setPaintProperty(t,e,i,o),this._update(!0)},r.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},r.prototype.setLayoutProperty=function(t,e,i,o){return void 0===o&&(o={}),this.style.setLayoutProperty(t,e,i,o),this._update(!0)},r.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},r.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},r.prototype.getLight=function(){return this.style.getLight()},r.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},r.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},r.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},r.prototype.getContainer=function(){return this._container},r.prototype.getCanvasContainer=function(){return this._canvasContainer},r.prototype.getCanvas=function(){return this._canvas},r.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},r.prototype._detectMissingCSS=function(){\"rgb(250, 128, 114)\"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&t.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\");},r.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=i.create(\"div\",\"mapboxgl-canary\",t)).style.visibility=\"hidden\",this._detectMissingCSS();var e=this._canvasContainer=i.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=i.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var r=this._controlContainer=i.create(\"div\",\"mapboxgl-control-container\",t),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((function(t){a[t]=i.create(\"div\",\"mapboxgl-ctrl-\"+t,r);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);},r.prototype._resizeCanvas=function(e,i){var o=t.browser.devicePixelRatio||1;this._canvas.width=o*e,this._canvas.height=o*i,this._canvas.style.width=e+\"px\",this._canvas.style.height=i+\"px\";},r.prototype._setupPainter=function(){var i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),o=this._canvas.getContext(\"webgl\",i)||this._canvas.getContext(\"experimental-webgl\",i);o?(this.painter=new yo(o,this.transform),t.webpSupported.testSupport(o)):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")));},r.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}));},r.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}));},r.prototype._onMapScroll=function(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},r.prototype.loaded=function(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},r.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},r.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},r.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t);},r.prototype._render=function(e){var i,o=this,r=0,a=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(i=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,i),r=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=c.crossFadingFactor();1===u&&u===this._crossFadingFactor||(n=!0,this._crossFadingFactor=u),this.style.update(c);}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var h=t.browser.now()-r;a.endQueryEXT(a.TIME_ELAPSED_EXT,i),setTimeout((function(){var e=a.getQueryObjectEXT(i,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(i),o.fire(new t.Event(\"gpu-timing-frame\",{cpuTime:h,gpuTime:e}));}),50);}if(this.listens(\"gpu-timing-layer\")){var p=this.painter.collectGpuTimers();setTimeout((function(){var e=o.painter.queryGpuTimers(p);o.fire(new t.Event(\"gpu-timing-layer\",{layerTimes:e}));}),50);}var d=this._sourcesDirty||this._styleDirty||this._placementDirty;return d||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event(\"idle\")),!this._loaded||this._fullyLoaded||d||(this._fullyLoaded=!0),this}},r.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,i=this._controls;e<i.length;e+=1)i[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener(\"resize\",this._onWindowResize,!1),t.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),t.window.removeEventListener(\"online\",this._onWindowOnline,!1));var o=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");o&&o.loseContext(),Cr(this._canvasContainer),Cr(this._controlContainer),Cr(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new t.Event(\"remove\"));},r.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t);})));},r.prototype._onWindowOnline=function(){this._update();},r.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update();},a.showTileBoundaries.get=function(){return !!this._showTileBoundaries},a.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());},a.showPadding.get=function(){return !!this._showPadding},a.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update());},a.showCollisionBoxes.get=function(){return !!this._showCollisionBoxes},a.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());},a.showOverdrawInspector.get=function(){return !!this._showOverdrawInspector},a.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());},a.repaint.get=function(){return !!this._repaint},a.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());},a.vertices.get=function(){return !!this._vertices},a.vertices.set=function(t){this._vertices=t,this._update();},r.prototype._setCacheLimits=function(e,i){t.setCacheLimits(e,i);},a.version.get=function(){return t.version},Object.defineProperties(r.prototype,a),r}(vr);function Cr(t){t.parentNode&&t.parentNode.removeChild(t);}var zr={showCompass:!0,showZoom:!0,visualizePitch:!1},Dr=function(e){var o=this;this.options=t.extend({},zr,e),this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(function(t){return o._map.zoomIn({},{originalEvent:t})})),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(function(t){return o._map.zoomOut({},{originalEvent:t})})),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(function(t){o.options.visualizePitch?o._map.resetNorthPitch({},{originalEvent:t}):o._map.resetNorth({},{originalEvent:t});})),this._compassIcon=i.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0));};Dr.prototype._updateZoomButtons=function(){var t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",i.toString());},Dr.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?\"scale(\"+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+\") rotateX(\"+this._map.transform.pitch+\"deg) rotateZ(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\":\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassIcon.style.transform=t;},Dr.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ar(this._map,this._compass,this.options.visualizePitch)),this._container},Dr.prototype.onRemove=function(){i.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;},Dr.prototype._createButton=function(t,e){var o=i.create(\"button\",t,this._container);return o.type=\"button\",o.addEventListener(\"click\",e),o},Dr.prototype._setButtonTitle=function(t,e){var i=this._map._getUIString(\"NavigationControl.\"+e);t.title=i,t.setAttribute(\"aria-label\",i);};var Ar=function(e,o,r){void 0===r&&(r=!1),this._clickTolerance=10,this.element=o,this.mouseRotate=new Xo({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ho({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),i.addEventListener(o,\"mousedown\",this.mousedown),i.addEventListener(o,\"touchstart\",this.touchstart,{passive:!1}),i.addEventListener(o,\"touchmove\",this.touchmove),i.addEventListener(o,\"touchend\",this.touchend),i.addEventListener(o,\"touchcancel\",this.reset);};function Mr(e,i,o){if(e=new t.LngLat(e.lng,e.lat),i){var r=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),n=o.locationPoint(e).distSqr(i);o.locationPoint(r).distSqr(i)<n?e=r:o.locationPoint(a).distSqr(i)<n&&(e=a);}for(;Math.abs(e.lng-o.center.lng)>180;){var s=o.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=o.width&&s.y<=o.height)break;e.lng>o.center.lng?e.lng-=360:e.lng+=360;}return e}Ar.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),i.disableDrag();},Ar.prototype.move=function(t,e){var i=this.map,o=this.mouseRotate.mousemoveWindow(t,e);if(o&&o.bearingDelta&&i.setBearing(i.getBearing()+o.bearingDelta),this.mousePitch){var r=this.mousePitch.mousemoveWindow(t,e);r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta);}},Ar.prototype.off=function(){var t=this.element;i.removeEventListener(t,\"mousedown\",this.mousedown),i.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),i.removeEventListener(t,\"touchmove\",this.touchmove),i.removeEventListener(t,\"touchend\",this.touchend),i.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();},Ar.prototype.offTemp=function(){i.enableDrag(),i.removeEventListener(t.window,\"mousemove\",this.mousemove),i.removeEventListener(t.window,\"mouseup\",this.mouseup);},Ar.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),i.mousePos(this.element,e)),i.addEventListener(t.window,\"mousemove\",this.mousemove),i.addEventListener(t.window,\"mouseup\",this.mouseup);},Ar.prototype.mousemove=function(t){this.move(t,i.mousePos(this.element,t));},Ar.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp();},Ar.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=i.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos));},Ar.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=i.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos));},Ar.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset();},Ar.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();};var Lr={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Rr(t,e,i){var o=t.classList;for(var r in Lr)o.remove(\"mapboxgl-\"+i+\"-anchor-\"+r);o.add(\"mapboxgl-\"+i+\"-anchor-\"+e);}var kr,Br=function(e){function o(o,r){if(e.call(this),(o instanceof t.window.HTMLElement||r)&&(o=t.extend({element:o},r)),t.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=o&&o.anchor||\"center\",this._color=o&&o.color||\"#3FB1CE\",this._scale=o&&o.scale||1,this._draggable=o&&o.draggable||!1,this._clickTolerance=o&&o.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=o&&o.rotation||0,this._rotationAlignment=o&&o.rotationAlignment||\"auto\",this._pitchAlignment=o&&o.pitchAlignment&&\"auto\"!==o.pitchAlignment?o.pitchAlignment:this._rotationAlignment,o&&o.element)this._element=o.element,this._offset=t.Point.convert(o&&o.offset||[0,0]);else {this._defaultMarker=!0,this._element=i.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var a=i.createNS(\"http://www.w3.org/2000/svg\",\"svg\");a.setAttributeNS(null,\"display\",\"block\"),a.setAttributeNS(null,\"height\",\"41px\"),a.setAttributeNS(null,\"width\",\"27px\"),a.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var n=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"stroke\",\"none\"),n.setAttributeNS(null,\"stroke-width\",\"1\"),n.setAttributeNS(null,\"fill\",\"none\"),n.setAttributeNS(null,\"fill-rule\",\"evenodd\");var s=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");s.setAttributeNS(null,\"fill-rule\",\"nonzero\");var l=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");for(var c=0,u=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];c<u.length;c+=1){var h=u[c],p=i.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");p.setAttributeNS(null,\"opacity\",\"0.04\"),p.setAttributeNS(null,\"cx\",\"10.5\"),p.setAttributeNS(null,\"cy\",\"5.80029008\"),p.setAttributeNS(null,\"rx\",h.rx),p.setAttributeNS(null,\"ry\",h.ry),l.appendChild(p);}var d=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"fill\",this._color);var _=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),d.appendChild(_);var f=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"fill\",\"#000000\");var m=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");m.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),f.appendChild(m);var g=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),g.setAttributeNS(null,\"fill\",\"#FFFFFF\");var v=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");v.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var y=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");y.setAttributeNS(null,\"fill\",\"#000000\"),y.setAttributeNS(null,\"opacity\",\"0.25\"),y.setAttributeNS(null,\"cx\",\"5.5\"),y.setAttributeNS(null,\"cy\",\"5.5\"),y.setAttributeNS(null,\"r\",\"5.4999962\");var x=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");x.setAttributeNS(null,\"fill\",\"#FFFFFF\"),x.setAttributeNS(null,\"cx\",\"5.5\"),x.setAttributeNS(null,\"cy\",\"5.5\"),x.setAttributeNS(null,\"r\",\"5.4999962\"),v.appendChild(y),v.appendChild(x),s.appendChild(l),s.appendChild(d),s.appendChild(f),s.appendChild(g),s.appendChild(v),a.appendChild(s),a.setAttributeNS(null,\"height\",41*this._scale+\"px\"),a.setAttributeNS(null,\"width\",27*this._scale+\"px\"),this._element.appendChild(a),this._offset=t.Point.convert(o&&o.offset||[0,-14]);}this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(function(t){t.preventDefault();})),this._element.addEventListener(\"mousedown\",(function(t){t.preventDefault();})),Rr(this._element,this._anchor,\"marker\"),this._popup=null;}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},o.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),i.remove(this._element),this._popup&&this._popup.remove(),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},o.prototype.getElement=function(){return this._element},o.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[e,-1*(24.6+e)],\"bottom-right\":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset;}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this},o.prototype._onKeyPress=function(t){var e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();},o.prototype._onMapClick=function(t){var e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},o.prototype.getPopup=function(){return this._popup},o.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},o.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=Mr(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=\"rotateZ(\"+this._rotation+\"deg)\":\"map\"===this._rotationAlignment&&(e=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var o=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?o=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(o=\"rotateX(\"+this._map.getPitch()+\"deg)\"),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),i.setTransform(this._element,Lr[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+o+\" \"+e);}},o.prototype.getOffset=function(){return this._offset},o.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},o.prototype._onMove=function(e){if(!this._isDragging){var i=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=i;}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\")));},o.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new t.Event(\"dragend\")),this._state=\"inactive\";},o.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp));},o.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},o.prototype.isDraggable=function(){return this._draggable},o.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},o.prototype.getRotation=function(){return this._rotation},o.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||\"auto\",this._update(),this},o.prototype.getRotationAlignment=function(){return this._rotationAlignment},o.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this},o.prototype.getPitchAlignment=function(){return this._pitchAlignment},o}(t.Evented),Or={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Fr=0,Ur=!1,Nr=function(e){function o(i){e.call(this),this.options=t.extend({},Or,i),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this);}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.onAdd=function(e){var o;return this._map=e,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),o=this._setupUI,void 0!==kr?o(kr):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:\"geolocation\"}).then((function(t){o(kr=\"denied\"!==t.state);})):o(kr=!!t.window.navigator.geolocation),this._container},o.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),i.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Fr=0,Ur=!1;},o.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitude<e.getWest()||i.longitude>e.getEast()||i.latitude<e.getSouth()||i.latitude>e.getNorth())},o.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");}},o.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish();}},o.prototype._updateCamera=function(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude),o=e.coords.accuracy,r=this._map.getBearing(),a=t.extend({bearing:r},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(o),a,{geolocateSource:!0});},o.prototype._updateMarker=function(e){if(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();},o.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),o=e.distanceTo(i),r=Math.ceil(2*this._accuracy/o);this._circleElement.style.width=r+\"px\",this._circleElement.style.height=r+\"px\";},o.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},o.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===e.code&&Ur)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish();}},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},o.prototype._setupUI=function(e){var o=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=i.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r);}else {var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=i.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Br(this._dotElement),this._circleElement=i.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Br({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){e.geolocateSource||\"ACTIVE_LOCK\"!==o._watchState||e.originalEvent&&\"resize\"===e.originalEvent.type||(o._watchState=\"BACKGROUND\",o._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),o._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),o.fire(new t.Event(\"trackuserlocationend\")));}));},o.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Fr--,Ur=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"));}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\");}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Fr>1?(e={maximumAge:6e5,timeout:0},Ur=!0):(e=this.options.positionOptions,Ur=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e);}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0},o.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);},o}(t.Evented),Zr={maxWidth:100,unit:\"metric\"},qr=function(e){this.options=t.extend({},Zr,e),t.bindAll([\"_onMove\",\"setUnit\"],this);};function jr(t,e,i){var o=i&&i.maxWidth||100,r=t._container.clientHeight/2,a=t.unproject([0,r]),n=t.unproject([o,r]),s=a.distanceTo(n);if(i&&\"imperial\"===i.unit){var l=3.2808*s;l>5280?Vr(e,o,l/5280,t._getUIString(\"ScaleControl.Miles\")):Vr(e,o,l,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?Vr(e,o,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?Vr(e,o,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Vr(e,o,s,t._getUIString(\"ScaleControl.Meters\"));}function Vr(t,e,i,o){var r,a,n,s=(r=i,(a=Math.pow(10,(\"\"+Math.floor(r)).length-1))*(n=(n=r/a)>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(n)));t.style.width=e*(s/i)+\"px\",t.innerHTML=s+\"&nbsp;\"+o;}qr.prototype.getDefaultPosition=function(){return \"bottom-left\"},qr.prototype._onMove=function(){jr(this._map,this._container,this.options);},qr.prototype.onAdd=function(t){return this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},qr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;},qr.prototype.setUnit=function(t){this.options.unit=t,jr(this._map,this._container,this.options);};var Gr=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\");};Gr.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gr.prototype.onRemove=function(){i.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon);},Gr.prototype._checkFullscreenSupport=function(){return !!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Gr.prototype._setupUI=function(){var e=this._fullscreenButton=i.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);i.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon);},Gr.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;},Gr.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gr.prototype._isFullscreen=function(){return this._fullscreen},Gr.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle());},Gr.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen();};var Wr={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Xr=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),Hr=function(e){function o(i){e.call(this),this.options=t.extend(Object.create(Wr),i),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this);}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},o.prototype.isOpen=function(){return !!this._map},o.prototype.remove=function(){return this._content&&i.remove(this._content),this._container&&(i.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},o.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},o.prototype.getElement=function(){return this._container},o.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},o.prototype.setHTML=function(e){var i,o=t.window.document.createDocumentFragment(),r=t.window.document.createElement(\"body\");for(r.innerHTML=e;i=r.firstChild;)o.appendChild(i);return this.setDOMContent(o)},o.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},o.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},o.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=i.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},o.prototype.addClassName=function(t){this._container&&this._container.classList.add(t);},o.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t);},o.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},o.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},o.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=i.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClose));},o.prototype._onMouseUp=function(t){this._update(t.point);},o.prototype._onMouseMove=function(t){this._update(t.point);},o.prototype._onDrag=function(t){this._update(t.point);},o.prototype._update=function(e){var o=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=i.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=i.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return o._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Mr(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var r=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,n=function e(i){if(i){if(\"number\"==typeof i){var o=Math.round(Math.sqrt(.5*Math.pow(i,2)));return {center:new t.Point(0,0),top:new t.Point(0,i),\"top-left\":new t.Point(o,o),\"top-right\":new t.Point(-o,o),bottom:new t.Point(0,-i),\"bottom-left\":new t.Point(o,-o),\"bottom-right\":new t.Point(-o,-o),left:new t.Point(i,0),right:new t.Point(-i,0)}}if(i instanceof t.Point||Array.isArray(i)){var r=t.Point.convert(i);return {center:r,top:r,\"top-left\":r,\"top-right\":r,bottom:r,\"bottom-left\":r,\"bottom-right\":r,left:r,right:r}}return {center:t.Point.convert(i.center||[0,0]),top:t.Point.convert(i.top||[0,0]),\"top-left\":t.Point.convert(i[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(i[\"top-right\"]||[0,0]),bottom:t.Point.convert(i.bottom||[0,0]),\"bottom-left\":t.Point.convert(i[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(i[\"bottom-right\"]||[0,0]),left:t.Point.convert(i.left||[0,0]),right:t.Point.convert(i.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=r.y+n.bottom.y<c?[\"top\"]:r.y>this._map.transform.height-c?[\"bottom\"]:[],r.x<l/2?s.push(\"left\"):r.x>this._map.transform.width-l/2&&s.push(\"right\"),a=0===s.length?\"bottom\":s.join(\"-\");}var u=r.add(n[a]).round();i.setTransform(this._container,Lr[a]+\" translate(\"+u.x+\"px,\"+u.y+\"px)\"),Rr(this._container,a,\"popup\");}},o.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(Xr);t&&t.focus();}},o.prototype._onClose=function(){this.remove();},o}(t.Evented),Kr={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Sr,NavigationControl:Dr,GeolocateControl:Nr,AttributionControl:yr,ScaleControl:qr,FullscreenControl:Gr,Popup:Hr,Marker:Br,Style:je,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Ft().acquire(Rt);},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"));},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e;},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e;},get workerCount(){return kt.workerCount},set workerCount(t){kt.workerCount=t;},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e;},clearStorage:function(e){t.clearTileCache(e);},workerUrl:\"\"};return Kr}));\n\n//\n\nreturn mapboxgl;\n\n})));\n//# sourceMappingURL=mapbox-gl.js.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nimport { Attitude, UserPosition, RelativePosition, GeoRelativePosition, Constants as Constants$1, Level, AbsoluteHeading } from \"@wemap/geo\";\nimport { deg2rad, Matrix4, Matrix3, Vector3, Quaternion, Matrix, Vector, Rotations, rad2deg, diffAngle, std, diffAngleLines } from \"@wemap/maths\";\nimport { ItineraryInfoManager, Edge } from \"@wemap/routers\";\nimport { TimeUtils, BrowserUtils, Browser, UserAgentUtils } from \"@wemap/utils\";\nimport Logger from \"@wemap/logger\";\nimport * as geomag from \"geomag\";\nimport { canvasToBase64, base64ToCanvas, convertToGrayscale, reduceImageSize, Camera, SharedCameras } from \"@wemap/camera\";\nclass RelativeAttitude extends Attitude {\n}\nclass AbsoluteAttitude extends Attitude {\n}\nclass AbsolutePosition extends UserPosition {\n}\nconst ProvidersOptions = {\n /**\n * Does provider will use map to\n */\n useMapMatching: true,\n /**\n * Providers listed here will not be used by the system\n * List of {@link Provider#pname}\n */\n ignoreProviders: [],\n /**\n * Some providers are not used by default (i.e. PoleStar) because they\n * require data from an optional external service or because they drain more\n * battery. They can be added to this list to be used\n * List of {@link Provider#pname}\n */\n optionalProviders: [],\n stopOnError: true,\n checkAvailabilityOnStart: true,\n get hasPoleStar() {\n return this.optionalProviders.includes(\"PoleStar\");\n }\n};\nclass ProvidersLoggerOld {\n constructor() {\n __publicField(this, \"_enabled\", false);\n __publicField(this, \"currentId\", 0);\n __publicField(this, \"objectsIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"pushEvents\", {});\n __publicField(this, \"pushEventsRef\", {});\n __publicField(this, \"interval\");\n __publicField(this, \"initDate\");\n }\n get enabled() {\n return this._enabled;\n }\n set enabled(_newVal) {\n this._enabled = _newVal;\n }\n initializeInterval() {\n if (this.interval) {\n return;\n }\n this.interval = window.setInterval(() => {\n for (const [key, value] of Object.entries(this.pushEvents)) {\n Logger.debug(\"Received \" + value + \" notifications from \" + this.pushEventsRef[Number(key)].getName() + \" last second\");\n }\n this.pushEvents = {};\n this.pushEventsRef = {};\n }, 1e3);\n }\n getObjectId(object) {\n if (!this.objectsIdMap.has(object)) {\n this.objectsIdMap.set(object, ++this.currentId);\n }\n return this.objectsIdMap.get(object);\n }\n addEvent(object, method) {\n if (!this.enabled) {\n return;\n }\n if (!this.initDate) {\n this.initDate = Date.now();\n }\n this.initializeInterval();\n const objectId = this.getObjectId(object);\n const objectClassName = object.getName();\n Logger.debug(objectClassName + \"[\" + objectId + \"].\" + method);\n }\n incrementNotifications(object) {\n if (!this.enabled) {\n return;\n }\n const objectId = this.getObjectId(object);\n let counter = this.pushEvents[objectId];\n if (!counter) {\n counter = 0;\n this.pushEventsRef[objectId] = object;\n }\n this.pushEvents[objectId] = counter + 1;\n }\n}\nconst ProvidersLoggerOld$1 = new ProvidersLoggerOld();\nconst _ContainsIgnoredProviderError = class _ContainsIgnoredProviderError extends Error {\n constructor(message) {\n super(message || _ContainsIgnoredProviderError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_ContainsIgnoredProviderError, \"DEFAULT_MESSAGE\", \"Contains ignored provider\");\nlet ContainsIgnoredProviderError = _ContainsIgnoredProviderError;\nconst _Provider = class _Provider {\n /**\n * Provider constructor\n */\n constructor() {\n __publicField(this, \"id\");\n __publicField(this, \"state\", \"stopped\");\n __publicField(this, \"_lastEvent\", null);\n __publicField(this, \"_eventsCallbacks\", []);\n __publicField(this, \"_monitoringCallbacks\", []);\n /**\n * Notify the subscriber defined in {@link addEventListener}\n */\n __publicField(this, \"notify\", (event) => {\n ProvidersLoggerOld$1.incrementNotifications(this);\n this._eventsCallbacks.forEach((cb) => {\n var _a;\n return (_a = cb.onEvent) == null ? void 0 : _a.call(cb, event);\n });\n this._lastEvent = event;\n });\n /**\n * Notify the subscriber defined in {@link addEventListener}\n */\n __publicField(this, \"notifyError\", (error) => {\n this._eventsCallbacks.forEach(({\n id,\n onError\n }) => {\n if (ProvidersOptions.stopOnError) {\n this.removeEventListener(id);\n }\n onError == null ? void 0 : onError(error);\n });\n });\n this.id = _Provider._uniqueId++;\n ProvidersLoggerOld$1.addEvent(this, \"constructor\");\n }\n /**\n * Resolve with an error if the provider is not available\n */\n getAvailability() {\n if (ProvidersOptions.ignoreProviders.includes(this.getName())) {\n return Promise.resolve(new ContainsIgnoredProviderError());\n }\n return this.availability();\n }\n get hasNativeInterface() {\n return Boolean(this.nativeInterface);\n }\n get nativeInterface() {\n return typeof window !== \"undefined\" && window.__nativeProviders || null;\n }\n get nativeJsInterface() {\n if (typeof window === \"undefined\") {\n return null;\n }\n if (!window.__nativeJsProviders) {\n window.__nativeJsProviders = {};\n }\n return window.__nativeJsProviders;\n }\n get useCameraNatively() {\n return false;\n }\n addEventListener(onEvent = null, onError = null, startIfNecessary = true) {\n const id = ++_Provider._callbackUniqueId;\n this._eventsCallbacks.push({\n id,\n onEvent: onEvent || (() => {\n }),\n onError: onError || (() => {\n }),\n optional: !startIfNecessary\n });\n if (!startIfNecessary) {\n return id;\n }\n if (this.state !== \"stopped\") {\n return id;\n }\n this.state = \"starting\";\n let availabilityPromise = Promise.resolve();\n if (ProvidersOptions.checkAvailabilityOnStart) {\n availabilityPromise = this.getAvailability();\n }\n (async () => {\n const error = await availabilityPromise;\n if (error) {\n this.state = \"stopped\";\n this.notifyError(error);\n return;\n }\n ProvidersLoggerOld$1.addEvent(this, \"start\");\n this.start();\n this.state = \"started\";\n this._monitoringCallbacks.forEach((cb) => {\n var _a;\n return (_a = cb.onStarted) == null ? void 0 : _a.call(cb);\n });\n })();\n return id;\n }\n removeEventListener(callbackUniqueId) {\n const callback = this._eventsCallbacks.find((_callback) => _callback.id === callbackUniqueId);\n if (!callback) {\n return;\n }\n this._eventsCallbacks = this._eventsCallbacks.filter((_callback) => _callback !== callback);\n if (callback.optional) {\n return;\n }\n if (this._eventsCallbacks.find((_callback) => !_callback.optional)) {\n return;\n }\n if (this.state === \"stopped\") {\n return;\n }\n ProvidersLoggerOld$1.addEvent(this, \"stop\");\n this.stop();\n this.state = \"stopped\";\n this._monitoringCallbacks.forEach((cb) => {\n var _a;\n return (_a = cb.onStopped) == null ? void 0 : _a.call(cb);\n });\n }\n addMonitoringListener(onStarted, onStopped) {\n const id = _Provider._callbackUniqueId++;\n this._monitoringCallbacks.push({\n id,\n onStarted: onStarted || null,\n onStopped: onStopped || null\n });\n return id;\n }\n removeMonitoringListener(callbackUniqueId) {\n this._monitoringCallbacks = this._monitoringCallbacks.filter(\n (_callback) => _callback.id !== callbackUniqueId\n );\n }\n get lastEvent() {\n return this._lastEvent;\n }\n};\n__publicField(_Provider, \"_callbackUniqueId\", 0);\n__publicField(_Provider, \"_uniqueId\", 1);\nlet Provider = _Provider;\nclass AvailabilityHelper {\n static async every(availabilityPromises) {\n for (const aPr of availabilityPromises) {\n const error = await aPr;\n if (error) {\n return error;\n }\n }\n return null;\n }\n static async some(availabilityPromises) {\n let firstError;\n for (const aPr of availabilityPromises) {\n const error = await aPr;\n if (!error) {\n return null;\n } else if (!firstError) {\n firstError = error;\n }\n }\n return firstError || null;\n }\n}\nconst _AskImuOnDesktopError = class _AskImuOnDesktopError extends Error {\n constructor(message) {\n super(message || _AskImuOnDesktopError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_AskImuOnDesktopError, \"DEFAULT_MESSAGE\", \"It seems that you ask for IMU events on a desktop browser\");\nlet AskImuOnDesktopError = _AskImuOnDesktopError;\nconst _MissingSensorError = class _MissingSensorError extends Error {\n constructor(message) {\n super(message || _MissingSensorError.DEFAULT_MESSAGE);\n }\n from(fromMessage) {\n this.message += \" from \" + fromMessage;\n return this;\n }\n};\n__publicField(_MissingSensorError, \"DEFAULT_MESSAGE\", \"Impossible to retrieve events, a sensor is missing\");\nlet MissingSensorError = _MissingSensorError;\nclass MissingMagnetometerError extends MissingSensorError {\n constructor(message) {\n super(message);\n }\n}\nconst _GeolocationApiMissingError = class _GeolocationApiMissingError extends Error {\n constructor(message) {\n super(message || _GeolocationApiMissingError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_GeolocationApiMissingError, \"DEFAULT_MESSAGE\", \"Geolocation api is missing\");\nlet GeolocationApiMissingError = _GeolocationApiMissingError;\nconst _GeolocationPermissionDeniedError = class _GeolocationPermissionDeniedError extends Error {\n constructor(message) {\n super(message || _GeolocationPermissionDeniedError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_GeolocationPermissionDeniedError, \"DEFAULT_MESSAGE\", \"Geolocation permission denied\");\nlet GeolocationPermissionDeniedError = _GeolocationPermissionDeniedError;\nconst _GeolocationPositionUnavailableError = class _GeolocationPositionUnavailableError extends Error {\n constructor(message) {\n super(message || _GeolocationPositionUnavailableError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_GeolocationPositionUnavailableError, \"DEFAULT_MESSAGE\", \"Geolocation position unavailable\");\nlet GeolocationPositionUnavailableError = _GeolocationPositionUnavailableError;\nconst Constants = {\n DEFAULT_ALTITUDE: 1.6\n};\nconst _GnssWifiProvider = class _GnssWifiProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"discardPositionsAbove\", _GnssWifiProvider.DEFAULT_DISCARD_POSITIONS_ABOVE);\n __publicField(this, \"enableHighAccuracy\", true);\n __publicField(this, \"geoLocationId\");\n __publicField(this, \"getName\", () => \"GnssWifi\");\n __publicField(this, \"onNewPosition\", (geolocation) => {\n const { coords } = geolocation;\n if (!coords) {\n return;\n }\n let bearing;\n if (coords.heading) {\n bearing = deg2rad(coords.heading);\n }\n const timestamp = TimeUtils.unixTimestampToPreciseTime(geolocation.timestamp) / 1e3;\n const position = new UserPosition(\n coords.latitude,\n coords.longitude,\n Constants.DEFAULT_ALTITUDE,\n null,\n timestamp,\n coords.accuracy,\n bearing\n );\n if (this.enableHighAccuracy && typeof this.discardPositionsAbove === \"number\" && coords.accuracy > this.discardPositionsAbove) {\n return;\n }\n this.notify(position);\n });\n __publicField(this, \"onPositionError\", (error) => {\n Logger.warn(`[Providers] watchPosition error: [${error.code}] ${error.message}`);\n let customError;\n switch (error.code) {\n case 1:\n customError = new GeolocationPermissionDeniedError(error.message);\n break;\n case 2:\n customError = new GeolocationPositionUnavailableError(error.message);\n break;\n default:\n customError = new Error(error.message);\n }\n this.notifyError(customError);\n });\n }\n get positionOptions() {\n return {\n enableHighAccuracy: this.enableHighAccuracy,\n timeout: Infinity,\n maximumAge: 0\n };\n }\n availability() {\n return typeof navigator === \"object\" && navigator.geolocation ? Promise.resolve() : Promise.resolve(new GeolocationApiMissingError());\n }\n start() {\n navigator.geolocation.getCurrentPosition(\n this.onNewPosition,\n this.onPositionError,\n this.positionOptions\n );\n setTimeout(() => {\n this.geoLocationId = navigator.geolocation.watchPosition(\n this.onNewPosition,\n this.onPositionError,\n this.positionOptions\n );\n }, 150);\n }\n stop() {\n if (typeof this.geoLocationId !== \"undefined\") {\n navigator.geolocation.clearWatch(this.geoLocationId);\n }\n }\n};\n__publicField(_GnssWifiProvider, \"DEFAULT_DISCARD_POSITIONS_ABOVE\", 50);\nlet GnssWifiProvider = _GnssWifiProvider;\nconst GnssWifiProvider$1 = new GnssWifiProvider();\nconst _MissingArCoreError = class _MissingArCoreError extends Error {\n constructor(message) {\n super(message || _MissingArCoreError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_MissingArCoreError, \"DEFAULT_MESSAGE\", \"ARCore is missing\");\nlet MissingArCoreError = _MissingArCoreError;\nconst _MissingNativeInterfaceError = class _MissingNativeInterfaceError extends Error {\n constructor(message) {\n super(message || _MissingNativeInterfaceError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_MissingNativeInterfaceError, \"DEFAULT_MESSAGE\", \"Native interface is missing. You are maybe trying to execute a code which is not available in a web browser\");\nlet MissingNativeInterfaceError = _MissingNativeInterfaceError;\nconst _ArCoreProvider = class _ArCoreProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"_nativeProvider\");\n __publicField(this, \"previousPosition\", [0, 0, 0]);\n __publicField(this, \"getName\", () => \"ArCore\");\n __publicField(this, \"pullDataLoop\", () => {\n if (this.state === \"stopped\") {\n return;\n }\n const payload = JSON.parse(this.nativeProvider.getInfo());\n if (payload.length > 1) {\n this.parsePayload(payload);\n }\n requestAnimationFrame(this.pullDataLoop);\n });\n }\n availability() {\n try {\n const nativeProvider = this.nativeProvider;\n if (!nativeProvider.checkAvailability()) {\n return Promise.resolve(new MissingArCoreError());\n }\n } catch (e) {\n return Promise.resolve(e);\n }\n return Promise.resolve();\n }\n start() {\n var _a;\n (_a = this.nativeProvider) == null ? void 0 : _a.start();\n this.pullDataLoop();\n }\n stop() {\n var _a;\n (_a = this.nativeProvider) == null ? void 0 : _a.stop();\n }\n parsePayload(payload) {\n const ref = payload[0];\n let bufferIndex = 1;\n let attitude, position, cameraProjection, barcode;\n const time = TimeUtils.preciseTime() / 1e3;\n if (ref & _ArCoreProvider.Payload.Pose.ref) {\n attitude = new RelativeAttitude(\n payload.slice(bufferIndex, bufferIndex + 4),\n time,\n _ArCoreProvider.RELATIVE_ATTITUDE_DRIFT\n );\n const newPosition = [\n payload[bufferIndex + 4],\n payload[bufferIndex + 5],\n payload[bufferIndex + 6]\n ];\n position = new RelativePosition(\n newPosition[0] - this.previousPosition[0],\n newPosition[1] - this.previousPosition[1],\n newPosition[2] - this.previousPosition[2],\n time,\n 1e-4\n );\n this.previousPosition = newPosition;\n bufferIndex += _ArCoreProvider.Payload.Pose.size;\n }\n if (ref & _ArCoreProvider.Payload.Barcode.ref) {\n barcode = payload[bufferIndex];\n bufferIndex += _ArCoreProvider.Payload.Barcode.size;\n }\n if (ref & _ArCoreProvider.Payload.ProjMat.ref) {\n cameraProjection = payload.slice(bufferIndex, bufferIndex + _ArCoreProvider.Payload.ProjMat.size);\n bufferIndex += _ArCoreProvider.Payload.ProjMat.size;\n }\n this.notify({\n relativePosition: position,\n relativeAttitude: attitude,\n ...barcode && { barcode },\n ...cameraProjection && { cameraProjection }\n });\n }\n get nativeProvider() {\n if (!this._nativeProvider) {\n if (!this.nativeInterface) {\n throw new MissingNativeInterfaceError();\n }\n this._nativeProvider = this.nativeInterface.getArCoreProvider();\n if (!this._nativeProvider) {\n throw new MissingArCoreError();\n }\n }\n return this._nativeProvider;\n }\n enableBarcodeScanner() {\n try {\n this.nativeProvider.enableBarcodeScanner();\n } catch (e) {\n this.notifyError(e);\n }\n }\n disableBarcodeScanner() {\n try {\n this.nativeProvider.disableBarcodeScanner();\n } catch (e) {\n this.notifyError(e);\n }\n }\n get useCameraNatively() {\n return true;\n }\n};\n__publicField(_ArCoreProvider, \"Payload\", {\n Pose: {\n ref: 2 ** 0,\n size: 7\n },\n Barcode: {\n ref: 2 ** 1,\n size: 1\n },\n ProjMat: {\n ref: 2 ** 2,\n size: 16\n },\n ImageRef: {\n ref: 2 ** 3,\n size: 1\n }\n});\n/**\n * default relative attitude drift in rad.second-1\n */\n__publicField(_ArCoreProvider, \"RELATIVE_ATTITUDE_DRIFT\", deg2rad(3) / 60);\nlet ArCoreProvider = _ArCoreProvider;\nconst ArCoreProvider$1 = new ArCoreProvider();\nclass GeoRelativePositionFromArCoreProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"absoluteAttitudeProviderId\");\n __publicField(this, \"arCoreProviderId\");\n __publicField(this, \"absoluteAttitudeEvent\");\n __publicField(this, \"getName\", () => \"GeoRelativePositionFromArCore\");\n __publicField(this, \"onArCoreEvents\", (event) => {\n const relativeAttitudeEvent = event.relativeAttitude;\n const relativePositionEvent = event.relativePosition;\n if (relativeAttitudeEvent && relativePositionEvent && this.absoluteAttitudeEvent) {\n this.compute(relativePositionEvent, relativeAttitudeEvent, this.absoluteAttitudeEvent);\n }\n });\n }\n availability() {\n return AvailabilityHelper.every([\n ArCoreProvider$1.getAvailability(),\n AbsoluteAttitudeProvider$1.getAvailability()\n ]);\n }\n start() {\n this.arCoreProviderId = ArCoreProvider$1.addEventListener(\n this.onArCoreEvents,\n this.notifyError\n );\n this.absoluteAttitudeProviderId = AbsoluteAttitudeProvider$1.addEventListener(\n (event) => this.absoluteAttitudeEvent = event,\n this.notifyError\n );\n }\n stop() {\n ArCoreProvider$1.removeEventListener(this.arCoreProviderId);\n AbsoluteAttitudeProvider$1.removeEventListener(this.absoluteAttitudeProviderId);\n }\n compute(relativePosition, relativeAttitude, absoluteAttitude) {\n const rotation = absoluteAttitude.heading - relativeAttitude.heading;\n const east = Math.cos(rotation) * relativePosition.x - Math.sin(rotation) * relativePosition.z;\n const north = -Math.sin(rotation) * relativePosition.x - Math.cos(rotation) * relativePosition.z;\n const up = relativePosition.y;\n const position = new GeoRelativePosition(\n east,\n north,\n up,\n relativePosition.time,\n 0,\n absoluteAttitude.heading\n );\n this.notify(position);\n }\n}\nconst GeoRelativePositionFromArCoreProvider$1 = new GeoRelativePositionFromArCoreProvider();\nconst DEFAULT_RELATIVE_NOISES = {\n acc: 0.5,\n gyr: 0.3\n};\nconst DEFAULT_ABSOLUTE_NOISES = {\n acc: 0.5,\n gyr: 0.3,\n yc: 2\n};\nclass EkfAttitude {\n constructor(accRef = [0, 0, 1], ycRef = [-1, 0, 0]) {\n __publicField(this, \"P\");\n __publicField(this, \"accRef\");\n __publicField(this, \"cRef\");\n __publicField(this, \"noises\");\n __publicField(this, \"quaternion\");\n this.accRef = accRef;\n this.cRef = ycRef;\n this.P = Matrix4.fromDiagVector(Array(4).fill(0.1 ** 2));\n this.quaternion = null;\n this.noises = {};\n this.setRelativeNoises(DEFAULT_RELATIVE_NOISES);\n this.setAbsoluteNoises(DEFAULT_ABSOLUTE_NOISES);\n }\n setRelativeNoises(relativeNoises) {\n this.noises.relative = {\n acc: Matrix3.diag(Array(3).fill(relativeNoises.acc ** 2)),\n gyr: Matrix3.diag(Array(3).fill(relativeNoises.gyr ** 2))\n };\n }\n setAbsoluteNoises(absoluteNoises) {\n this.noises.absolute = {\n acc: Matrix3.diag(Array(3).fill(absoluteNoises.acc ** 2)),\n gyr: Matrix3.diag(Array(3).fill(absoluteNoises.gyr ** 2)),\n yc: Matrix3.diag(Array(3).fill(absoluteNoises.yc ** 2))\n };\n }\n /**\n * Try to initialize filter.\n * To initialize, we need at least current acceleration (acc)\n */\n tryInitialize(acc, mag) {\n const accNormalized = Vector3.normalize(acc);\n if (mag) {\n const magNormalized = Vector3.normalize(mag);\n const H = Vector3.normalize(Vector3.cross(magNormalized, accNormalized));\n const M = Vector3.cross(accNormalized, H);\n const R = [\n [H[0], M[0], accNormalized[0]],\n [H[1], M[1], accNormalized[1]],\n [H[2], M[2], accNormalized[2]]\n ];\n this.quaternion = Quaternion.fromMatrix3Matlab(R);\n } else {\n const r = Vector3.dot(accNormalized, this.accRef) + 1;\n const v = Vector3.cross(accNormalized, this.accRef);\n let quaternion = [r, v[0], v[1], v[2]];\n quaternion = Quaternion.normalize(quaternion);\n this.quaternion = quaternion;\n }\n return this.quaternion;\n }\n update(diffTime, acc, gyr, mag) {\n if (!this.quaternion) {\n return this.tryInitialize(acc, mag);\n }\n let q = this.quaternion;\n const qArray = q;\n const gyrInt = Vector3.multiplyScalar(gyr, 0.5 * diffTime);\n const F = this.computeC([1, gyrInt[0], gyrInt[1], gyrInt[2]]);\n const qAPriori = Matrix4.multiplyVector(F, q);\n const E1 = Matrix3.diag([qArray[0], qArray[0], qArray[0]]);\n const eSkew = Matrix3.skew([qArray[1], qArray[2], qArray[3]]);\n const qPart = [-1 * qArray[1], -1 * qArray[2], -1 * qArray[3]];\n const E = Matrix.concatRow([qPart], Matrix3.sum(eSkew, E1));\n const Qk = Matrix4.multiplyScalar(\n Matrix.multiply(\n Matrix.multiply(E, this.noises[mag ? \"absolute\" : \"relative\"].gyr),\n Matrix.transpose(E)\n ),\n (diffTime / 2) ** 2\n );\n const pAPriori = Matrix4.sum(\n Matrix4.multiply(\n Matrix4.multiply(F, this.P),\n Matrix4.transpose(F)\n ),\n Qk\n );\n const accNormalized = Vector3.normalize(acc);\n let dz, K, H;\n if (mag) {\n const magNormalized = Vector3.normalize(mag);\n const yc = Vector3.cross(accNormalized, magNormalized);\n const ycNormalized = Vector3.normalize(yc);\n const dzYc = Vector3.subtract(ycNormalized, Quaternion.rotateMatlab(qAPriori, this.cRef));\n const dzAcc = Vector3.subtract(accNormalized, Quaternion.rotateMatlab(qAPriori, this.accRef));\n dz = Vector.concat(dzYc, dzAcc);\n const HYc = this.jacobianES(qAPriori, this.cRef);\n const HAcc = this.jacobianES(qAPriori, this.accRef);\n H = Matrix.concatRow(HYc, HAcc);\n const RYc = Matrix.concatLine(this.noises.absolute.yc, Matrix3.zeros);\n const RAcc = Matrix.concatLine(Matrix3.zeros, this.noises.absolute.acc);\n const R = Matrix.concatRow(RYc, RAcc);\n K = Matrix.multiply(\n Matrix.multiply(pAPriori, Matrix.transpose(H)),\n Matrix.inverse(\n Matrix.sum(\n Matrix.multiply(\n Matrix.multiply(H, pAPriori),\n Matrix.transpose(H)\n ),\n R\n )\n )\n );\n } else {\n dz = Vector3.subtract(accNormalized, Quaternion.rotateMatlab(qAPriori, this.accRef));\n H = this.jacobianES(qAPriori, this.accRef);\n const R = this.noises.relative.acc;\n K = Matrix.multiply(\n Matrix.multiply(pAPriori, Matrix.transpose(H)),\n Matrix3.inverse(\n Matrix3.sum(\n Matrix.multiply(\n Matrix.multiply(H, pAPriori),\n Matrix.transpose(H)\n ),\n R\n )\n )\n );\n }\n q = Quaternion.sum(\n qAPriori,\n Matrix.multiplyVector(K, dz)\n );\n const P = Matrix4.multiply(\n Matrix4.subtract(\n Matrix4.identity,\n Matrix.multiply(K, H)\n ),\n pAPriori\n );\n q = Quaternion.normalize(q);\n this.quaternion = q;\n this.P = P;\n return q;\n }\n computeC(b) {\n return [\n [b[0], -b[1], -b[2], -b[3]],\n [b[1], b[0], b[3], -b[2]],\n [b[2], -b[3], b[0], b[1]],\n [b[3], b[2], -b[1], b[0]]\n ];\n }\n jacobianES(q, v) {\n const [qw, qx, qy, qz] = q;\n const [vx, vy, vz] = v;\n return [\n [2 * qz * vy - 2 * qy * vz, 2 * qy * vy + 2 * qz * vz, 2 * qx * vy - 2 * qw * vz - 4 * qy * vx, 2 * qw * vy + 2 * qx * vz - 4 * qz * vx],\n [2 * qx * vz - 2 * qz * vx, 2 * qw * vz - 4 * qx * vy + 2 * qy * vx, 2 * qx * vx + 2 * qz * vz, 2 * qy * vz - 2 * qw * vx - 4 * qz * vy],\n [2 * qy * vx - 2 * qx * vy, 2 * qz * vx - 4 * qx * vz - 2 * qw * vy, 2 * qw * vx - 4 * qy * vz + 2 * qz * vy, 2 * qx * vx + 2 * qy * vy]\n ];\n }\n}\nclass ImuProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"getName\", () => \"IMU\");\n /**\n * devicemotion callback\n */\n __publicField(this, \"parseDeviceMotionEvent\", (e) => {\n const timestamp = e.timeStamp / 1e3;\n let acc;\n if (e.accelerationIncludingGravity) {\n const {\n x,\n y,\n z\n } = e.accelerationIncludingGravity;\n if (typeof x === \"number\" && typeof y === \"number\" && typeof z === \"number\") {\n acc = [x, y, z];\n if (BrowserUtils.getName() === Browser.SAFARI || BrowserUtils.getName() === Browser.IOS_WEBVIEW) {\n acc[0] *= -1;\n acc[1] *= -1;\n acc[2] *= -1;\n }\n }\n }\n let gyr;\n if (e.rotationRate) {\n const {\n alpha,\n beta,\n gamma\n } = e.rotationRate;\n if (typeof alpha === \"number\" && typeof beta === \"number\" && typeof gamma === \"number\") {\n gyr = [deg2rad(alpha), deg2rad(beta), deg2rad(gamma)];\n }\n }\n if (acc || gyr) {\n this.notify({\n ...acc && { acceleration: { timestamp, values: acc } },\n ...gyr && { angularRate: { timestamp, values: gyr } }\n });\n }\n });\n }\n availability() {\n return BrowserUtils.isMobile ? Promise.resolve() : Promise.resolve(new AskImuOnDesktopError());\n }\n start() {\n const subscribe = () => window.addEventListener(\"devicemotion\", this.parseDeviceMotionEvent, true);\n const requestPermission = DeviceMotionEvent.requestPermission || void 0;\n if (requestPermission) {\n requestPermission().then((response) => {\n if (response !== \"granted\") {\n throw new Error(\"Permission not granted\");\n }\n subscribe();\n }).catch(this.notifyError);\n } else {\n subscribe();\n }\n }\n stop() {\n window.removeEventListener(\"devicemotion\", this.parseDeviceMotionEvent, true);\n }\n}\nconst ImuProvider$1 = new ImuProvider();\nconst _MissingAccelerometerError = class _MissingAccelerometerError extends MissingSensorError {\n constructor(message) {\n super(message || _MissingAccelerometerError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_MissingAccelerometerError, \"DEFAULT_MESSAGE\", \"Impossible to retrieve Acceleration data\");\nlet MissingAccelerometerError = _MissingAccelerometerError;\nclass AccelerometerProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"imuProviderId\");\n __publicField(this, \"getName\", () => \"Accelerometer\");\n __publicField(this, \"availability\", () => ImuProvider$1.getAvailability());\n }\n start() {\n this.imuProviderId = ImuProvider$1.addEventListener((event) => {\n event.acceleration ? this.notify(event.acceleration) : this.notifyError(new MissingAccelerometerError().from(\"devicemotion\"));\n }, this.notifyError);\n }\n stop() {\n ImuProvider$1.removeEventListener(this.imuProviderId);\n }\n}\nconst AccelerometerProvider$1 = new AccelerometerProvider();\nclass MissingGyroscopeError extends MissingSensorError {\n constructor(message) {\n super(message || MissingSensorError.DEFAULT_MESSAGE);\n }\n}\n__publicField(MissingGyroscopeError, \"DEFAULT_MESSAGE\", \"Impossible to retrieve Angular Rate data\");\nclass GyroscopeProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"imuProviderId\");\n __publicField(this, \"getName\", () => \"Gyroscope\");\n __publicField(this, \"availability\", () => ImuProvider$1.getAvailability());\n }\n start() {\n this.imuProviderId = ImuProvider$1.addEventListener((event) => {\n event.angularRate ? this.notify(event.angularRate) : this.notifyError(new MissingGyroscopeError().from(\"devicemotion\"));\n }, this.notifyError);\n }\n stop() {\n ImuProvider$1.removeEventListener(this.imuProviderId);\n }\n}\nconst GyroscopeProvider$1 = new GyroscopeProvider();\nconst _RelativeAttitudeFromEkf = class _RelativeAttitudeFromEkf extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"accelerometerProviderId\");\n __publicField(this, \"ekfAttitude\", new EkfAttitude());\n __publicField(this, \"gyroscopeEvent\");\n __publicField(this, \"gyroscopeProviderId\");\n __publicField(this, \"lastTimestamp\", 0);\n __publicField(this, \"getName\", () => \"RelativeAttitudeFromEkf\");\n __publicField(this, \"onAccelerometerEvent\", (accelerationEvent) => {\n if (!this.gyroscopeEvent) {\n return;\n }\n const {\n values: acceleration,\n timestamp\n } = accelerationEvent;\n if (this.lastTimestamp === 0) {\n this.lastTimestamp = timestamp;\n return;\n }\n const diffTime = timestamp - this.lastTimestamp;\n this.lastTimestamp = timestamp;\n const quaternion = this.ekfAttitude.update(\n diffTime,\n acceleration,\n this.gyroscopeEvent.values\n );\n if (quaternion) {\n const attitude = new RelativeAttitude(\n quaternion,\n timestamp,\n _RelativeAttitudeFromEkf.DEFAULT_DRIFT\n );\n this.notify(attitude);\n }\n });\n }\n availability() {\n return AvailabilityHelper.every([\n AccelerometerProvider$1.getAvailability(),\n GyroscopeProvider$1.getAvailability()\n ]);\n }\n start() {\n this.accelerometerProviderId = AccelerometerProvider$1.addEventListener(\n (event) => this.onAccelerometerEvent(event),\n (error) => this.notifyError(error)\n );\n this.gyroscopeProviderId = GyroscopeProvider$1.addEventListener(\n (event) => this.gyroscopeEvent = event,\n (error) => this.notifyError(error)\n );\n }\n stop() {\n AccelerometerProvider$1.removeEventListener(this.accelerometerProviderId);\n GyroscopeProvider$1.removeEventListener(this.gyroscopeProviderId);\n }\n};\n/**\n * default relative attitude drift in rad.second-1\n */\n__publicField(_RelativeAttitudeFromEkf, \"DEFAULT_DRIFT\", deg2rad(5) / 60);\nlet RelativeAttitudeFromEkf = _RelativeAttitudeFromEkf;\nconst RelativeAttitudeFromEkfProvider = new RelativeAttitudeFromEkf();\nconst _RelativeAttitudeFromBrowser = class _RelativeAttitudeFromBrowser extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"getName\", () => \"RelativeAttitudeFromBrowser\");\n __publicField(this, \"onDeviceOrientationEvent\", (e) => {\n if (typeof e.alpha !== \"number\" || typeof e.beta !== \"number\" || typeof e.gamma !== \"number\") {\n this.notifyError(new MissingSensorError().from(\"deviceorientation\"));\n return;\n }\n const quaternion = Rotations.eulerToQuaternionZXYDegrees([e.alpha, e.beta, e.gamma]);\n const attitude = new RelativeAttitude(\n quaternion,\n e.timeStamp / 1e3,\n _RelativeAttitudeFromBrowser.DEFAULT_DRIFT\n );\n this.notify(attitude);\n });\n }\n availability() {\n return BrowserUtils.isMobile ? Promise.resolve() : Promise.resolve(new AskImuOnDesktopError());\n }\n start() {\n const subscribe = () => window.addEventListener(\"deviceorientation\", this.onDeviceOrientationEvent, true);\n const requestPermission = DeviceOrientationEvent.requestPermission || void 0;\n if (requestPermission) {\n requestPermission().then((response) => {\n if (response !== \"granted\") {\n throw new Error(\"Permission not granted\");\n }\n subscribe();\n }).catch((error) => this.notifyError(error));\n } else {\n subscribe();\n }\n }\n stop() {\n window.removeEventListener(\"deviceorientation\", this.onDeviceOrientationEvent, true);\n }\n};\n/**\n * default relative attitude drift in rad.second-1\n */\n__publicField(_RelativeAttitudeFromBrowser, \"DEFAULT_DRIFT\", deg2rad(5) / 60);\nlet RelativeAttitudeFromBrowser = _RelativeAttitudeFromBrowser;\nconst RelativeAttitudeFromBrowser$1 = new RelativeAttitudeFromBrowser();\nconst _HighRotationsProvider = class _HighRotationsProvider extends Provider {\n constructor() {\n super(...arguments);\n // in seconds\n __publicField(this, \"gyroscopeProviderId\");\n __publicField(this, \"getName\", () => \"HighRotationsProvider\");\n __publicField(this, \"availability\", () => GyroscopeProvider$1.getAvailability());\n __publicField(this, \"_parseGyroscopeEvent\", (gyroscopeEvent) => {\n const { values, timestamp } = gyroscopeEvent;\n const speed = Vector3.norm(values);\n if (speed > _HighRotationsProvider.THRESHOLD) {\n this.notify({ timestamp });\n }\n });\n }\n start() {\n this.gyroscopeProviderId = GyroscopeProvider$1.addEventListener(\n this._parseGyroscopeEvent,\n this.notifyError\n );\n }\n stop() {\n GyroscopeProvider$1.removeEventListener(this.gyroscopeProviderId);\n }\n isInProgress() {\n if (!this.lastEvent || !GyroscopeProvider$1.lastEvent) {\n return false;\n }\n const diffTime = GyroscopeProvider$1.lastEvent.timestamp - this.lastEvent.timestamp;\n return diffTime < _HighRotationsProvider.DELAY_CONSIDERATION;\n }\n};\n__publicField(_HighRotationsProvider, \"THRESHOLD\", 10);\n// in radians by second\n__publicField(_HighRotationsProvider, \"DELAY_CONSIDERATION\", 3);\nlet HighRotationsProvider = _HighRotationsProvider;\nconst HighRotationsProvider$1 = new HighRotationsProvider();\nconst _RelativeAttitudeFromInertial = class _RelativeAttitudeFromInertial extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"_highRotationsProviderId\");\n __publicField(this, \"listenerId\");\n __publicField(this, \"provider\");\n __publicField(this, \"getName\", () => \"RelativeAttitudeFromInertial\");\n }\n availability() {\n return AvailabilityHelper.some([\n RelativeAttitudeFromEkfProvider.getAvailability(),\n RelativeAttitudeFromBrowser$1.getAvailability()\n ]);\n }\n start() {\n RelativeAttitudeFromEkfProvider.getAvailability().then((availabilityError) => {\n this.provider = !availabilityError ? RelativeAttitudeFromEkfProvider : RelativeAttitudeFromBrowser$1;\n this.listenerId = this.provider.addEventListener(\n (event) => this._parseEvent(event),\n this.notifyError\n );\n this._highRotationsProviderId = HighRotationsProvider$1.addEventListener(\n null,\n this.notifyError\n );\n });\n }\n _parseEvent(event) {\n const relativeAttitude = event.clone();\n if (HighRotationsProvider$1.isInProgress()) {\n let accuracy = (relativeAttitude.accuracy || 0) + _RelativeAttitudeFromInertial.DEFAULT_DRIFT * 100;\n accuracy = Math.min(accuracy, Math.PI);\n relativeAttitude.accuracy = accuracy;\n }\n this.notify(relativeAttitude);\n }\n stop() {\n if (this.provider) {\n this.provider.removeEventListener(this.listenerId);\n delete this.provider;\n }\n HighRotationsProvider$1.removeEventListener(this._highRotationsProviderId);\n }\n};\n/**\n * default relative attitude drift in rad.second-1\n */\n__publicField(_RelativeAttitudeFromInertial, \"DEFAULT_DRIFT\", deg2rad(5) / 60);\nlet RelativeAttitudeFromInertial = _RelativeAttitudeFromInertial;\nconst RelativeAttitudeFromInertialProvider = new RelativeAttitudeFromInertial();\nconst _StepDetectionLadetto = class _StepDetectionLadetto {\n constructor() {\n // in m.s-2\n __publicField(this, \"frequency\", 0);\n __publicField(this, \"lastVerticalAcc\", 0);\n __publicField(this, \"maxAcceleration\", 0);\n __publicField(this, \"lastStepTimestamp\", -_StepDetectionLadetto.MIN_TIME_BETWEEN_STEPS);\n }\n compute(timestamp, linearAcc) {\n let stepDetected = false;\n const verticalAcc = linearAcc[2];\n const timeInterval = timestamp - this.lastStepTimestamp;\n const upfront = verticalAcc > this.lastVerticalAcc;\n if (upfront) {\n if (verticalAcc > this.maxAcceleration) {\n this.maxAcceleration = verticalAcc;\n }\n } else if (this.maxAcceleration > _StepDetectionLadetto.VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD && timeInterval > _StepDetectionLadetto.MIN_TIME_BETWEEN_STEPS) {\n this.maxAcceleration = 0;\n const diffTime = timestamp - this.lastStepTimestamp;\n this.frequency = Math.min(Math.max(1 / diffTime, _StepDetectionLadetto.MIN_FRENQUENCY), _StepDetectionLadetto.MAX_FRENQUENCY);\n stepDetected = true;\n this.lastStepTimestamp = timestamp;\n } else {\n this.maxAcceleration = 0;\n }\n this.lastVerticalAcc = verticalAcc;\n return stepDetected;\n }\n get lastStepSize() {\n if (!this.frequency) {\n return 0;\n }\n const kParamA = 0.45;\n const kParamB = 0.2;\n return kParamA + kParamB * this.frequency;\n }\n get speed() {\n return this.lastStepTimestamp ? this.lastStepSize * this.frequency : 0;\n }\n};\n__publicField(_StepDetectionLadetto, \"MIN_TIME_BETWEEN_STEPS\", 0.4);\n// in seconds\n__publicField(_StepDetectionLadetto, \"MAX_FRENQUENCY\", 4);\n// in Hz\n__publicField(_StepDetectionLadetto, \"MIN_FRENQUENCY\", 1);\n// in Hz\n__publicField(_StepDetectionLadetto, \"VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD\", 1);\nlet StepDetectionLadetto = _StepDetectionLadetto;\nconst _StepDetectionMinMaxPeaks = class _StepDetectionMinMaxPeaks {\n constructor() {\n // in m.s-2\n __publicField(this, \"frequency\", 0);\n __publicField(this, \"lastStepTimestamp\", -_StepDetectionMinMaxPeaks.MIN_TIME_BETWEEN_STEPS);\n __publicField(this, \"slidingWindow\", []);\n }\n compute(timestamp, linearAcc) {\n if (this.lastStepTimestamp && this.lastStepTimestamp + _StepDetectionMinMaxPeaks.MIN_TIME_BETWEEN_STEPS > timestamp) {\n return false;\n }\n let maxValue = Number.MIN_SAFE_INTEGER;\n let minValue = Number.MAX_SAFE_INTEGER;\n const windowTime = _StepDetectionMinMaxPeaks.WINDOW_TIME;\n this.slidingWindow.forEach((item, index, object) => {\n if (item.timestamp < timestamp - windowTime) {\n object.splice(index, 1);\n } else {\n maxValue = Math.max(item.verticalAcc, maxValue);\n minValue = Math.min(item.verticalAcc, minValue);\n }\n });\n this.slidingWindow.push({\n timestamp,\n verticalAcc: linearAcc[2]\n });\n if (maxValue > _StepDetectionMinMaxPeaks.VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD && minValue < _StepDetectionMinMaxPeaks.VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD) {\n const timeInterval = this.lastStepTimestamp ? timestamp - this.lastStepTimestamp : 1;\n this.frequency = Math.min(Math.max(1 / timeInterval, _StepDetectionMinMaxPeaks.MIN_FRENQUENCY), _StepDetectionMinMaxPeaks.MAX_FRENQUENCY);\n this.lastStepTimestamp = timestamp;\n return true;\n }\n return false;\n }\n get lastStepSize() {\n if (!this.frequency) {\n return 0;\n }\n const kParamA = 0.45;\n const kParamB = 0.2;\n return kParamA + kParamB * this.frequency;\n }\n get speed() {\n return this.lastStepTimestamp ? this.lastStepSize * this.frequency : 0;\n }\n};\n__publicField(_StepDetectionMinMaxPeaks, \"WINDOW_TIME\", 0.3);\n// in seconds\n__publicField(_StepDetectionMinMaxPeaks, \"MIN_TIME_BETWEEN_STEPS\", 0.4);\n// in seconds\n__publicField(_StepDetectionMinMaxPeaks, \"MAX_FRENQUENCY\", 4);\n// in Hz\n__publicField(_StepDetectionMinMaxPeaks, \"MIN_FRENQUENCY\", 1);\n// in Hz\n__publicField(_StepDetectionMinMaxPeaks, \"VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD\", 1.5);\n// in m.s-2\n__publicField(_StepDetectionMinMaxPeaks, \"VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD\", -1);\nlet StepDetectionMinMaxPeaks = _StepDetectionMinMaxPeaks;\nconst _StepDetectionMinMaxPeaks2 = class _StepDetectionMinMaxPeaks2 {\n constructor() {\n // in m.s-2\n __publicField(this, \"frequency\", 0);\n __publicField(this, \"influence\", 0.2);\n __publicField(this, \"slidingWindow\", []);\n __publicField(this, \"lastStepTimestamp\", -_StepDetectionMinMaxPeaks2.MIN_TIME_BETWEEN_STEPS);\n __publicField(this, \"previousVerticalAcc\", 0);\n }\n compute(timestamp, linearAcc, angularRate) {\n const verticalAcc = this.influence * (linearAcc[2] * 2) + (1 - this.influence) * this.previousVerticalAcc;\n this.previousVerticalAcc = verticalAcc;\n if (Math.sqrt(angularRate[0] ** 2 + angularRate[1] ** 2 + angularRate[2] ** 2) > 0.75) {\n return false;\n }\n if (this.lastStepTimestamp && this.lastStepTimestamp + _StepDetectionMinMaxPeaks2.MIN_TIME_BETWEEN_STEPS > timestamp) {\n return false;\n }\n let maxValue = Number.MIN_SAFE_INTEGER;\n let minValue = Number.MAX_SAFE_INTEGER;\n this.slidingWindow.forEach((item, index, object) => {\n if (item.timestamp < timestamp - _StepDetectionMinMaxPeaks2.WINDOW_TIME) {\n object.splice(index, 1);\n } else {\n maxValue = Math.max(item.verticalAcc, maxValue);\n minValue = Math.min(item.verticalAcc, minValue);\n }\n });\n this.slidingWindow.push({\n timestamp,\n verticalAcc\n });\n if (maxValue > _StepDetectionMinMaxPeaks2.VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD && minValue < _StepDetectionMinMaxPeaks2.VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD) {\n const timeInterval = this.lastStepTimestamp ? timestamp - this.lastStepTimestamp : 1;\n this.frequency = Math.min(Math.max(1 / timeInterval, _StepDetectionMinMaxPeaks2.MIN_FRENQUENCY), _StepDetectionMinMaxPeaks2.MAX_FRENQUENCY);\n this.lastStepTimestamp = timestamp;\n return true;\n }\n return false;\n }\n get lastStepSize() {\n if (!this.frequency) {\n return 0;\n }\n const kParamA = 0.45;\n const kParamB = 0.2;\n return kParamA + kParamB * this.frequency;\n }\n get speed() {\n return this.lastStepSize && this.frequency ? this.lastStepSize * this.frequency : 0;\n }\n mean(data) {\n let sum = 0, mean = 0;\n for (let i = 0; i < data.length; ++i) {\n sum += data[i].verticalAcc;\n }\n mean = sum / data.length;\n return mean;\n }\n stddev(data) {\n const theMean = this.mean(data);\n let standardDeviation = 0;\n for (let i = 0; i < data.length; ++i) {\n standardDeviation += (data[i].verticalAcc - theMean) ** 2;\n }\n return Math.sqrt(standardDeviation / data.length);\n }\n};\n__publicField(_StepDetectionMinMaxPeaks2, \"WINDOW_TIME\", 0.3);\n// in seconds\n__publicField(_StepDetectionMinMaxPeaks2, \"MIN_TIME_BETWEEN_STEPS\", 0.4);\n// in seconds\n__publicField(_StepDetectionMinMaxPeaks2, \"MAX_FRENQUENCY\", 4);\n// in Hz\n__publicField(_StepDetectionMinMaxPeaks2, \"MIN_FRENQUENCY\", 1);\n// in Hz\n__publicField(_StepDetectionMinMaxPeaks2, \"VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD\", 0.75);\n// in m.s-2\n__publicField(_StepDetectionMinMaxPeaks2, \"VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD\", -0.3);\nlet StepDetectionMinMaxPeaks2 = _StepDetectionMinMaxPeaks2;\nconst _StepDetectionMinMaxPeaks3 = class _StepDetectionMinMaxPeaks3 {\n constructor() {\n // in m.s-2\n __publicField(this, \"frequency\", 0);\n __publicField(this, \"influence\", 0.05);\n __publicField(this, \"slidingWindow\", []);\n __publicField(this, \"lastStepTimestamp\", -_StepDetectionMinMaxPeaks3.MIN_TIME_BETWEEN_STEPS);\n __publicField(this, \"previousVerticalAcc\", 0);\n __publicField(this, \"previousHorizontalAcc\", 0);\n }\n compute(timestamp, linearAcc) {\n const verticalAcc = this.influence * linearAcc[2] + (1 - this.influence) * this.previousVerticalAcc;\n this.previousVerticalAcc = verticalAcc;\n this.slidingWindow = this.slidingWindow.filter(\n (item) => item.timestamp >= timestamp - _StepDetectionMinMaxPeaks3.WINDOW_TIME\n );\n this.slidingWindow.push({ timestamp, verticalAcc });\n const isTooEarlyForANewStep = this.lastStepTimestamp && this.lastStepTimestamp + _StepDetectionMinMaxPeaks3.MIN_TIME_BETWEEN_STEPS > timestamp;\n if (isTooEarlyForANewStep) {\n return false;\n }\n let maxValue = Number.MIN_VALUE;\n let maxValueIdx = -1;\n let foundMaxPeakHigherThanThreshold = false;\n this.slidingWindow.forEach((item, idx) => {\n if (item.verticalAcc > maxValue && item.verticalAcc >= _StepDetectionMinMaxPeaks3.VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD) {\n maxValue = item.verticalAcc;\n maxValueIdx = idx;\n foundMaxPeakHigherThanThreshold = true;\n }\n });\n if (!foundMaxPeakHigherThanThreshold) {\n return false;\n }\n let hasLowNegativeValueBeforeMaxPeak = false;\n let minValueBeforeMaxPeak = Number.MAX_VALUE;\n for (let i = 0; i < maxValueIdx; i++) {\n const curValue = this.slidingWindow[i].verticalAcc;\n minValueBeforeMaxPeak = Math.min(minValueBeforeMaxPeak, curValue);\n if (curValue < _StepDetectionMinMaxPeaks3.VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD) {\n hasLowNegativeValueBeforeMaxPeak = true;\n break;\n }\n }\n if (!hasLowNegativeValueBeforeMaxPeak) {\n return false;\n }\n const diffMinMax = maxValue - minValueBeforeMaxPeak;\n const targetValue = maxValue - 0.5 * diffMinMax;\n let targetValueFoundAfterMaxPeak = false;\n for (let i = maxValueIdx + 1; i < this.slidingWindow.length; i++) {\n if (this.slidingWindow[i].verticalAcc <= targetValue) {\n targetValueFoundAfterMaxPeak = true;\n break;\n }\n }\n if (!targetValueFoundAfterMaxPeak) {\n return false;\n }\n const timeInterval = this.lastStepTimestamp ? timestamp - this.lastStepTimestamp : 1;\n this.frequency = Math.min(Math.max(1 / timeInterval, _StepDetectionMinMaxPeaks3.MIN_FRENQUENCY), _StepDetectionMinMaxPeaks3.MAX_FRENQUENCY);\n this.lastStepTimestamp = timestamp;\n return true;\n }\n get lastStepSize() {\n if (!this.frequency) {\n return 0;\n }\n const kParamA = 0.45;\n const kParamB = 0.2;\n return kParamA + kParamB * this.frequency;\n }\n get speed() {\n return this.lastStepSize && this.frequency ? this.lastStepSize * this.frequency : 0;\n }\n mean(data) {\n let sum = 0, mean = 0;\n for (let i = 0; i < data.length; ++i) {\n sum += data[i];\n }\n mean = sum / data.length;\n return mean;\n }\n stddev(data) {\n const theMean = this.mean(data);\n let standardDeviation = 0;\n for (let i = 0; i < data.length; ++i) {\n standardDeviation += (data[i] - theMean) ** 2;\n }\n return Math.sqrt(standardDeviation / data.length);\n }\n};\n__publicField(_StepDetectionMinMaxPeaks3, \"WINDOW_TIME\", 0.6);\n// in seconds\n__publicField(_StepDetectionMinMaxPeaks3, \"MIN_TIME_BETWEEN_STEPS\", 0.6);\n// in seconds\n__publicField(_StepDetectionMinMaxPeaks3, \"MAX_FRENQUENCY\", 4);\n// in Hz\n__publicField(_StepDetectionMinMaxPeaks3, \"MIN_FRENQUENCY\", 1);\n// in Hz\n__publicField(_StepDetectionMinMaxPeaks3, \"VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD\", 0.2);\n// in m.s-2\n__publicField(_StepDetectionMinMaxPeaks3, \"VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD\", -0.1);\nlet StepDetectionMinMaxPeaks3 = _StepDetectionMinMaxPeaks3;\nconst _StepProvider = class _StepProvider extends Provider {\n constructor() {\n super();\n __publicField(this, \"accelerometerProviderId\");\n __publicField(this, \"attitudeProviderId\");\n __publicField(this, \"gyroscopeProviderId\");\n __publicField(this, \"angularRateEvent\");\n __publicField(this, \"attitudeEvent\");\n __publicField(this, \"numOfSteps\", 0);\n __publicField(this, \"stepDetector\");\n __publicField(this, \"_stepSizeMultiplier\", _StepProvider.DEFAULT_STEP_SIZE_MULTIPLIER);\n __publicField(this, \"_algorithm\", _StepProvider.DEFAULT_ALGORITHM);\n __publicField(this, \"_accValues\", []);\n __publicField(this, \"getName\", () => \"StepDetector\");\n __publicField(this, \"onAccelerometerEvent\", (accelerationEvent) => {\n if (!this.attitudeEvent || !this.angularRateEvent) {\n return;\n }\n const {\n values: acceleration,\n timestamp\n } = accelerationEvent;\n const linearAcc = _StepProvider.computeLinearAcceleration(\n this.attitudeEvent.quaternion,\n acceleration\n );\n const stepDetected = this.stepDetector.compute(timestamp, linearAcc, this.angularRateEvent.values);\n if (stepDetected) {\n const size = this.stepDetector.lastStepSize * this._stepSizeMultiplier;\n this.numOfSteps++;\n this.notify({ size, number: this.numOfSteps });\n }\n });\n this.algorithm = this._algorithm;\n }\n availability() {\n return AvailabilityHelper.every([\n AccelerometerProvider$1.getAvailability(),\n GyroscopeProvider$1.getAvailability(),\n RelativeAttitudeFromInertialProvider.getAvailability()\n ]);\n }\n start() {\n this.numOfSteps = 0;\n this.accelerometerProviderId = AccelerometerProvider$1.addEventListener(\n this.onAccelerometerEvent,\n this.notifyError\n );\n this.gyroscopeProviderId = GyroscopeProvider$1.addEventListener(\n (event) => this.angularRateEvent = event,\n this.notifyError\n );\n this.attitudeProviderId = RelativeAttitudeFromInertialProvider.addEventListener(\n (event) => this.attitudeEvent = event,\n this.notifyError\n );\n }\n stop() {\n AccelerometerProvider$1.removeEventListener(this.accelerometerProviderId);\n GyroscopeProvider$1.removeEventListener(this.gyroscopeProviderId);\n RelativeAttitudeFromInertialProvider.removeEventListener(this.attitudeProviderId);\n }\n // Linear acceleration in ENU\n static computeLinearAcceleration(quaternion, acc) {\n const linearAcc = Quaternion.rotateMatlab(Quaternion.inverse(quaternion), acc);\n linearAcc[2] -= Constants$1.EARTH_GRAVITY;\n return linearAcc;\n }\n set stepSizeMultiplier(stepSizeMultiplier) {\n this._stepSizeMultiplier = stepSizeMultiplier;\n }\n get stepSizeMultiplier() {\n return this._stepSizeMultiplier;\n }\n set algorithm(algorithm) {\n switch (algorithm) {\n case \"ladetto\":\n this.stepDetector = new StepDetectionLadetto();\n break;\n case \"minMaxPeaks\":\n this.stepDetector = new StepDetectionMinMaxPeaks();\n break;\n case \"minMaxPeaks2\":\n this.stepDetector = new StepDetectionMinMaxPeaks2();\n break;\n case \"minMaxPeaks3\":\n default:\n algorithm = \"minMaxPeaks3\";\n this.stepDetector = new StepDetectionMinMaxPeaks3();\n break;\n }\n this._algorithm = algorithm;\n }\n get algorithm() {\n return this._algorithm;\n }\n};\n__publicField(_StepProvider, \"DEFAULT_STEP_SIZE_MULTIPLIER\", 1);\n__publicField(_StepProvider, \"DEFAULT_ALGORITHM\", \"minMaxPeaks3\");\nlet StepProvider = _StepProvider;\nconst StepProvider$1 = new StepProvider();\nclass PdrProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"absoluteAttitudeProviderId\");\n __publicField(this, \"stepDetectionProviderId\");\n __publicField(this, \"attitudeEvent\");\n // https://ieeexplore.ieee.org/document/7346766\n // private misalignment = [1, 0, 0, 0];\n __publicField(this, \"misalignmentError\", deg2rad(3));\n __publicField(this, \"getName\", () => \"Pdr\");\n __publicField(this, \"onStepEvent\", (stepEvent) => {\n if (!this.attitudeEvent) {\n return;\n }\n const stepSize = stepEvent.size;\n const deviceAttitude = this.attitudeEvent;\n const deviceDirection = deviceAttitude.heading;\n const deviceDirectionAccuracy = deviceAttitude.accuracy + this.misalignmentError;\n const accuracy = stepSize / 2 * Math.sin(deviceDirectionAccuracy / 2);\n const timestamp = deviceAttitude.time;\n const position = new GeoRelativePosition(\n stepSize * Math.sin(deviceDirection),\n stepSize * Math.cos(deviceDirection),\n 0,\n timestamp,\n accuracy,\n deviceDirection\n );\n this.notify(position);\n });\n }\n availability() {\n return AvailabilityHelper.every([\n StepProvider$1.getAvailability(),\n AbsoluteAttitudeProvider$1.getAvailability()\n ]);\n }\n start() {\n this.stepDetectionProviderId = StepProvider$1.addEventListener(\n this.onStepEvent,\n this.notifyError\n );\n this.absoluteAttitudeProviderId = AbsoluteAttitudeProvider$1.addEventListener(\n (event) => this.attitudeEvent = event,\n this.notifyError\n );\n }\n stop() {\n StepProvider$1.removeEventListener(this.stepDetectionProviderId);\n AbsoluteAttitudeProvider$1.removeEventListener(this.absoluteAttitudeProviderId);\n }\n}\nconst PdrProvider$1 = new PdrProvider();\nclass GeoRelativePositionProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"providerId\");\n __publicField(this, \"geoRelativeProvider\");\n __publicField(this, \"getName\", () => \"GeoRelativePosition\");\n }\n availability() {\n return AvailabilityHelper.some([\n PdrProvider$1.getAvailability(),\n GeoRelativePositionFromArCoreProvider$1.getAvailability()\n ]);\n }\n async start() {\n const availabilityError = await GeoRelativePositionFromArCoreProvider$1.getAvailability();\n this.geoRelativeProvider = availabilityError ? PdrProvider$1 : GeoRelativePositionFromArCoreProvider$1;\n this.providerId = this.geoRelativeProvider.addEventListener(this.notify, this.notifyError);\n }\n stop() {\n var _a;\n (_a = this.geoRelativeProvider) == null ? void 0 : _a.removeEventListener(this.providerId);\n delete this.geoRelativeProvider;\n }\n}\nconst GeoRelativePositionProvider$1 = new GeoRelativePositionProvider();\nclass InclinationFromAccProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"providerId\");\n __publicField(this, \"getName\", () => \"InclinationFromAcc\");\n __publicField(this, \"availability\", () => AccelerometerProvider$1.getAvailability());\n __publicField(this, \"onAccelerometerEvent\", (accelerometerEvent) => {\n const acc = accelerometerEvent.values;\n const screenOrientation = window.orientation || 0;\n const sizeAcc = Math.sqrt(acc[0] * acc[0] + acc[1] * acc[1] + acc[2] * acc[2]);\n const accNormalized = [acc[0] / sizeAcc, acc[1] / sizeAcc, acc[2] / sizeAcc];\n const q = [accNormalized[2] + 1, accNormalized[1], -accNormalized[0], 0];\n const qSize = Math.sqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2]);\n const qNormalized = [q[0] / qSize, q[1] / qSize, q[2] / qSize, 0];\n let inclination;\n if (screenOrientation === 0) {\n inclination = Math.asin(2 * qNormalized[1] * qNormalized[0]);\n } else if (screenOrientation === 90) {\n inclination = -Math.asin(2 * qNormalized[2] * qNormalized[0]);\n } else if (screenOrientation === -90) {\n inclination = Math.asin(2 * qNormalized[2] * qNormalized[0]);\n } else {\n inclination = -Math.asin(2 * qNormalized[1] * qNormalized[0]);\n }\n this.notify(inclination);\n });\n }\n start() {\n this.providerId = AccelerometerProvider$1.addEventListener(\n this.onAccelerometerEvent,\n this.notifyError\n );\n }\n stop() {\n AccelerometerProvider$1.removeEventListener(this.providerId);\n }\n}\nconst InclinationFromAccProvider$1 = new InclinationFromAccProvider();\nclass InclinationFromRelativeAttitudeProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"providerId\");\n __publicField(this, \"getName\", () => \"InclinationFromRelativeAttitude\");\n __publicField(this, \"availability\", () => RelativeAttitudeFromInertialProvider.getAvailability());\n }\n start() {\n this.providerId = RelativeAttitudeFromInertialProvider.addEventListener(\n (attitudeEvent) => {\n const inclination = this.enuQuatToInclination(attitudeEvent.quaternion);\n this.notify(inclination);\n },\n this.notifyError\n );\n }\n stop() {\n RelativeAttitudeFromInertialProvider.removeEventListener(this.providerId);\n }\n enuQuatToInclination(q) {\n const screenOrientation = window.orientation || 0;\n if (screenOrientation === 0) {\n return Math.asin(2 * (q[2] * q[3] + q[1] * q[0]));\n } else if (screenOrientation === 90) {\n return Math.asin(2 * (q[1] * q[3] - q[2] * q[0]));\n } else if (screenOrientation === -90) {\n return Math.asin(2 * (q[2] * q[0] - q[1] * q[3]));\n }\n return -Math.asin(2 * (q[2] * q[3] + q[1] * q[0]));\n }\n}\nconst InclinationFromRelativeAttitudeProvider$1 = new InclinationFromRelativeAttitudeProvider();\nclass InclinationProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"provider\");\n __publicField(this, \"providerId\");\n __publicField(this, \"getName\", () => \"Inclination\");\n }\n availability() {\n return AvailabilityHelper.some([\n InclinationFromAccProvider$1.getAvailability(),\n InclinationFromRelativeAttitudeProvider$1.getAvailability()\n ]);\n }\n async start() {\n const startInclinationFromAcc = () => {\n this.provider = InclinationFromAccProvider$1;\n this.providerId = this.provider.addEventListener(\n this.notify,\n this.notifyError\n );\n };\n if (await InclinationFromRelativeAttitudeProvider$1.getAvailability()) {\n this.provider = InclinationFromRelativeAttitudeProvider$1;\n this.providerId = this.provider.addEventListener(\n this.notify,\n () => {\n InclinationFromRelativeAttitudeProvider$1.removeEventListener(this.providerId);\n startInclinationFromAcc();\n }\n );\n } else {\n startInclinationFromAcc();\n }\n }\n stop() {\n if (this.provider) {\n this.provider.removeEventListener(this.providerId);\n }\n }\n}\nconst InclinationProvider$1 = new InclinationProvider();\nclass VpsMetadata {\n constructor(size, calibration = null, coarse = null, device = null) {\n this.size = size;\n this.calibration = calibration;\n this.coarse = coarse;\n this.device = device;\n }\n toJson() {\n return {\n size: [this.size.width, this.size.height],\n ...this.calibration && { calibration: this.calibration },\n ...this.coarse && {\n coarse: {\n ...this.coarse.attitude && { attitude: this.coarse.attitude.toJson() },\n ...this.coarse.position && { position: this.coarse.position.toJson() }\n }\n },\n ...typeof this.device === \"object\" && { device: this.device }\n };\n }\n static fromJson(json) {\n var _a, _b;\n return new VpsMetadata(\n {\n width: json.size[0],\n height: json.size[1]\n },\n json.calibration,\n {\n ...((_a = json.coarse) == null ? void 0 : _a.position) && { position: UserPosition.fromJson(json.coarse.position) },\n ...((_b = json.coarse) == null ? void 0 : _b.attitude) && { attitude: Attitude.fromJson(json.coarse.attitude) }\n },\n json.device\n );\n }\n}\nclass VpsRequest {\n constructor(metadata, image) {\n this.metadata = metadata;\n this.image = image;\n }\n toJson() {\n const base64Image = canvasToBase64(this.image);\n return {\n image: base64Image,\n ...this.metadata.toJson()\n };\n }\n static fromJson(json) {\n return new VpsRequest(\n VpsMetadata.fromJson(json),\n base64ToCanvas(json.image)\n );\n }\n}\nclass VpsResponse {\n constructor(success, attitude = null, position = null) {\n this.success = success;\n this.attitude = attitude;\n this.position = position;\n }\n toJson() {\n var _a, _b;\n return {\n success: this.success,\n attitude: (_a = this.attitude) == null ? void 0 : _a.toJson(),\n position: (_b = this.position) == null ? void 0 : _b.toJson()\n };\n }\n static fromJson(json, imageRecordTime = null) {\n let attitude = null;\n if (json.attitude) {\n attitude = Attitude.fromJson(json.attitude);\n attitude.time = imageRecordTime;\n }\n let position = null;\n if (json.position) {\n position = UserPosition.fromJson(json.position);\n position.time = imageRecordTime;\n }\n return new VpsResponse(json.success, attitude, position);\n }\n}\nclass ImageRelocalization {\n static _prepareRequest(imageCanvas, calibration = null, coarsePose = null) {\n convertToGrayscale(imageCanvas);\n const reducedImage = reduceImageSize(imageCanvas, 1280);\n const metadata = new VpsMetadata(\n { width: reducedImage.width, height: reducedImage.height },\n calibration,\n coarsePose,\n UserAgentUtils.getDeviceFromUserAgent()\n );\n return new VpsRequest(metadata, reducedImage);\n }\n static async relocalize(endpointUrl, imageCanvas, calibration = null, coarsePose = null, customHeaders = null) {\n const timeBeforeRequest = TimeUtils.preciseTime() / 1e3;\n const vpsRequest = this._prepareRequest(imageCanvas, calibration, coarsePose);\n let serverResponse;\n try {\n const body = JSON.stringify(vpsRequest.toJson());\n Logger.debug(`[VPS] Request (${(body.length / 1024).toFixed(0)} kB) sent to server ${endpointUrl}`);\n serverResponse = await fetch(endpointUrl, {\n method: \"POST\",\n body,\n headers: Object.assign(\n {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/vnd.geopose+json; version=1\"\n },\n customHeaders ? customHeaders : {}\n )\n });\n } catch (e) {\n Logger.debug(\"[VPS] Server respond error\");\n return null;\n }\n if (serverResponse.status !== 200) {\n Logger.debug(\"[VPS] Server respond error\");\n return null;\n }\n const json = await serverResponse.json();\n const res = VpsResponse.fromJson(json, timeBeforeRequest);\n Logger.debug(`[VPS] Server respond ${res.success ? \"success\" : \"not found\"}`);\n return res;\n }\n static getHeadingFromQuaternion(quaternion) {\n const [qw, qx, qy, qz] = quaternion;\n const s = Math.sqrt(2) / 2;\n const C = [s * (qw - qx), s * (qw + qx), s * (qy + qz), s * (qz - qy)];\n return -Math.atan2(2 * C[3] * C[0] - 2 * C[2] * C[1], 1 - 2 * C[1] ** 2 - 2 * C[3] ** 2);\n }\n}\nclass RelativeRotationCalc {\n constructor() {\n __publicField(this, \"_providerId\");\n __publicField(this, \"_isRunning\", false);\n __publicField(this, \"_dataOnStart\", null);\n }\n tickStart() {\n this._dataOnStart = null;\n if (this._isRunning) {\n return;\n }\n this._isRunning = true;\n this._providerId = RelativeAttitudeFromBrowser$1.addEventListener((event) => {\n if (!this._dataOnStart) {\n this._dataOnStart = event;\n }\n });\n }\n tickEnd() {\n if (!this._isRunning) {\n Logger.warn(\"You have to call tickStart before tickEnd\");\n return null;\n }\n this._internalStop();\n if (!this._dataOnStart) {\n Logger.warn(\"Delay was too short between tickStart and tickEnd or RelativeAttitudeProvider cannot be retrieved.\");\n return null;\n }\n const dataOnEnd = RelativeAttitudeFromBrowser$1.lastEvent;\n return Attitude.diff(this._dataOnStart, dataOnEnd);\n }\n _internalStop() {\n RelativeAttitudeFromBrowser$1.removeEventListener(this._providerId);\n delete this._providerId;\n this._isRunning = false;\n }\n release() {\n if (this._isRunning) {\n this._internalStop();\n }\n }\n}\nconst _MissingPoleStarError = class _MissingPoleStarError extends Error {\n constructor(message) {\n super(message || _MissingPoleStarError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_MissingPoleStarError, \"DEFAULT_MESSAGE\", \"PoleStar is missing\");\nlet MissingPoleStarError = _MissingPoleStarError;\nclass PoleStarProvider extends Provider {\n constructor() {\n super();\n __publicField(this, \"getName\", () => \"PoleStar\");\n this.addMethodsToNativeJsProvider();\n }\n availability() {\n try {\n this.nativeProvider.checkAvailability();\n return Promise.resolve();\n } catch (e) {\n return Promise.resolve(e);\n }\n }\n setApiKey(apiKey) {\n this.nativeProvider.setApiKey(apiKey);\n }\n start() {\n this.nativeProvider.start();\n }\n stop() {\n this.nativeProvider.stop();\n }\n get nativeProvider() {\n if (!this.nativeInterface) {\n throw new MissingNativeInterfaceError();\n }\n const nativeProvider = this.nativeInterface.getPoleStarProvider();\n if (!nativeProvider) {\n throw new MissingPoleStarError();\n }\n return nativeProvider;\n }\n addMethodsToNativeJsProvider() {\n if (!this.nativeJsInterface) {\n return;\n }\n this.nativeJsInterface.polestar = {\n callbackError: (errorMessage) => this.notifyError(new Error(errorMessage)),\n callbackPosition: (jsonString) => {\n const json = JSON.parse(jsonString);\n const timestamp = TimeUtils.unixTimestampToPreciseTime(json.time) / 1e3;\n const position = new AbsolutePosition(\n json.lat,\n json.lng,\n Constants.DEFAULT_ALTITUDE,\n json.alt / 5,\n timestamp,\n json.accuracy,\n deg2rad(json.bearing)\n );\n this.notify(position);\n }\n };\n }\n}\nconst PoleStarProvider$1 = new PoleStarProvider();\nconst _VpsProvider = class _VpsProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"_relativeRotationCalc\");\n __publicField(this, \"_serverError\", false);\n __publicField(this, \"_cameraError\", false);\n __publicField(this, \"_camera\", null);\n __publicField(this, \"_endpoint\", null);\n __publicField(this, \"_inclinationProviderId\");\n __publicField(this, \"_minInclinationForRequest\", _VpsProvider.DEFAULT_MIN_INCLINATION_FOR_REQUEST);\n __publicField(this, \"_waitTimeMinInclinationForRequest\", _VpsProvider.DEFAULT_WAIT_TIME_MIN_INCLINATION_FOR_REQUEST);\n __publicField(this, \"_useCoarsePose\", _VpsProvider.DEFAULT_USE_COARSE_POSE);\n __publicField(this, \"getName\", () => \"Vps\");\n __publicField(this, \"availability\", () => Camera.checkAvailability());\n __publicField(this, \"_onCameraDetected\", ({ camera }) => {\n if (this._camera) {\n Logger.warn(\"It seems that more than 1 camera has been detected for VPS. Taking the first...\");\n }\n this._useCamera(camera);\n });\n __publicField(this, \"_onCameraRemoved\", () => {\n if (this._camera) {\n this._camera.off(\"started\", this._internalStart);\n this._camera.off(\"stopped\", this._internalStop);\n } else {\n Logger.warn(\"There is no previously detected camera but once has stopped\");\n }\n this._camera = null;\n });\n __publicField(this, \"_internalStart\", async () => {\n var _a, _b;\n if (!this._endpoint) {\n this.notifyError(new Error(\"VPS endpoint has not been set before calling start()\"));\n return;\n }\n let lastRequestTime = null;\n const isProviderStopped = () => this.state === \"stopped\";\n while (!isProviderStopped()) {\n if (lastRequestTime !== null) {\n const diffTime = TimeUtils.preciseTime() - lastRequestTime;\n const timeToWait = Math.max(0, _VpsProvider.MIN_TIME_BETWEEN_TWO_REQUESTS - diffTime);\n await new Promise((resolve) => setTimeout(resolve, timeToWait));\n }\n lastRequestTime = TimeUtils.preciseTime();\n if (isProviderStopped() || !this._camera || this._camera.state !== \"started\") {\n break;\n }\n const inclination = InclinationProvider$1.lastEvent ? InclinationProvider$1.lastEvent : null;\n if (inclination !== null && inclination < this._minInclinationForRequest) {\n await new Promise((resolve) => setTimeout(resolve, this._waitTimeMinInclinationForRequest));\n continue;\n }\n (_a = this._relativeRotationCalc) == null ? void 0 : _a.tickStart();\n const image = await this._camera.currentImage;\n if (!image) {\n continue;\n }\n let coarsePose = null;\n const bestCoarsePosition = AbsolutePositionProvider$1.getBestPositionEvent(GnssWifiProvider$1.lastEvent, PoleStarProvider$1.lastEvent);\n if (this._useCoarsePose && (bestCoarsePosition || AbsoluteAttitudeProvider$1.lastEvent)) {\n coarsePose = {\n ...bestCoarsePosition && { position: bestCoarsePosition },\n ...AbsoluteAttitudeProvider$1.lastEvent && { attitude: AbsoluteAttitudeProvider$1.lastEvent }\n };\n }\n const res = await ImageRelocalization.relocalize(this._endpoint, image, null, coarsePose);\n if (!res || !res.success) {\n continue;\n }\n const enuToCameraRot = res.attitude.quaternion;\n const enuToSmartphoneRot = Quaternion.multiply(\n enuToCameraRot,\n _VpsProvider.CAMERA_TO_SMARTPHONE_ROT\n );\n const deviceQuaternion = Quaternion.multiply(\n Quaternion.fromAxisAngle([0, 0, 1], deg2rad(window.orientation || 0)),\n enuToSmartphoneRot\n );\n const diffAttitude = ((_b = this._relativeRotationCalc) == null ? void 0 : _b.tickEnd()) || new Attitude([1, 0, 0, 0]);\n const deviceQuaternionWithRelOffset = Quaternion.multiply(\n deviceQuaternion,\n diffAttitude.quaternion\n );\n const attitude = new AbsoluteAttitude(\n deviceQuaternionWithRelOffset,\n res.attitude.time,\n res.attitude.accuracy\n );\n const devicePosition = res.position.clone();\n if (devicePosition.accuracy === null) {\n devicePosition.accuracy = 5;\n }\n if (isProviderStopped()) {\n break;\n }\n this.notify({\n absoluteAttitude: attitude,\n absolutePosition: devicePosition\n });\n }\n });\n __publicField(this, \"_internalStop\", () => {\n });\n }\n start() {\n this._inclinationProviderId = InclinationProvider$1.addEventListener();\n this._relativeRotationCalc = new RelativeRotationCalc();\n SharedCameras.on(\"added\", this._onCameraDetected);\n SharedCameras.on(\"removed\", this._onCameraRemoved);\n if (SharedCameras.list.length) {\n if (SharedCameras.list.length > 1) {\n Logger.warn(\"It seems that more than 1 camera has been detected for VPS. Taking the first...\");\n }\n this._useCamera(SharedCameras.list[0].camera);\n }\n }\n stop() {\n var _a;\n InclinationProvider$1.removeEventListener(this._inclinationProviderId);\n (_a = this._relativeRotationCalc) == null ? void 0 : _a.release();\n SharedCameras.off(\"added\", this._onCameraDetected);\n SharedCameras.off(\"removed\", this._onCameraRemoved);\n this._camera = null;\n }\n _useCamera(camera) {\n this._camera = camera;\n camera.on(\"started\", this._internalStart);\n camera.on(\"stopped\", this._internalStop);\n if (camera.state === \"started\") {\n this._internalStart();\n }\n }\n get endpoint() {\n return this._endpoint;\n }\n set endpoint(endpoint) {\n this._endpoint = endpoint;\n }\n get minInclinationForRequest() {\n return this._minInclinationForRequest;\n }\n set minInclinationForRequest(minInclinationForRequest) {\n this._minInclinationForRequest = minInclinationForRequest;\n }\n get waitTimeMinInclinationForRequest() {\n return this._waitTimeMinInclinationForRequest;\n }\n set waitTimeMinInclinationForRequest(waitTimeMinInclinationForRequest) {\n this._waitTimeMinInclinationForRequest = waitTimeMinInclinationForRequest;\n }\n get useCoarsePose() {\n return this._useCoarsePose;\n }\n set useCoarsePose(useCoarsePose) {\n this._useCoarsePose = useCoarsePose;\n }\n};\n__publicField(_VpsProvider, \"MIN_TIME_BETWEEN_TWO_REQUESTS\", 1e3);\n// in ms\n__publicField(_VpsProvider, \"DEFAULT_MIN_INCLINATION_FOR_REQUEST\", deg2rad(60));\n// in radians\n__publicField(_VpsProvider, \"DEFAULT_WAIT_TIME_MIN_INCLINATION_FOR_REQUEST\", 200);\n// in ms\n__publicField(_VpsProvider, \"DEFAULT_USE_COARSE_POSE\", true);\n__publicField(_VpsProvider, \"CAMERA_TO_SMARTPHONE_ROT\", Quaternion.fromAxisAngle([1, 0, 0], Math.PI));\nlet VpsProvider = _VpsProvider;\nconst VpsProvider$1 = new VpsProvider();\nconst _AbsolutePositionProvider = class _AbsolutePositionProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"_polestarProviderId\");\n __publicField(this, \"_vpsProviderId\");\n __publicField(this, \"_gnssWifiProviderId\");\n __publicField(this, \"_relativePositionProviderId\");\n __publicField(this, \"_mapMatchingHandlerId\");\n __publicField(this, \"useAllAbsolutePositions\", false);\n __publicField(this, \"_waitUntilNextVpsPosition\", false);\n __publicField(this, \"_lastPolestarFix\", null);\n __publicField(this, \"getName\", () => \"AbsolutePosition\");\n }\n availability() {\n return AvailabilityHelper.some([\n GeoRelativePositionProvider$1.getAvailability(),\n GnssWifiProvider$1.getAvailability(),\n ...ProvidersOptions.hasPoleStar ? [PoleStarProvider$1.getAvailability()] : [],\n VpsProvider$1.getAvailability()\n ]);\n }\n start() {\n GeoRelativePositionProvider$1.getAvailability().then((error) => {\n if (!error) {\n this._relativePositionProviderId = GeoRelativePositionProvider$1.addEventListener(\n (e) => this._onRelativePosition(e)\n );\n }\n });\n this._gnssWifiProviderId = GnssWifiProvider$1.addEventListener(\n (event) => {\n const clone = event.clone();\n clone.bearing = null;\n this._onAbsolutePosition(clone, false);\n }\n );\n this._vpsProviderId = VpsProvider$1.addEventListener(\n (event) => this._onAbsolutePosition(event.absolutePosition),\n this.notifyError,\n false\n );\n if (ProvidersOptions.hasPoleStar) {\n this._polestarProviderId = PoleStarProvider$1.addEventListener((polestarPositionEvent) => {\n var _a;\n this._lastPolestarFix = TimeUtils.preciseTime();\n const psPositionUsed = this._onAbsolutePosition(polestarPositionEvent);\n if (!psPositionUsed && ((_a = this.lastEvent) == null ? void 0 : _a.level) === null) {\n const lastPositionWithLevel = this.lastEvent.clone();\n lastPositionWithLevel.level = polestarPositionEvent.level;\n this.notify(lastPositionWithLevel);\n }\n });\n }\n this._mapMatchingHandlerId = MapMatchingHandler$1.addEventListener();\n }\n /**\n * @override\n */\n stop() {\n if (this._relativePositionProviderId) {\n GeoRelativePositionProvider$1.removeEventListener(this._relativePositionProviderId);\n delete this._relativePositionProviderId;\n }\n if (this._gnssWifiProviderId) {\n GnssWifiProvider$1.removeEventListener(this._gnssWifiProviderId);\n delete this._gnssWifiProviderId;\n }\n if (this._vpsProviderId) {\n VpsProvider$1.removeEventListener(this._vpsProviderId);\n delete this._vpsProviderId;\n }\n if (this._polestarProviderId) {\n PoleStarProvider$1.removeEventListener(this._polestarProviderId);\n delete this._polestarProviderId;\n }\n MapMatchingHandler$1.removeEventListener(this._mapMatchingHandlerId);\n }\n _shouldTakeIntoAccountNewAbsolutePosition(newPositionEvent, canContainLevel = true) {\n const newPosition = newPositionEvent;\n const lastPosition = this.lastEvent || null;\n if (!lastPosition) {\n return true;\n }\n const isBetterEnough = newPosition.accuracy * _AbsolutePositionProvider.ACCURACY_RELOC_RATIO <= lastPosition.accuracy;\n if (isBetterEnough) {\n return true;\n }\n const isFarEnough = lastPosition.distanceTo(newPosition) > lastPosition.accuracy + newPosition.accuracy;\n if (isFarEnough) {\n return true;\n }\n const isFarEnoughAndAccuracyIsBetter = isFarEnough && newPosition.accuracy <= lastPosition.accuracy;\n if (isBetterEnough && isFarEnoughAndAccuracyIsBetter) {\n return true;\n }\n const isChangingLevel = canContainLevel && !Level.equals(newPosition.level, lastPosition.level);\n if (isChangingLevel) {\n return true;\n }\n return false;\n }\n /**\n * @returns if input position is used by the system (true = used, false = discarded)\n */\n _onAbsolutePosition(positionEvent, canContainLevel = true) {\n if (!this._shouldTakeIntoAccountNewAbsolutePosition(positionEvent, canContainLevel) && !this.useAllAbsolutePositions) {\n return false;\n }\n const newPosition = positionEvent.clone();\n const lastPosition = this.lastEvent ? this.lastEvent : null;\n if (lastPosition) {\n if (!canContainLevel) {\n newPosition.level = lastPosition.level;\n }\n if (newPosition.bearing === null) {\n newPosition.bearing = lastPosition.bearing;\n }\n }\n if (!MapMatchingHandler$1.canUseMapMatching()) {\n this.notify(newPosition);\n return true;\n }\n return MapMatchingHandler$1.notifyPositionFromAbsolute(newPosition);\n }\n /**\n * @returns if input position is used by the system (true = used, false = discarded)\n */\n _onRelativePosition(relativeEvent) {\n if (!this.lastEvent || this._waitUntilNextVpsPosition) {\n return false;\n }\n const lastPosition = this.lastEvent;\n const offsetPos = relativeEvent;\n const dist = Math.sqrt(offsetPos.x ** 2 + offsetPos.y ** 2);\n const bearing = Math.atan2(offsetPos.x, offsetPos.y);\n const alt = lastPosition.alt !== null ? offsetPos.z : null;\n const newPosition = lastPosition.destinationPoint(dist, bearing, alt);\n newPosition.bearing = offsetPos.bearing;\n newPosition.time = offsetPos.time;\n newPosition.accuracy += offsetPos.accuracy;\n if (!MapMatchingHandler$1.canUseMapMatching()) {\n this.notify(newPosition);\n return true;\n }\n return MapMatchingHandler$1.notifyPositionFromRelative(newPosition);\n }\n feed(data) {\n let newPositionEvent;\n if (data instanceof UserPosition) {\n if (data.time === null) {\n throw Error(\"the time of the position is not defined\");\n }\n if (data.accuracy === null) {\n throw Error(\"the accuracy of the position is not defined\");\n }\n newPositionEvent = data;\n } else {\n throw new Error(\"data is nor an UserPosition or an AbsolutePositionEvent\");\n }\n if (!_AbsolutePositionProvider.USE_MM_FOR_FEED || !MapMatchingHandler$1.canUseMapMatching()) {\n this.notify(newPositionEvent);\n return;\n }\n MapMatchingHandler$1.notifyPositionFromFeed(newPositionEvent);\n }\n getBestPositionEvent(...absolutePositionEvents) {\n return absolutePositionEvents.reduce((best, value) => {\n if (!best) {\n return value;\n }\n if (!value || value.accuracy === null || value.time === null) {\n return best;\n }\n const { accuracy: curAccuracy, time: curTime } = value;\n const { accuracy: bestAccuracy, time: bestTime } = best;\n return curAccuracy < bestAccuracy + 1.3888 * (curTime - bestTime) ? value : best;\n }, null);\n }\n};\n// Use the new absolute position if its accuracy is at least x times better than the last one.\n__publicField(_AbsolutePositionProvider, \"ACCURACY_RELOC_RATIO\", 1);\n// or 1.5\n__publicField(_AbsolutePositionProvider, \"USE_MM_FOR_FEED\", true);\nlet AbsolutePositionProvider = _AbsolutePositionProvider;\nconst AbsolutePositionProvider$1 = new AbsolutePositionProvider();\nclass AbsoluteAttitudeFromBrowser extends Provider {\n constructor() {\n super(...arguments);\n // from http://tyrex.inria.fr/mobile/benchmarks-attitude/\n __publicField(this, \"DEFAULT_ACCURACY\", deg2rad(15));\n __publicField(this, \"absolutePositionProviderId\");\n __publicField(this, \"absolutePositionEvent\");\n __publicField(this, \"declinationQuaternion\");\n __publicField(this, \"magQuaternion\");\n __publicField(this, \"magQuaternionTimestamp\");\n __publicField(this, \"iosPreviousQuat\");\n __publicField(this, \"iosIsSkyMode\", null);\n __publicField(this, \"getName\", () => \"AbsoluteAttitudeFromBrowser\");\n __publicField(this, \"onDeviceOrientationChromeEvent\", (e) => {\n this.magQuaternionTimestamp = e.timeStamp / 1e3;\n if (typeof e.alpha !== \"number\" || typeof e.beta !== \"number\" || typeof e.gamma !== \"number\") {\n this.notifyError(new MissingSensorError().from(\"deviceorientationabsolute\"));\n return;\n }\n this.magQuaternion = Rotations.eulerToQuaternionZXYDegrees(\n [e.alpha, e.beta, e.gamma]\n );\n this.compute();\n });\n __publicField(this, \"onDeviceOrientationSafariEvent\", (e) => {\n this.magQuaternionTimestamp = e.timeStamp / 1e3;\n if (typeof e.beta !== \"number\" || typeof e.gamma !== \"number\") {\n this.notifyError(new MissingSensorError().from(\"deviceorientation\"));\n return;\n }\n if (typeof e.webkitCompassHeading !== \"number\") {\n this.notifyError(new MissingMagnetometerError().from(\"deviceorientation\"));\n return;\n }\n let alpha;\n const [qw, qx, qy, qz] = Rotations.eulerToQuaternionZXYDegrees([e.webkitCompassHeading, e.beta, e.gamma]);\n const groundAngle = rad2deg(Math.acos(qw ** 2 - qx ** 2 - qy ** 2 + qz ** 2));\n let isSkyMode = null;\n if (groundAngle > 136) {\n isSkyMode = true;\n } else if (groundAngle < 134) {\n isSkyMode = false;\n } else if (this.iosPreviousQuat && this.iosIsSkyMode !== null) {\n isSkyMode = Quaternion.distance([qw, qx, qy, qz], this.iosPreviousQuat) < 0.5 ? this.iosIsSkyMode : !this.iosIsSkyMode;\n }\n this.iosPreviousQuat = [qw, qx, qy, qz];\n this.iosIsSkyMode = isSkyMode;\n if (typeof isSkyMode === \"undefined\") {\n return;\n }\n if (isSkyMode) {\n alpha = 180 - e.webkitCompassHeading;\n } else {\n alpha = AbsoluteAttitudeFromBrowser.webkitCompassToHeading(\n e.webkitCompassHeading,\n e.beta,\n e.gamma\n );\n }\n this.magQuaternion = Rotations.eulerToQuaternionZXYDegrees([alpha, e.beta, e.gamma]);\n this.compute();\n });\n /**\n * Initialized declination quaternion using current position.\n * This method should be theoretically called every time the user moves.\n * But in reality declination does not change as much.\n */\n __publicField(this, \"onAbsolutePositionEvent\", (position) => {\n this.absolutePositionEvent = position;\n const wmmResult = geomag.field(position.lat, position.lng);\n this.declinationQuaternion = Quaternion.fromAxisAngle([0, 0, 1], -deg2rad(wmmResult.declination));\n AbsolutePositionProvider$1.removeEventListener(this.absolutePositionProviderId);\n delete this.absolutePositionProviderId;\n this.compute();\n });\n }\n availability() {\n return BrowserUtils.isMobile ? Promise.resolve() : Promise.resolve(new AskImuOnDesktopError());\n }\n start() {\n const subscribe = () => {\n switch (BrowserUtils.getName()) {\n case Browser.CHROME:\n window.addEventListener(\n \"deviceorientationabsolute\",\n this.onDeviceOrientationChromeEvent,\n true\n );\n break;\n case Browser.SAFARI:\n case Browser.IOS_WEBVIEW:\n window.addEventListener(\n \"deviceorientation\",\n this.onDeviceOrientationSafariEvent,\n true\n );\n break;\n }\n };\n const requestPermission = DeviceOrientationEvent.requestPermission || void 0;\n if (requestPermission) {\n requestPermission().then((response) => {\n if (response !== \"granted\") {\n throw new Error(\"Permission not granted\");\n }\n subscribe();\n }).catch(this.notifyError);\n } else {\n subscribe();\n }\n const lastAbsolutePosition = AbsolutePositionProvider$1.lastEvent;\n if (lastAbsolutePosition) {\n this.onAbsolutePositionEvent(lastAbsolutePosition);\n } else {\n this.absolutePositionProviderId = AbsolutePositionProvider$1.addEventListener(\n this.onAbsolutePositionEvent,\n this.notifyError,\n false\n );\n }\n }\n stop() {\n switch (BrowserUtils.getName()) {\n case Browser.CHROME:\n window.removeEventListener(\n \"deviceorientationabsolute\",\n this.onDeviceOrientationChromeEvent,\n true\n );\n break;\n case Browser.SAFARI:\n case Browser.IOS_WEBVIEW:\n window.removeEventListener(\n \"deviceorientation\",\n this.onDeviceOrientationSafariEvent,\n true\n );\n break;\n }\n AbsolutePositionProvider$1.removeEventListener(this.absolutePositionProviderId);\n }\n compute() {\n if (!this.declinationQuaternion || !this.magQuaternion || !this.absolutePositionEvent) {\n return;\n }\n const trueQuaternion = Quaternion.multiply(this.declinationQuaternion, this.magQuaternion);\n const attitude = new AbsoluteAttitude(trueQuaternion, this.magQuaternionTimestamp, this.DEFAULT_ACCURACY);\n this.notify(attitude);\n }\n static webkitCompassToHeading(_webkitCompassHeading, _beta, _gamma) {\n const webkitCompassHeading = deg2rad(_webkitCompassHeading);\n const beta = deg2rad(_beta);\n const gamma = deg2rad(_gamma);\n const c1 = Math.cos(webkitCompassHeading / 2);\n const c2 = Math.cos(beta / 2);\n const c3 = Math.cos(gamma / 2);\n const s1 = Math.sin(webkitCompassHeading / 2);\n const s2 = Math.sin(beta / 2);\n const s3 = Math.sin(gamma / 2);\n const qw = c1 * c2 * c3 - s1 * s2 * s3;\n const qz = s1 * c2 * c3 + c1 * s2 * s3;\n return rad2deg(-2 * Math.atan(qz / qw));\n }\n}\nconst AbsoluteAttitudeFromBrowser$1 = new AbsoluteAttitudeFromBrowser();\nclass RelativeAttitudeProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"arCoreMonitoringId\");\n __publicField(this, \"arCoreProviderId\");\n __publicField(this, \"inertialProviderId\");\n __publicField(this, \"getName\", () => \"RelativeAttitude\");\n __publicField(this, \"availability\", () => RelativeAttitudeFromInertialProvider.getAvailability());\n __publicField(this, \"listenInertial\", () => {\n this.inertialProviderId = RelativeAttitudeFromInertialProvider.addEventListener(\n this.notify,\n this.notifyError\n );\n });\n __publicField(this, \"unlistenInertial\", () => {\n RelativeAttitudeFromInertialProvider.removeEventListener(this.inertialProviderId);\n });\n __publicField(this, \"listenArCore\", () => {\n this.arCoreProviderId = ArCoreProvider$1.addEventListener(\n (event) => this.notify(event.relativeAttitude),\n null,\n false\n );\n });\n __publicField(this, \"unlistenArCore\", () => {\n ArCoreProvider$1.removeEventListener(this.arCoreProviderId);\n });\n }\n start() {\n this.arCoreMonitoringId = ArCoreProvider$1.addMonitoringListener(\n () => {\n this.listenArCore();\n this.unlistenInertial();\n },\n () => {\n this.unlistenArCore();\n this.listenInertial();\n }\n );\n if (ArCoreProvider$1.state === \"started\") {\n this.listenArCore();\n } else {\n this.listenInertial();\n }\n }\n /**\n * @override\n */\n stop() {\n ArCoreProvider$1.removeMonitoringListener(this.arCoreMonitoringId);\n this.unlistenArCore();\n this.unlistenInertial();\n }\n}\nconst RelativeAttitudeProvider$1 = new RelativeAttitudeProvider();\nconst _AbsoluteAttitudeProvider = class _AbsoluteAttitudeProvider extends Provider {\n constructor() {\n super(...arguments);\n // in radians;\n __publicField(this, \"_absAttitudeFromBrowser\");\n __publicField(this, \"_vpsProviderId\");\n __publicField(this, \"fromBrowserProviderId\");\n __publicField(this, \"highRotationProviderId\");\n __publicField(this, \"inclinationProviderId\");\n __publicField(this, \"relativeAttitudeProviderId\");\n __publicField(this, \"_attitudeFromBrowserErrored\", false);\n __publicField(this, \"_attitudeFromRelativeErrored\", false);\n /*\n * RELATIVE\n */\n __publicField(this, \"_relativeAttitude\", null);\n __publicField(this, \"_relativeAccuracy\", 0);\n // in radians/s\n __publicField(this, \"_lastForcedHeadingEvent\");\n __publicField(this, \"_relAbsQuat\");\n __publicField(this, \"_wasHighRotationInProgress\", false);\n __publicField(this, \"_timeFirstDivergence\", null);\n __publicField(this, \"_callbackMagCalibration\");\n __publicField(this, \"getName\", () => \"AbsoluteAttitude\");\n __publicField(this, \"_onError\", (error) => {\n if (this._attitudeFromBrowserErrored && this._attitudeFromRelativeErrored) {\n this.notifyError(error);\n }\n });\n __publicField(this, \"_forceHeadingForRelative\", (absoluteHeadingEvent) => {\n if (this.lastEvent && absoluteHeadingEvent.accuracy > this.lastEvent.accuracy) {\n return;\n }\n const calcForceHeading = (relativeAttitude) => {\n const currentRelativeHeading = relativeAttitude.heading;\n this._relAbsQuat = Quaternion.fromAxisAngle(\n [0, 0, 1],\n currentRelativeHeading - absoluteHeadingEvent.heading\n );\n this._relativeAccuracy = 0;\n this._lastForcedHeadingEvent = absoluteHeadingEvent;\n };\n if (this._relativeAttitude) {\n calcForceHeading(this._relativeAttitude);\n return;\n }\n const providerId = RelativeAttitudeProvider$1.addEventListener(\n (event) => {\n calcForceHeading(event);\n RelativeAttitudeProvider$1.removeEventListener(providerId);\n }\n );\n });\n __publicField(this, \"_onRelativeAttitudeEvent\", (event) => {\n var _a;\n const { quaternion, accuracy, time } = event;\n if (this._relativeAttitude) {\n this._relativeAccuracy += (time - this._relativeAttitude.time) * accuracy;\n }\n this._relativeAttitude = event;\n if (!this._lastForcedHeadingEvent || !this._relAbsQuat) {\n return;\n }\n const accuracyWithRelative = Math.min(\n (this._lastForcedHeadingEvent.accuracy || 0) + this._relativeAccuracy,\n Math.PI\n );\n const highRotationInProgress = HighRotationsProvider$1.isInProgress();\n let divergenceDetected = false;\n if (this._absAttitudeFromBrowser) {\n const {\n accuracy: accuracyWithAbsolute,\n heading: headingFromAbsolute\n } = this._absAttitudeFromBrowser;\n if (this._wasHighRotationInProgress && !highRotationInProgress) {\n this._forceHeadingForRelative(this._absAttitudeFromBrowser);\n } else if (accuracyWithAbsolute < accuracyWithRelative) {\n const relativeQuaternion = Quaternion.multiply(this._relAbsQuat, quaternion);\n const relativeAttitude = new Attitude(relativeQuaternion);\n const angle = Math.abs(diffAngle(relativeAttitude.heading, headingFromAbsolute));\n const inclination = InclinationProvider$1.lastEvent;\n if (angle > _AbsoluteAttitudeProvider.REL_ABS_DIVERGENCE_ANGLE_THRESHOLD && inclination !== null && Math.abs(inclination - Math.PI / 4) > _AbsoluteAttitudeProvider.REL_ABS_DIVERGENCE_INCLINATION_THRESHOLD) {\n divergenceDetected = true;\n if (this._timeFirstDivergence !== null && time - this._timeFirstDivergence > _AbsoluteAttitudeProvider.REL_ABS_DIVERGENCE_TIME_THRESHOLD) {\n this._forceHeadingForRelative(this._absAttitudeFromBrowser);\n (_a = this._callbackMagCalibration) == null ? void 0 : _a.call(this, { angle });\n this._timeFirstDivergence = null;\n } else if (this._timeFirstDivergence === null) {\n this._timeFirstDivergence = time;\n }\n }\n }\n }\n if (!divergenceDetected) {\n this._timeFirstDivergence = null;\n }\n this._wasHighRotationInProgress = highRotationInProgress;\n const absoluteQuat = Quaternion.multiply(this._relAbsQuat, quaternion);\n const attitude = new AbsoluteAttitude(absoluteQuat, time, accuracyWithRelative);\n this.notify(attitude);\n });\n __publicField(this, \"_onAttitudeFromBrowser\", (event) => {\n this._absAttitudeFromBrowser = event;\n if (!this._lastForcedHeadingEvent) {\n this._forceHeadingForRelative(event);\n return;\n }\n });\n __publicField(this, \"_onAttitudeFromVps\", (event) => {\n this._forceHeadingForRelative(event);\n });\n }\n availability() {\n return AvailabilityHelper.some([\n AbsoluteAttitudeFromBrowser$1.getAvailability(),\n RelativeAttitudeProvider$1.getAvailability()\n ]);\n }\n start() {\n this.fromBrowserProviderId = AbsoluteAttitudeFromBrowser$1.addEventListener(\n this._onAttitudeFromBrowser,\n (error) => {\n this._attitudeFromBrowserErrored = true;\n this._onError(error);\n }\n );\n this._vpsProviderId = VpsProvider$1.addEventListener(\n (event) => this._onAttitudeFromVps(event.absoluteAttitude),\n (error) => this.notifyError(error),\n false\n );\n this.relativeAttitudeProviderId = RelativeAttitudeProvider$1.addEventListener(\n this._onRelativeAttitudeEvent,\n (error) => {\n this._attitudeFromRelativeErrored = true;\n this._onError(error);\n }\n );\n this.inclinationProviderId = InclinationProvider$1.addEventListener();\n this.highRotationProviderId = HighRotationsProvider$1.addEventListener();\n }\n stop() {\n AbsoluteAttitudeFromBrowser$1.removeEventListener(this.fromBrowserProviderId);\n RelativeAttitudeProvider$1.removeEventListener(this.relativeAttitudeProviderId);\n InclinationProvider$1.removeEventListener(this.inclinationProviderId);\n HighRotationsProvider$1.removeEventListener(this.highRotationProviderId);\n VpsProvider$1.removeEventListener(this._vpsProviderId);\n }\n _setCallbackMagCalibration(cb) {\n this._callbackMagCalibration = cb;\n }\n feed(data) {\n if (data instanceof AbsoluteHeading) {\n if (data.time === null) {\n throw Error(\"the time of the absolute heading is not defined\");\n }\n if (data.accuracy === null) {\n throw Error(\"the accuracy of the absolute heading is not defined\");\n }\n this._forceHeadingForRelative(data);\n } else if (data instanceof AbsoluteAttitude) {\n if (data.time === null) {\n throw Error(\"the time of the attitude is not defined\");\n }\n if (data.accuracy === null) {\n throw Error(\"the accuracy of the attitude is not defined\");\n }\n this._forceHeadingForRelative(data);\n } else {\n throw new Error(\"data is nor an AbsoluteHeading or an Attitude object\");\n }\n }\n};\n__publicField(_AbsoluteAttitudeProvider, \"REL_ABS_DIVERGENCE_ANGLE_THRESHOLD\", deg2rad(25));\n// in radians;\n__publicField(_AbsoluteAttitudeProvider, \"REL_ABS_DIVERGENCE_TIME_THRESHOLD\", 2.5);\n// in seconds\n__publicField(_AbsoluteAttitudeProvider, \"REL_ABS_DIVERGENCE_INCLINATION_THRESHOLD\", deg2rad(15));\nlet AbsoluteAttitudeProvider = _AbsoluteAttitudeProvider;\nconst AbsoluteAttitudeProvider$1 = new AbsoluteAttitudeProvider();\nconst _TurnProvider = class _TurnProvider extends Provider {\n constructor() {\n super(...arguments);\n // in seconds\n __publicField(this, \"providerId\");\n __publicField(this, \"slidingWindow\", []);\n __publicField(this, \"getName\", () => \"Turn\");\n __publicField(this, \"availability\", () => RelativeAttitudeProvider$1.getAvailability());\n __publicField(this, \"_parseRelativeAttitude\", (relativeAttitudeEvent) => {\n const { heading } = relativeAttitudeEvent;\n const timestamp = relativeAttitudeEvent.time;\n this.slidingWindow = this.slidingWindow.filter((item) => item[0] >= timestamp - _TurnProvider.SLIDING_WINDOW_TIME);\n this.slidingWindow.push([timestamp, heading]);\n const stdVal = std(this.slidingWindow.map((item) => item[1]));\n if (stdVal > _TurnProvider.STD_THRESHOLD) {\n this.notify({ timestamp });\n }\n });\n }\n start() {\n this.providerId = RelativeAttitudeProvider$1.addEventListener(\n this._parseRelativeAttitude,\n this.notifyError\n );\n }\n stop() {\n RelativeAttitudeProvider$1.removeEventListener(this.providerId);\n }\n isTurning() {\n if (!this.lastEvent || !RelativeAttitudeProvider$1.lastEvent) {\n return false;\n }\n const diffTime = RelativeAttitudeProvider$1.lastEvent.time - this.lastEvent.timestamp;\n return diffTime < _TurnProvider.CONSIDER_TURN_UNTIL;\n }\n};\n__publicField(_TurnProvider, \"SLIDING_WINDOW_TIME\", 0.3);\n// in seconds\n__publicField(_TurnProvider, \"STD_THRESHOLD\", 0.075);\n__publicField(_TurnProvider, \"CONSIDER_TURN_UNTIL\", 1);\nlet TurnProvider = _TurnProvider;\nconst TurnProvider$1 = new TurnProvider();\nconst _StraightLineProvider = class _StraightLineProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"_turnProviderId\");\n __publicField(this, \"_stepProviderId\");\n __publicField(this, \"_countSteps\", 0);\n __publicField(this, \"_stepsConsideredForStraightLine\", _StraightLineProvider.DEFAULT_STEPS_CONSIDERED_FOR_STRAIGHT_LINE);\n __publicField(this, \"getName\", () => \"StraightLine\");\n __publicField(this, \"_onTurn\", () => {\n if (this._countSteps >= this._stepsConsideredForStraightLine) {\n this.notify(false);\n }\n this._countSteps = 0;\n });\n __publicField(this, \"_onStep\", () => {\n this._countSteps++;\n if (this._countSteps === this._stepsConsideredForStraightLine) {\n this.notify(true);\n }\n });\n }\n availability() {\n return AvailabilityHelper.every([\n TurnProvider$1.getAvailability(),\n StepProvider$1.getAvailability()\n ]);\n }\n start() {\n this._turnProviderId = TurnProvider$1.addEventListener(this._onTurn);\n this._stepProviderId = StepProvider$1.addEventListener(this._onStep);\n }\n stop() {\n TurnProvider$1.removeEventListener(this._turnProviderId);\n StepProvider$1.removeEventListener(this._stepProviderId);\n }\n isStraight() {\n return this._countSteps >= this._stepsConsideredForStraightLine;\n }\n get numStepsDetectedFromLastTurn() {\n return this._countSteps;\n }\n get stepsConsideredForStraightLine() {\n return this._stepsConsideredForStraightLine;\n }\n set stepsConsideredForStraightLine(stepsConsideredForStraightLine) {\n this._stepsConsideredForStraightLine = stepsConsideredForStraightLine;\n }\n};\n__publicField(_StraightLineProvider, \"DEFAULT_STEPS_CONSIDERED_FOR_STRAIGHT_LINE\", 2);\nlet StraightLineProvider = _StraightLineProvider;\nconst StraightLineProvider$1 = new StraightLineProvider();\nconst _MapMatchingHandler = class _MapMatchingHandler extends Provider {\n constructor() {\n super(...arguments);\n // radians\n __publicField(this, \"_mapMatchingMaxDistance\", _MapMatchingHandler.DEFAULT_MM_MAX_DIST);\n __publicField(this, \"_mapMatchingMinDistance\", _MapMatchingHandler.DEFAULT_MM_MIN_DIST);\n __publicField(this, \"_mapMatchingMaxAngleBearing\", _MapMatchingHandler.DEFAULT_MM_MAX_ANGLE);\n __publicField(this, \"_useItineraryStartAsPosition\", _MapMatchingHandler.DEFAULT_USE_ITINERARY_START_AS_POSITION);\n __publicField(this, \"_useOrientationMatching\", _MapMatchingHandler.DEFAULT_USE_ORIENTATION_MATCHING);\n __publicField(this, \"_hugeJumpDistance\", _MapMatchingHandler.DEFAULT_MM_HUGE_JUMP_DISTANCE);\n __publicField(this, \"_disableMMCloseToATurnDistance\", _MapMatchingHandler.DEFAULT_DISABLE_MM_CLOSE_TO_A_TURN_DISTANCE);\n __publicField(this, \"_minStepsBetweenOrientationMatching\", _MapMatchingHandler.DEFAULT_MIN_STEPS_BETWEEN_ORIENTATION_MATCHING);\n __publicField(this, \"_minStepsForOrientationMatching\", _MapMatchingHandler.DEFAULT_MIN_STEPS_FOR_ORIENTATION_MATCHING);\n __publicField(this, \"_lastProjectionsWindowSize\", _MapMatchingHandler.DEFAULT_LAST_PROJECTIONS_WINDOW_SIZE);\n __publicField(this, \"_lastProjectionsEdgeAngleThreshold\", _MapMatchingHandler.DEFAULT_LAST_PROJECTIONS_EDGE_ANGLE_THRESHOLD);\n __publicField(this, \"_graph\", null);\n __publicField(this, \"_internalProvidersStarted\", false);\n __publicField(this, \"_straightLineProviderId\");\n __publicField(this, \"_turnProviderId\");\n __publicField(this, \"_stepProviderId\");\n __publicField(this, \"_projectionsWithAbsAndWithoutRelAttitudeInARow\", []);\n __publicField(this, \"_countStepsFromLastMatching\", 0);\n __publicField(this, \"_lastProjections\", []);\n __publicField(this, \"_itineraryInfoManager\", null);\n __publicField(this, \"getName\", () => \"MapMatchingHandler\");\n __publicField(this, \"availability\", () => Promise.resolve());\n __publicField(this, \"_manageStartStop\", () => {\n if (this.graph && !this._internalProvidersStarted) {\n this._startInternalProviders();\n } else if (!this.graph && this._internalProvidersStarted) {\n this._stopInternalProviders();\n }\n });\n }\n start() {\n if (this.graph) {\n this._startInternalProviders();\n }\n }\n stop() {\n this._stopInternalProviders();\n }\n _startInternalProviders() {\n if (this.enabled && this._internalProvidersStarted) {\n return;\n }\n this._straightLineProviderId = StraightLineProvider$1.addEventListener();\n this._turnProviderId = TurnProvider$1.addEventListener();\n this._stepProviderId = StepProvider$1.addEventListener(() => this._countStepsFromLastMatching++);\n this._internalProvidersStarted = true;\n }\n _stopInternalProviders() {\n if (this.enabled && !this._internalProvidersStarted) {\n return;\n }\n StraightLineProvider$1.removeEventListener(this._straightLineProviderId);\n TurnProvider$1.removeEventListener(this._turnProviderId);\n StepProvider$1.removeEventListener(this._stepProviderId);\n this._internalProvidersStarted = false;\n }\n get enabled() {\n return ProvidersOptions.useMapMatching;\n }\n get graph() {\n return this._graph;\n }\n set graph(graph) {\n this._graph = graph;\n this._itineraryInfoManager = null;\n this.notify({ ...graph && { graph } });\n this._manageStartStop();\n if (this.canUseMapMatching())\n ;\n }\n set itinerary(itinerary) {\n this._graph = itinerary ? itinerary.toGraph() : null;\n this._itineraryInfoManager = new ItineraryInfoManager(itinerary);\n this.notify({ ...itinerary && { itinerary } });\n this._manageStartStop();\n if (this.canUseMapMatching() && itinerary) {\n this._notifyPositionFromItineraryInput(itinerary);\n }\n }\n canUseMapMatching() {\n return this.enabled && this.graph;\n }\n _notifyPositionFromItineraryInput(itinerary) {\n if (!this._useItineraryStartAsPosition || !itinerary.origin) {\n return;\n }\n const lastPosition = AbsolutePositionProvider$1.lastEvent || null;\n const newPosition = UserPosition.fromCoordinates(itinerary.origin);\n if (lastPosition) {\n newPosition.alt = lastPosition.alt;\n newPosition.time = lastPosition.time;\n newPosition.accuracy = lastPosition.accuracy + newPosition.distanceTo(lastPosition);\n newPosition.bearing = lastPosition.bearing;\n } else if (itinerary.coords.length >= 2) {\n newPosition.alt = Constants.DEFAULT_ALTITUDE;\n newPosition.time = TimeUtils.preciseTime();\n newPosition.accuracy = 0;\n newPosition.bearing = itinerary.coords[0].bearingTo(itinerary.coords[1]);\n } else {\n return;\n }\n const projection = this.getProjection(newPosition, true);\n if (projection) {\n AbsolutePositionProvider$1.notify(projection.coords);\n } else {\n AbsolutePositionProvider$1.notify(newPosition);\n }\n return;\n }\n notifyPositionFromFeed(newPositionEvent) {\n const projection = this.getProjection(newPositionEvent, true, false);\n if (!projection) {\n AbsolutePositionProvider$1.notify(newPositionEvent);\n return;\n }\n AbsolutePositionProvider$1.notify(projection.coords);\n }\n /**\n * @returns if input position is used by the system (true = used, false = discarded)\n */\n notifyPositionFromAbsolute(newPosition) {\n let projectionWithBearing = null;\n if (newPosition.bearing !== null) {\n projectionWithBearing = this.getProjection(newPosition, true, true);\n }\n if (!projectionWithBearing) {\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n const thisWillBeAHugeJump = projectionWithBearing.distanceFromNearestElement > this._hugeJumpDistance;\n if (thisWillBeAHugeJump && !StraightLineProvider$1.isStraight()) {\n return false;\n }\n if (thisWillBeAHugeJump && this._detectWrongBigJump(projectionWithBearing)) {\n return false;\n }\n AbsolutePositionProvider$1.notify(projectionWithBearing.coords);\n this.tryOrientationMatching(projectionWithBearing);\n return true;\n }\n /**\n * @returns if input position is used by the system (true = used, false = discarded)\n */\n notifyPositionFromRelative(newPosition) {\n var _a;\n if (TurnProvider$1.isTurning()) {\n this._projectionsWithAbsAndWithoutRelAttitudeInARow = [];\n this._lastProjections = [];\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n const projection = this.getProjection(newPosition, true, true);\n if (projection) {\n this._projectionsWithAbsAndWithoutRelAttitudeInARow = [];\n this._lastProjections.push(projection);\n if (this._lastProjections.length > this._lastProjectionsWindowSize) {\n this._lastProjections.shift();\n }\n const thisWillBeAHugeJump = projection.distanceFromNearestElement > this._hugeJumpDistance;\n if (thisWillBeAHugeJump && !StraightLineProvider$1.isStraight()) {\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n if (thisWillBeAHugeJump && this._detectWrongBigJump(projection)) {\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n if (!this._areLastProjectionsInTheSameDirection()) {\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n if (this._disableMMCloseToATurnDistance > 0 && this._hasTurnInCircle(projection.coords, this._disableMMCloseToATurnDistance)) {\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n AbsolutePositionProvider$1.notify(projection.coords);\n this.tryOrientationMatching(projection);\n return true;\n }\n if (StraightLineProvider$1.isStraight()) {\n const testedPosition = newPosition.clone();\n testedPosition.bearing = ((_a = AbsoluteAttitudeFromBrowser$1.lastEvent) == null ? void 0 : _a.heading) || null;\n const projectionWithAbs = this.getProjection(testedPosition, true, true);\n if (projectionWithAbs) {\n this._projectionsWithAbsAndWithoutRelAttitudeInARow.push(projectionWithAbs);\n if (this._projectionsWithAbsAndWithoutRelAttitudeInARow.length < 3) {\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n this._lastProjections.push(projectionWithAbs);\n if (this._lastProjections.length > this._lastProjectionsWindowSize) {\n this._lastProjections.shift();\n }\n if (!this._areLastProjectionsInTheSameDirection()) {\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n AbsolutePositionProvider$1.notify(projectionWithAbs.coords);\n this.tryOrientationMatching(projectionWithAbs);\n return true;\n }\n }\n this._projectionsWithAbsAndWithoutRelAttitudeInARow = [];\n this._lastProjections = [];\n AbsolutePositionProvider$1.notify(newPosition);\n return true;\n }\n _detectWrongBigJump(projection) {\n if (this._itineraryInfoManager && AbsolutePositionProvider$1.lastEvent) {\n const infoPrevious = this._itineraryInfoManager.getInfo(AbsolutePositionProvider$1.lastEvent);\n const infoProjection = this._itineraryInfoManager.getInfo(projection.coords);\n if (infoPrevious && infoProjection && infoPrevious.traveledDistance > infoProjection.traveledDistance && infoPrevious.traveledDistance - infoProjection.traveledDistance > projection.origin.accuracy && projection.distanceFromNearestElement > projection.origin.accuracy && projection.origin.distanceTo(AbsolutePositionProvider$1.lastEvent) < projection.origin.accuracy + AbsolutePositionProvider$1.lastEvent.accuracy) {\n return true;\n }\n }\n return false;\n }\n _areLastProjectionsInTheSameDirection() {\n if (this._lastProjections.length === 0) {\n return false;\n }\n const firstProjection = this._lastProjections[0];\n return !this._lastProjections.some(\n (projection) => !(projection.nearestElement instanceof Edge) || !(firstProjection.nearestElement instanceof Edge) || diffAngleLines(projection.nearestElement.bearing, firstProjection.nearestElement.bearing) > this._lastProjectionsEdgeAngleThreshold\n );\n }\n _nodeHasTurn(vertex) {\n if (!this._graph)\n return;\n const edges = this._graph.edges.filter((e) => e.vertex1 === vertex || e.vertex2 === vertex);\n for (let i = 0; i < edges.length; i++) {\n for (let j = i + 1; j < edges.length; j++) {\n const angle = diffAngleLines(edges[i].bearing, edges[j].bearing);\n if (angle > _MapMatchingHandler.DEFAULT_MM_MAX_ANGLE) {\n return true;\n }\n }\n }\n return false;\n }\n _hasTurnInCircle(center, radius) {\n const graph = this._graph;\n if (!graph) {\n return false;\n }\n return graph.vertices.filter(\n (vertex) => vertex.coords.distanceTo(center) <= radius && Level.intersect(vertex.coords.level, center.level)\n ).some((it) => this._nodeHasTurn(it));\n }\n tryOrientationMatching(projection) {\n if (!this._useOrientationMatching) {\n return;\n }\n if (this.state !== \"started\" || this._countStepsFromLastMatching < this._minStepsBetweenOrientationMatching || StraightLineProvider$1.numStepsDetectedFromLastTurn < this._minStepsForOrientationMatching) {\n return;\n }\n const { nearestElement, origin } = projection;\n if (!(nearestElement instanceof Edge)) {\n return;\n }\n let matchingDirection;\n const matchingDirectionAngle1 = diffAngle(nearestElement.bearing, origin.bearing);\n const matchingDirectionAngle2 = diffAngle(nearestElement.bearing + Math.PI, origin.bearing);\n if (Math.abs(matchingDirectionAngle1) < Math.abs(matchingDirectionAngle2)) {\n matchingDirection = nearestElement.bearing;\n } else {\n matchingDirection = (nearestElement.bearing + Math.PI) % (2 * Math.PI);\n }\n const matchedHeading = new AbsoluteHeading(\n matchingDirection,\n origin.time,\n 0\n // Math.min(Math.abs(matchingDirectionAngle1), Math.abs(matchingDirectionAngle2))\n );\n AbsoluteAttitudeProvider$1._forceHeadingForRelative(matchedHeading);\n this._countStepsFromLastMatching = 0;\n }\n getProjection(position, useDistance, useBearing) {\n var _a;\n const projectionsOptions = {\n ...useDistance && { maxDistance: this._mapMatchingMaxDistance },\n ...useBearing && { maxBearingAngle: this._mapMatchingMaxAngleBearing }\n };\n return (_a = this._graph) == null ? void 0 : _a.getProjection(position, projectionsOptions);\n }\n get maxDistance() {\n return this._mapMatchingMaxDistance;\n }\n set maxDistance(maxDistance) {\n this._mapMatchingMaxDistance = maxDistance;\n }\n get minDistance() {\n return this._mapMatchingMinDistance;\n }\n set minDistance(minDistance) {\n this._mapMatchingMinDistance = minDistance;\n }\n get maxAngleBearing() {\n return this._mapMatchingMaxAngleBearing;\n }\n set maxAngleBearing(maxAngleBearing) {\n this._mapMatchingMaxAngleBearing = maxAngleBearing;\n }\n get useItineraryStartAsPosition() {\n return this._useItineraryStartAsPosition;\n }\n set useItineraryStartAsPosition(useItineraryStartAsPosition) {\n this._useItineraryStartAsPosition = useItineraryStartAsPosition;\n }\n get useOrientationMatching() {\n return this._useOrientationMatching;\n }\n set useOrientationMatching(useOrientationMatching) {\n this._useOrientationMatching = useOrientationMatching;\n }\n get hugeJumpDistance() {\n return this._hugeJumpDistance;\n }\n set hugeJumpDistance(hugeJumpDistance) {\n this._hugeJumpDistance = hugeJumpDistance;\n }\n get disableMMCloseToATurnDistance() {\n return this._disableMMCloseToATurnDistance;\n }\n set disableMMCloseToATurnDistance(disableMMCloseToATurnDistance) {\n this._disableMMCloseToATurnDistance = disableMMCloseToATurnDistance;\n }\n get minStepsBetweenOrientationMatching() {\n return this._minStepsBetweenOrientationMatching;\n }\n set minStepsBetweenOrientationMatching(minStepsBetweenOrientationMatching) {\n this._minStepsBetweenOrientationMatching = minStepsBetweenOrientationMatching;\n }\n get minStepsForOrientationMatching() {\n return this._minStepsForOrientationMatching;\n }\n set minStepsForOrientationMatching(minStepsForOrientationMatching) {\n this._minStepsForOrientationMatching = minStepsForOrientationMatching;\n }\n get lastProjectionsWindowSize() {\n return this._lastProjectionsWindowSize;\n }\n set lastProjectionsWindowSize(lastProjectionsWindowSize) {\n this._lastProjectionsWindowSize = lastProjectionsWindowSize;\n }\n get lastProjectionsEdgeAngleThreshold() {\n return this._lastProjectionsEdgeAngleThreshold;\n }\n set lastProjectionsEdgeAngleThreshold(lastProjectionsEdgeAngleThreshold) {\n this._lastProjectionsEdgeAngleThreshold = lastProjectionsEdgeAngleThreshold;\n }\n};\n__publicField(_MapMatchingHandler, \"DEFAULT_MM_MAX_ANGLE\", deg2rad(30));\n// radians\n__publicField(_MapMatchingHandler, \"DEFAULT_MM_MAX_DIST\", 30);\n// meters\n__publicField(_MapMatchingHandler, \"DEFAULT_MM_MIN_DIST\", 0);\n// meters\n__publicField(_MapMatchingHandler, \"DEFAULT_USE_ITINERARY_START_AS_POSITION\", false);\n__publicField(_MapMatchingHandler, \"DEFAULT_USE_ORIENTATION_MATCHING\", true);\n__publicField(_MapMatchingHandler, \"DEFAULT_MM_HUGE_JUMP_DISTANCE\", 3);\n// meters\n__publicField(_MapMatchingHandler, \"DEFAULT_DISABLE_MM_CLOSE_TO_A_TURN_DISTANCE\", 2);\n// meters\n__publicField(_MapMatchingHandler, \"DEFAULT_MIN_STEPS_BETWEEN_ORIENTATION_MATCHING\", 3);\n__publicField(_MapMatchingHandler, \"DEFAULT_MIN_STEPS_FOR_ORIENTATION_MATCHING\", 5);\n__publicField(_MapMatchingHandler, \"DEFAULT_LAST_PROJECTIONS_WINDOW_SIZE\", 3);\n__publicField(_MapMatchingHandler, \"DEFAULT_LAST_PROJECTIONS_EDGE_ANGLE_THRESHOLD\", deg2rad(3));\nlet MapMatchingHandler = _MapMatchingHandler;\nconst MapMatchingHandler$1 = new MapMatchingHandler();\nconst _PositionSmoother = class _PositionSmoother {\n // can be number if web or NodeJS.Timer\n /**\n * @param frequency in Hz\n */\n constructor(callback, frequency = _PositionSmoother.DEFAULT_FREQUENCY) {\n __publicField(this, \"positionsQueue\", []);\n __publicField(this, \"previousPosition\", null);\n __publicField(this, \"timeoutNotify\");\n __publicField(this, \"_notifyNext\", () => {\n var _a;\n if (!this.positionsQueue.length)\n return;\n (_a = this.callback) == null ? void 0 : _a.call(this, this.positionsQueue.shift());\n if (this.positionsQueue.length !== 0) {\n this.timeoutNotify = setTimeout(this._notifyNext, 1e3 / this.frequency);\n } else {\n delete this.timeoutNotify;\n }\n });\n this.callback = callback;\n this.frequency = frequency;\n }\n /**\n * @param flybyTime in seconds\n */\n feed(newPosition, flybyTime = _PositionSmoother.DEFAULT_FLYBY_TIME) {\n if (!(newPosition instanceof UserPosition)) {\n throw new TypeError(\"newPosition is not instance of UserPosition\");\n }\n if (newPosition.time === null) {\n throw new Error(\"newPosition does not have time property\");\n }\n let previousPosition;\n if (this.positionsQueue.length !== 0) {\n previousPosition = this.positionsQueue[0];\n this.positionsQueue = [];\n } else {\n previousPosition = this.previousPosition;\n }\n if (previousPosition) {\n const refTimestamp = newPosition.time;\n const distance = previousPosition.distanceTo(newPosition);\n const azimuth = previousPosition.bearingTo(newPosition);\n let i = 1;\n const nSamples = this.frequency * flybyTime + 1;\n const newPositionLevel = Level.clone(newPosition.level);\n while (i < nSamples + 1) {\n const smoothedPosition = previousPosition.destinationPoint(distance * i / nSamples, azimuth);\n smoothedPosition.time = refTimestamp + (i - 1) / this.frequency;\n smoothedPosition.level = newPositionLevel;\n smoothedPosition.bearing = newPosition.bearing;\n smoothedPosition.accuracy = Math.max(\n smoothedPosition.accuracy + (newPosition.accuracy - smoothedPosition.accuracy) * i / nSamples,\n 0\n );\n this.positionsQueue.push(smoothedPosition);\n i++;\n }\n if (this.timeoutNotify) {\n clearTimeout(this.timeoutNotify);\n }\n } else {\n this.positionsQueue.push(newPosition.clone());\n }\n this.previousPosition = newPosition;\n this._notifyNext();\n }\n clear() {\n clearTimeout(this.timeoutNotify);\n delete this.timeoutNotify;\n this.positionsQueue = [];\n }\n};\n// Generated positions by second\n__publicField(_PositionSmoother, \"DEFAULT_FREQUENCY\", 60);\n// flyby (in second)\n__publicField(_PositionSmoother, \"DEFAULT_FLYBY_TIME\", 1);\nlet PositionSmoother = _PositionSmoother;\nconst _AttitudeSmoother = class _AttitudeSmoother {\n constructor(callback) {\n // in radians/s\n __publicField(this, \"_previousAttitude\");\n __publicField(this, \"_smoothing\", null);\n this.callback = callback;\n }\n feed(newAttitude) {\n if (newAttitude.time === null) {\n throw new Error(\"newAttitude does not have time property\");\n }\n const { _previousAttitude: previousAttitude } = this;\n this._previousAttitude = newAttitude;\n if (!previousAttitude) {\n this.callback(newAttitude);\n return;\n }\n if (_AttitudeSmoother.isJump(previousAttitude, newAttitude)) {\n const fromAttitude = this._smoothing === null ? previousAttitude : this._smoothing.interpAttitude(previousAttitude);\n const fromHeading = fromAttitude.heading;\n const toHeading = newAttitude.heading;\n const diffAngleHeading = diffAngle(toHeading, fromHeading);\n const isHighJump = Math.abs(diffAngleHeading) < _AttitudeSmoother.HIGH_JUMP_THRESHOLD;\n const rotationSpeedConvergence = isHighJump ? _AttitudeSmoother.ROTATION_SPEED_CONVERGENCE : _AttitudeSmoother.ROTATION_SPEED_HIGH_JUMP_CONVERGENCE;\n const fromTime = fromAttitude.time;\n const timeToConsume = Math.abs(diffAngleHeading) / rotationSpeedConvergence;\n const multiplier = diffAngleHeading < 0 ? -1 : 1;\n this._smoothing = {\n toTime: fromTime + timeToConsume,\n interpAttitude: (attitude) => {\n const angle = rotationSpeedConvergence * (attitude.time - fromTime);\n const interpHeading = fromHeading + angle * multiplier;\n const offsetQuat = Quaternion.fromAxisAngle([0, 0, 1], toHeading - interpHeading);\n const interpQuat = Quaternion.multiply(offsetQuat, attitude.quaternion);\n return new Attitude(interpQuat, attitude.time, attitude.accuracy);\n }\n };\n }\n if (this._smoothing !== null) {\n if (newAttitude.time >= this._smoothing.toTime) {\n this._smoothing = null;\n } else {\n const interpAttitude = this._smoothing.interpAttitude(newAttitude);\n this.callback(interpAttitude);\n return;\n }\n }\n this.callback(newAttitude);\n }\n /**\n * @param {Attitude} previousAttitude\n * @param {Attitude} newAttitude\n * @returns {boolean}\n */\n static isJump(previousAttitude, newAttitude) {\n const fromHeading = previousAttitude.heading;\n const toHeading = newAttitude.heading;\n const diffAngleHeading = diffAngle(toHeading, fromHeading);\n const diffTime = newAttitude.time - previousAttitude.time;\n const [qw, qx, qy, qz] = newAttitude.quaternion;\n const distToPitchThreshold = Math.abs(Math.asin(2 * (qw * qx + qy * qz)) - Math.PI / 4);\n if (distToPitchThreshold < _AttitudeSmoother.PITCH_UNCERTAINITY_HEADING_THRESHOLD) {\n return false;\n }\n return Math.abs(diffAngleHeading) > _AttitudeSmoother.ROTATION_SPEED_JUMP_THRESHOLD * diffTime;\n }\n};\n__publicField(_AttitudeSmoother, \"ROTATION_SPEED_JUMP_THRESHOLD\", deg2rad(180));\n// in radians/s\n__publicField(_AttitudeSmoother, \"ROTATION_SPEED_CONVERGENCE\", deg2rad(10));\n// in radians/s\n__publicField(_AttitudeSmoother, \"HIGH_JUMP_THRESHOLD\", deg2rad(20));\n// in radians/s\n__publicField(_AttitudeSmoother, \"ROTATION_SPEED_HIGH_JUMP_CONVERGENCE\", deg2rad(100));\n// in radians/s\n__publicField(_AttitudeSmoother, \"PITCH_UNCERTAINITY_HEADING_THRESHOLD\", deg2rad(5));\nlet AttitudeSmoother = _AttitudeSmoother;\nclass MagnetometerCalibrationProvider extends Provider {\n constructor() {\n super();\n __publicField(this, \"getName\", () => \"MagnetometerCalibrationProvider\");\n __publicField(this, \"availability\", () => AbsoluteAttitudeProvider$1.getAvailability());\n AbsoluteAttitudeProvider$1._setCallbackMagCalibration((e) => this.state === \"started\" && this.notify(e));\n }\n start() {\n }\n stop() {\n }\n}\nconst MagnetometerCalibrationProvider$1 = new MagnetometerCalibrationProvider();\nconst _IpResolveServerError = class _IpResolveServerError extends Error {\n constructor(message) {\n super(message || _IpResolveServerError.DEFAULT_MESSAGE);\n }\n};\n__publicField(_IpResolveServerError, \"DEFAULT_MESSAGE\", \"IP Resolver failed\");\nlet IpResolveServerError = _IpResolveServerError;\nclass IpProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"getName\", () => \"Ip\");\n __publicField(this, \"availability\", () => Promise.resolve());\n }\n async start() {\n const response = await fetch(\"https://ipinfo.io/geo?token=24a7ca2f3b489d\");\n if (!response) {\n this.notifyError(new IpResolveServerError());\n return;\n }\n const timestamp = TimeUtils.preciseTime() / 1e3;\n const latLngStr = (await response.json()).loc.split(\",\");\n const position = new UserPosition(\n parseFloat(latLngStr[0]),\n parseFloat(latLngStr[1]),\n null,\n null,\n timestamp,\n 1e5\n );\n this.notify(position);\n }\n stop() {\n }\n}\nconst IpProvider$1 = new IpProvider();\nclass BarcodePoleStarProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"providerId\");\n __publicField(this, \"getName\", () => \"Barcode\");\n __publicField(this, \"availability\", () => ArCoreProvider$1.getAvailability());\n }\n start() {\n ArCoreProvider$1.enableBarcodeScanner();\n this.providerId = ArCoreProvider$1.addEventListener(\n (event) => event.barcode && this.notify(event.barcode),\n this.notifyError\n );\n }\n stop() {\n ArCoreProvider$1.disableBarcodeScanner();\n ArCoreProvider$1.removeEventListener(this.providerId);\n }\n}\nconst BarcodeProvider = new BarcodePoleStarProvider();\nclass CameraNativeProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"providerId\");\n __publicField(this, \"getName\", () => \"CameraNative\");\n __publicField(this, \"availability\", () => Promise.resolve());\n }\n start() {\n if (ArCoreProvider$1.state !== \"stopped\") {\n this.notify(\"started\");\n }\n this.providerId = ArCoreProvider$1.addMonitoringListener(\n () => this.notify(\"started\"),\n () => this.notify(\"stopped\")\n );\n }\n stop() {\n ArCoreProvider$1.removeMonitoringListener(this.providerId);\n }\n}\nconst CameraNativeProvider$1 = new CameraNativeProvider();\nclass CameraProjectionMatrixProvider extends Provider {\n constructor() {\n super(...arguments);\n __publicField(this, \"providerId\");\n __publicField(this, \"getName\", () => \"CameraProjectionMatrix\");\n __publicField(this, \"availability\", () => ArCoreProvider$1.getAvailability());\n }\n start() {\n this.providerId = ArCoreProvider$1.addEventListener(\n (event) => event.cameraProjection && this.notify(event.cameraProjection),\n this.notifyError\n );\n }\n stop() {\n ArCoreProvider$1.removeEventListener(this.providerId);\n }\n}\nconst CameraProjectionMatrixProvider$1 = new CameraProjectionMatrixProvider();\nexport {\n AbsoluteAttitude,\n AbsoluteAttitudeFromBrowser$1 as AbsoluteAttitudeFromBrowserProvider,\n AbsoluteAttitudeProvider$1 as AbsoluteAttitudeProvider,\n AbsolutePosition,\n AbsolutePositionProvider$1 as AbsolutePositionProvider,\n AccelerometerProvider$1 as AccelerometerProvider,\n ArCoreProvider$1 as ArCoreProvider,\n AttitudeSmoother,\n BarcodeProvider,\n CameraNativeProvider$1 as CameraNativeProvider,\n CameraProjectionMatrixProvider$1 as CameraProjectionMatrixProvider,\n GeoRelativePositionFromArCoreProvider$1 as GeoRelativePositionFromArCoreProvider,\n GeoRelativePositionProvider$1 as GeoRelativePositionProvider,\n GnssWifiProvider$1 as GnssWifiProvider,\n GyroscopeProvider$1 as GyroscopeProvider,\n HighRotationsProvider$1 as HighRotationsProvider,\n ImageRelocalization,\n ImuProvider$1 as ImuProvider,\n InclinationFromAccProvider$1 as InclinationFromAccProvider,\n InclinationFromRelativeAttitudeProvider$1 as InclinationFromRelativeAttitudeProvider,\n InclinationProvider$1 as InclinationProvider,\n IpProvider$1 as IpProvider,\n MagnetometerCalibrationProvider$1 as MagnetometerCalibrationProvider,\n MapMatchingHandler$1 as MapMatchingHandler,\n PdrProvider$1 as PdrProvider,\n PoleStarProvider$1 as PoleStarProvider,\n PositionSmoother,\n ProvidersLoggerOld$1 as ProvidersLoggerOld,\n ProvidersOptions,\n RelativeAttitude,\n RelativeAttitudeFromBrowser$1 as RelativeAttitudeFromBrowserProvider,\n RelativeAttitudeFromEkfProvider,\n RelativeAttitudeFromInertialProvider,\n RelativeAttitudeProvider$1 as RelativeAttitudeProvider,\n RelativeRotationCalc,\n StepDetectionMinMaxPeaks2,\n StepDetectionMinMaxPeaks3,\n StepProvider$1 as StepProvider,\n StraightLineProvider$1 as StraightLineProvider,\n TurnProvider$1 as TurnProvider,\n VpsMetadata,\n VpsProvider$1 as VpsProvider,\n VpsRequest,\n VpsResponse\n};\n//# sourceMappingURL=index.mjs.map\n","import { Evented } from 'mapbox-gl';\nimport Logger from '@wemap/logger';\nimport {\n PositionSmoother, AbsoluteAttitudeProvider, AbsolutePositionProvider\n} from '@wemap/providers';\n\nexport default class CustomMapProvider extends Evented {\n\n attitudeProviderId?: number;\n positionProviderId?: number;\n smoother: PositionSmoother | null = null;\n\n _started = false;\n\n start() {\n\n if (this._started) {\n return;\n }\n this._started = true;\n\n /**\n * Attitude\n */\n this.attitudeProviderId = AbsoluteAttitudeProvider.addEventListener(\n attitude => this.fire('heading.changed', { heading: attitude.headingDegrees }),\n e => Logger.warn(e.message)\n );\n\n // There is no sense to show the last known attitude on the map\n // this.fire('heading.changed' : { heading: AbsoluteAttitudeProvider.lastEvent ? AbsoluteAttitudeProvider.lastEvent.data : null});\n\n\n /**\n * Position\n */\n\n this.smoother = new PositionSmoother(position => {\n this.fire('position.changed', { position });\n });\n\n this.positionProviderId = AbsolutePositionProvider.addEventListener(\n position => this.smoother!.feed(position),\n e => Logger.warn(e.message)\n );\n\n const lastKnownPosition = AbsolutePositionProvider.lastEvent ? AbsolutePositionProvider.lastEvent : null;\n if (lastKnownPosition) {\n this.fire('position.changed', { position: lastKnownPosition });\n }\n }\n\n stop() {\n if (!this._started) {\n return;\n }\n this._started = false;\n\n /**\n * Attitude\n */\n\n AbsoluteAttitudeProvider.removeEventListener(this.attitudeProviderId);\n\n\n /**\n * Position\n */\n\n AbsolutePositionProvider.removeEventListener(this.positionProviderId);\n\n this.smoother!.clear();\n this.smoother = null;\n }\n}\n"],"names":["global","this","t","e","r","n","i","a","o","s","u","l","p","c","h","f","y","d","m","v","g","x","b","w","_","A","S","k","I","z","C","E","P","B","M","T","V","F","D","L","O","R","U","K","j","q","N","G","Z","X","J","H","Y","$","W","Q","tt","et","rt","nt","it","at","ot","st","ut","lt","__defProp","__defNormalProp","__publicField","_ContainsIgnoredProviderError","_Provider","_AskImuOnDesktopError","_MissingSensorError","_GeolocationApiMissingError","_GeolocationPermissionDeniedError","_GeolocationPositionUnavailableError","_GnssWifiProvider","_MissingArCoreError","_MissingNativeInterfaceError","_ArCoreProvider","_MissingAccelerometerError","_RelativeAttitudeFromEkf","_RelativeAttitudeFromBrowser","_HighRotationsProvider","_RelativeAttitudeFromInertial","_StepDetectionLadetto","_StepDetectionMinMaxPeaks","_StepDetectionMinMaxPeaks2","_StepDetectionMinMaxPeaks3","_StepProvider","_MissingPoleStarError","_VpsProvider","_AbsolutePositionProvider","_AbsoluteAttitudeProvider","_TurnProvider","_StraightLineProvider","_MapMatchingHandler","_PositionSmoother","_AttitudeSmoother","_IpResolveServerError","Evented","AbsoluteAttitudeProvider","AbsolutePositionProvider"],"mappings":"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","x_google_ignoreList":[0]}