From 3c5e8f2193024c7c5c63d1c1db7530432cdfac09 Mon Sep 17 00:00:00 2001 From: Gavin Rehkemper Date: Tue, 17 Oct 2023 10:20:19 -0500 Subject: [PATCH] build 4.2.0 --- dist/esri-leaflet-vector-debug.js | 1075 +++++++++++++++++++++++++ dist/esri-leaflet-vector-debug.js.map | 1 + dist/esri-leaflet-vector.js | 5 + dist/esri-leaflet-vector.js.map | 1 + dist/siteData.json | 1 + 5 files changed, 1083 insertions(+) create mode 100644 dist/esri-leaflet-vector-debug.js create mode 100644 dist/esri-leaflet-vector-debug.js.map create mode 100644 dist/esri-leaflet-vector.js create mode 100644 dist/esri-leaflet-vector.js.map create mode 100644 dist/siteData.json diff --git a/dist/esri-leaflet-vector-debug.js b/dist/esri-leaflet-vector-debug.js new file mode 100644 index 0000000..109cac6 --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js @@ -0,0 +1,1075 @@ +/* esri-leaflet-vector - v4.2.0 - Tue Oct 17 2023 10:19:48 GMT-0500 (Central Daylight Time) + * Copyright (c) 2023 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('esri-leaflet'), require('leaflet'), require('maplibre-gl')) : + typeof define === 'function' && define.amd ? define(['exports', 'esri-leaflet', 'leaflet', 'maplibre-gl'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.L = global.L || {}, global.L.esri = global.L.esri || {}, global.L.esri.Vector = {}), global.L.esri, global.L, global.maplibregl)); +})(this, (function (exports, esriLeaflet, leaflet, maplibregl) { 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var maplibregl__default = /*#__PURE__*/_interopDefaultLegacy(maplibregl); + + var name = "esri-leaflet-vector"; + var description = "Esri vector basemap and vector tile layer plugin for Leaflet."; + var version$1 = "4.2.0"; + var author = "John Gravois (https://johngravois.com)"; + var contributors = [ + "Patrick Arlt (http://patrickarlt.com)", + "Gavin Rehkemper (https://gavinr.com)", + "Jacob Wasilkowski (https://jwasilgeo.github.io)" + ]; + var bugs = { + url: "https://github.com/Esri/esri-leaflet-vector/issues" + }; + var peerDependencies = { + "esri-leaflet": ">2.3.0", + leaflet: "^1.5.0", + "maplibre-gl": "^2.2.1" + }; + var devDependencies = { + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.1", + "@rollup/plugin-terser": "^0.3.0", + chai: "4.3.7", + "chokidar-cli": "^3.0.0", + eslint: "^7.13.0", + "eslint-config-semistandard": "^15.0.1", + "eslint-config-standard": "^15.0.1", + "eslint-plugin-chai-friendly": "^0.6.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^4.1.0", + "esri-leaflet": "^3.0.0", + "gh-release": "^7.0.2", + "http-server": "^14.1.1", + karma: "^6.4.1", + "karma-chrome-launcher": "^3.1.0", + "karma-coverage": "^2.2.0", + "karma-edgium-launcher": "github:matracey/karma-edgium-launcher", + "karma-firefox-launcher": "^2.1.2", + "karma-mocha": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-safari-launcher": "~1.0.0", + "karma-sinon-chai": "^2.0.2", + "karma-sourcemap-loader": "^0.3.8", + leaflet: "^1.5.0", + mkdirp: "^2.1.3", + mocha: "^10.2.0", + "npm-run-all": "^4.1.5", + rollup: "^2.79.1", + semistandard: "^16.0.0", + sinon: "^15.0.1", + "sinon-chai": "3.7.0", + snazzy: "^9.0.0" + }; + var files = [ + "src/**/*.js", + "dist/*.js", + "dist/*.js.map", + "dist/*.json", + "index.d.ts" + ]; + var homepage = "https://github.com/Esri/esri-leaflet-vector#readme"; + var jspm = { + registry: "npm", + format: "es6", + main: "src/EsriLeafletVector.js" + }; + var keywords = [ + "maplibre", + "arcgis", + "leaflet", + "leafletjs", + "maps" + ]; + var license = "Apache-2.0"; + var main = "dist/esri-leaflet-vector-debug.js"; + var module = "src/EsriLeafletVector.js"; + var browser = "dist/esri-leaflet-vector-debug.js"; + var types = "index.d.ts"; + var readmeFilename = "README.md"; + var repository = { + type: "git", + url: "git+https://github.com/Esri/esri-leaflet-vector.git" + }; + var scripts = { + prebuild: "mkdirp dist", + build: "rollup -c profiles/debug.js & rollup -c profiles/production.js", + "build-dev": "rollup -c profiles/debug.js", + fix: "semistandard --fix", + lint: "eslint src/**/*.js", + "start-watch": "chokidar src -c \"npm run build\"", + "start-watch-dev": "chokidar src -c \"npm run build-dev\"", + start: "run-p start-watch serve", + "start-dev": "run-p start-watch-dev serve", + dev: "npm run start-dev", + serve: "http-server -p 8765 -c-1 -o", + pretest: "npm run build-dev", + test: "npm run lint && karma start", + release: "./scripts/release.sh" + }; + var semistandard = { + globals: [ + "expect", + "L", + "XMLHttpRequest", + "sinon", + "xhr", + "proj4" + ] + }; + var packageInfo = { + name: name, + description: description, + version: version$1, + author: author, + contributors: contributors, + bugs: bugs, + peerDependencies: peerDependencies, + devDependencies: devDependencies, + files: files, + homepage: homepage, + "jsnext:main": "src/EsriLeafletVector.js", + jspm: jspm, + keywords: keywords, + license: license, + main: main, + module: module, + browser: browser, + types: types, + readmeFilename: readmeFilename, + repository: repository, + scripts: scripts, + semistandard: semistandard + }; + + /* + utility to establish a URL for the basemap styles API + used primarily by VectorBasemapLayer.js + */ + function getBasemapStyleUrl (style, apikey) { + if (style.includes('/')) { + throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style'); + } + + let url = + 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' + + style + + '?type=style'; + if (apikey) { + url = url + '&token=' + apikey; + } + return url; + } + + function getBasemapStyleV2Url (style, apikey, language) { + if (style.includes(':')) { + throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style'); + } + + let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/'; + if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) { + // style is an itemID + url = url + 'items/' + style; + + if (language) { + throw new Error('The \'language\' parameter is not supported for custom basemap styles'); + } + } else { + url = url + style; + } + + if (apikey) { + url = url + '?token=' + apikey; + + if (language) { + url = url + '&language=' + language; + } + } + return url; + } + /* + utilities to communicate with custom user styles via an ITEM ID or SERVICE URL + used primarily by VectorTileLayer.js + */ + function loadStyle (idOrUrl, options, callback) { + const httpRegex = /^https?:\/\//; + const serviceRegex = /\/VectorTileServer\/?$/; + + if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) { + const serviceUrl = idOrUrl; + loadStyleFromService(serviceUrl, options, callback); + } else { + const itemId = idOrUrl; + loadStyleFromItem(itemId, options, callback); + } + } + + function loadService (serviceUrl, options, callback) { + const params = options.token ? { token: options.token } : {}; + esriLeaflet.request(serviceUrl, params, callback); + } + + function loadItem (itemId, options, callback) { + const params = options.token ? { token: options.token } : {}; + const url = options.portalUrl + '/sharing/rest/content/items/' + itemId; + esriLeaflet.request(url, params, callback); + } + + function loadStyleFromItem (itemId, options, callback) { + const itemStyleUrl = + options.portalUrl + + '/sharing/rest/content/items/' + + itemId + + '/resources/styles/root.json'; + + loadStyleFromUrl(itemStyleUrl, options, function (error, style) { + if (error) { + loadItem(itemId, options, function (error, item) { + if (error) { + callback(error); + return; + } + loadStyleFromService(item.url, options, callback); + }); + } else { + loadItem(itemId, options, function (error, item) { + if (error) { + callback(error); + return; + } + loadService(item.url, options, function (error, service) { + callback(error, style, itemStyleUrl, service, item.url); + }); + }); + } + }); + } + + function loadStyleFromService (serviceUrl, options, callback) { + loadService(serviceUrl, options, function (error, service) { + if (error) { + callback(error); + return; + } + + let sanitizedServiceUrl = serviceUrl; + // a trailing "/" may create invalid paths + if (serviceUrl.charAt(serviceUrl.length - 1) === '/') { + sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1); + } + + let defaultStylesUrl; + // inadvertently inserting more than 1 adjacent "/" may create invalid paths + if (service.defaultStyles.charAt(0) === '/') { + defaultStylesUrl = + sanitizedServiceUrl + service.defaultStyles + '/root.json'; + } else { + defaultStylesUrl = + sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json'; + } + + loadStyleFromUrl(defaultStylesUrl, options, function (error, style) { + if (error) { + callback(error); + return; + } + callback(null, style, defaultStylesUrl, service, serviceUrl); + }); + }); + } + + function loadStyleFromUrl (styleUrl, options, callback) { + const params = options.token ? { token: options.token } : {}; + esriLeaflet.request(styleUrl, params, callback); + } + + function isSameTLD (url1, url2) { + return (new URL(url1)).hostname === (new URL(url2)).hostname; + } + + function formatStyle (style, styleUrl, metadata, token) { + // transforms style object in place and also returns it + + // modify each source in style.sources + const sourcesKeys = Object.keys(style.sources); + for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) { + const source = style.sources[sourcesKeys[sourceIndex]]; + + // if a relative path is referenced, the default style can be found in a standard location + if (source.url.indexOf('http') === -1) { + source.url = styleUrl.replace('/resources/styles/root.json', ''); + } + + // a trailing "/" may create invalid paths + if (source.url.charAt(source.url.length - 1) === '/') { + source.url = source.url.slice(0, source.url.length - 1); + } + + // add tiles property if missing + if (!source.tiles) { + // right now ArcGIS Pro published vector services have a slightly different signature + // the '/' is needed in the URL string concatenation below for source.tiles + if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') { + metadata.tiles[0] = '/' + metadata.tiles[0]; + } + + source.tiles = [source.url + metadata.tiles[0]]; + } + + // some VectorTileServer endpoints may default to returning f=html, + // specify f=json to account for that behavior + source.url += '?f=json'; + + // add the token to the source url and tiles properties as a query param + source.url += token ? '&token=' + token : ''; + source.tiles[0] += token ? '?token=' + token : ''; + // add minzoom and maxzoom to each source based on the service metadata + // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too + // MapLibre will overzoom for LODs that are not cooked + source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level; + source.maxzoom = + metadata.maxLOD || + metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level; + } + + // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata + const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]]; + lastSource.attribution = metadata.copyrightText || ''; + lastSource.copyrightText = metadata.copyrightText || ''; + + // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first + for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) { + const layer = style.layers[layerIndex]; + if ( + layer.layout && + layer.layout['text-font'] && + layer.layout['text-font'].length > 1 + ) { + layer.layout['text-font'] = [layer.layout['text-font'][0]]; + } + } + + if (style.sprite && style.sprite.indexOf('http') === -1) { + // resolve absolute URL for style.sprite + style.sprite = styleUrl.replace( + 'styles/root.json', + style.sprite.replace('../', '') + ); + } + if (style.sprite && token) { + // add the token to the style.sprite property as a query param, only if same domain (for token security) + if (isSameTLD(styleUrl, style.sprite)) { + style.sprite += '?token=' + token; + } else { + console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.'); + } + } + + if (style.glyphs && style.glyphs.indexOf('http') === -1) { + // resolve absolute URL for style.glyphs + style.glyphs = styleUrl.replace( + 'styles/root.json', + style.glyphs.replace('../', '') + ); + } + + if (style.glyphs && token) { + // add the token to the style.glyphs property as a query param + if (isSameTLD(styleUrl, style.glyphs)) { + style.glyphs += '?token=' + token; + } else { + console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.'); + } + } + + return style; + } + + /* + utility to assist with dynamic attribution data + used primarily by VectorBasemapLayer.js + */ + function getAttributionData (url, map) { + if (esriLeaflet.Support.cors) { + esriLeaflet.request(url, {}, function (error, attributions) { + if (error) { + return; + } + map._esriAttributions = map._esriAttributions || []; + for (let c = 0; c < attributions.contributors.length; c++) { + const contributor = attributions.contributors[c]; + + for (let i = 0; i < contributor.coverageAreas.length; i++) { + const coverageArea = contributor.coverageAreas[i]; + const southWest = leaflet.latLng(coverageArea.bbox[0], coverageArea.bbox[1]); + const northEast = leaflet.latLng(coverageArea.bbox[2], coverageArea.bbox[3]); + map._esriAttributions.push({ + attribution: contributor.attribution, + score: coverageArea.score, + bounds: leaflet.latLngBounds(southWest, northEast), + minZoom: coverageArea.zoomMin, + maxZoom: coverageArea.zoomMax + }); + } + } + + map._esriAttributions.sort(function (a, b) { + return b.score - a.score; + }); + + // pass the same argument as the map's 'moveend' event + const obj = { target: map }; + esriLeaflet.Util._updateMapAttribution(obj); + }); + } + } + + /* + utility to check if a service's tileInfo spatial reference is in Web Mercator + used primarily by VectorTileLayer.js + */ + const WEB_MERCATOR_WKIDS = [3857, 102100, 102113]; + + function isWebMercator (wkid) { + return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0; + } + + var EsriUtil = { + formatStyle: formatStyle + }; + + var MaplibreGLJSLayer = leaflet.Layer.extend({ + options: { + updateInterval: 32, + // How much to extend the overlay view (relative to map size) + // e.g. 0.1 would be 10% of map view in each direction + padding: 0.1, + // whether or not to register the mouse and keyboard + // events on the mapbox overlay + interactive: false, + // set the tilepane as the default pane to draw gl tiles + pane: 'tilePane' + }, + + initialize: function (options) { + leaflet.setOptions(this, options); + + // setup throttling the update event when panning + this._throttledUpdate = leaflet.Util.throttle( + this._update, + this.options.updateInterval, + this + ); + }, + + onAdd: function (map) { + if (!this._container) { + this._initContainer(); + } + + const paneName = this.getPaneName(); + map.getPane(paneName).appendChild(this._container); + + this._initGL(); + + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47 + if (map.options.zoomAnimation) { + leaflet.DomEvent.on( + map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + }, + + onRemove: function (map) { + if (this._map._proxy && this._map.options.zoomAnimation) { + leaflet.DomEvent.off( + this._map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + + const paneName = this.getPaneName(); + + map.getPane(paneName).removeChild(this._container); + this._container = null; + + this._glMap.remove(); + this._glMap = null; + }, + + getEvents: function () { + return { + move: this._throttledUpdate, // sensibly throttle updating while panning + zoomanim: this._animateZoom, // applys the zoom animation to the + zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming + zoomstart: this._zoomStart, // flag starting a zoom to disable panning + zoomend: this._zoomEnd, + resize: this._resize + }; + }, + + getMaplibreMap: function () { + return this._glMap; + }, + + getCanvas: function () { + return this._glMap.getCanvas(); + }, + + getSize: function () { + return this._map.getSize().multiplyBy(1 + this.options.padding * 2); + }, + + getOpacity: function () { + return this.options.opacity; + }, + + setOpacity: function (opacity) { + this.options.opacity = opacity; + this._container.style.opacity = opacity; + }, + + getBounds: function () { + const halfSize = this.getSize().multiplyBy(0.5); + const center = this._map.latLngToContainerPoint(this._map.getCenter()); + return leaflet.latLngBounds( + this._map.containerPointToLatLng(center.subtract(halfSize)), + this._map.containerPointToLatLng(center.add(halfSize)) + ); + }, + + getContainer: function () { + return this._container; + }, + + // returns the pane name set in options if it is a valid pane, defaults to tilePane + getPaneName: function () { + return this._map.getPane(this.options.pane) + ? this.options.pane + : 'tilePane'; + }, + + _initContainer: function () { + if (this._container) { + return; + } + + this._container = leaflet.DomUtil.create('div', 'leaflet-gl-layer'); + + const size = this.getSize(); + const offset = this._map.getSize().multiplyBy(this.options.padding); + this._container.style.width = size.x + 'px'; + this._container.style.height = size.y + 'px'; + + const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(this._container, topLeft); + }, + + _initGL: function () { + if (this._glMap) { + return; + } + + const center = this._map.getCenter(); + + const options = leaflet.extend({}, this.options, { + container: this._container, + center: [center.lng, center.lat], + zoom: this._map.getZoom() - 1, + attributionControl: false + }); + + this._glMap = new maplibregl__default["default"].Map(options); + + // Fire event for Maplibre "styledata" event. + this._glMap.once( + 'styledata', + function (res) { + this.fire('styleLoaded'); + }.bind(this) + ); + + // allow GL base map to pan beyond min/max latitudes + this._glMap.transform.latRange = null; + this._glMap.transform.maxValidLatitude = Infinity; + + this._transformGL(this._glMap); + + if (this._glMap._canvas.canvas) { + // older versions of mapbox-gl surfaced the canvas differently + this._glMap._actualCanvas = this._glMap._canvas.canvas; + } else { + this._glMap._actualCanvas = this._glMap._canvas; + } + + // treat child element like L.ImageOverlay + const canvas = this._glMap._actualCanvas; + leaflet.DomUtil.addClass(canvas, 'leaflet-image-layer'); + leaflet.DomUtil.addClass(canvas, 'leaflet-zoom-animated'); + if (this.options.interactive) { + leaflet.DomUtil.addClass(canvas, 'leaflet-interactive'); + } + if (this.options.className) { + leaflet.DomUtil.addClass(canvas, this.options.className); + } + }, + + _update: function (e) { + // update the offset so we can correct for it later when we zoom + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + if (this._zooming) { + return; + } + + const size = this.getSize(); + const container = this._container; + const gl = this._glMap; + const offset = this._map.getSize().multiplyBy(this.options.padding); + const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(container, topLeft); + + this._transformGL(gl); + + if (gl.transform.width !== size.x || gl.transform.height !== size.y) { + container.style.width = size.x + 'px'; + container.style.height = size.y + 'px'; + if (gl._resize !== null && gl._resize !== undefined) { + gl._resize(); + } else { + gl.resize(); + } + } else { + // older versions of mapbox-gl surfaced update publicly + if (gl._update !== null && gl._update !== undefined) { + gl._update(); + } else { + gl.update(); + } + } + }, + + _transformGL: function (gl) { + const center = this._map.getCenter(); + + // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0); + // calling setView directly causes sync issues because it uses requestAnimFrame + + const tr = gl.transform; + tr.center = maplibregl__default["default"].LngLat.convert([center.lng, center.lat]); + tr.zoom = this._map.getZoom() - 1; + }, + + // update the map constantly during a pinch zoom + _pinchZoom: function (e) { + this._glMap.jumpTo({ + zoom: this._map.getZoom() - 1, + center: this._map.getCenter() + }); + }, + + // borrowed from L.ImageOverlay + // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144 + _animateZoom: function (e) { + const scale = this._map.getZoomScale(e.zoom); + const padding = this._map.getSize().multiplyBy(this.options.padding * scale); + const viewHalf = this.getSize()._divideBy(2); + // corrections for padding (scaled), adapted from + // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508 + const topLeft = this._map + .project(e.center, e.zoom) + ._subtract(viewHalf) + ._add(this._map._getMapPanePos().add(padding)) + ._round(); + const offset = this._map + .project(this._map.getBounds().getNorthWest(), e.zoom) + ._subtract(topLeft); + + leaflet.DomUtil.setTransform( + this._glMap._actualCanvas, + offset.subtract(this._offset), + scale + ); + }, + + _zoomStart: function (e) { + this._zooming = true; + }, + + _zoomEnd: function () { + const scale = this._map.getZoomScale(this._map.getZoom()); + + leaflet.DomUtil.setTransform(this._glMap._actualCanvas, null, scale); + + this._zooming = false; + + this._update(); + }, + + _transitionEnd: function (e) { + leaflet.Util.requestAnimFrame(function () { + const zoom = this._map.getZoom(); + const center = this._map.getCenter(); + const offset = this._map.latLngToContainerPoint( + this._map.getBounds().getNorthWest() + ); + + // reset the scale and offset + leaflet.DomUtil.setTransform(this._glMap._actualCanvas, offset, 1); + + // enable panning once the gl map is ready again + this._glMap.once( + 'moveend', + leaflet.Util.bind(function () { + this._zoomEnd(); + }, this) + ); + + // update the map position + this._glMap.jumpTo({ + center: center, + zoom: zoom - 1 + }); + }, this); + } + }); + + function maplibreGLJSLayer (options) { + return new MaplibreGLJSLayer(options); + } + + var VectorTileLayer = leaflet.Layer.extend({ + options: { + // if portalUrl is not provided, default to ArcGIS Online + portalUrl: 'https://www.arcgis.com', + // for performance optimization default to `false` + // set to `true` to resolve printing issues in Firefox + preserveDrawingBuffer: false + }, + + /** + * Populates "this.options" to be used in the rest of the module and creates the layer instance. + * + * @param {string} key an ITEM ID or SERVICE URL + * @param {object} options optional + */ + initialize: function (key, options) { + if (options) { + leaflet.setOptions(this, options); + } + + // support outdated casing apiKey of apikey + if (this.options.apiKey) { + this.options.apikey = this.options.apiKey; + } + + // if apiKey is passed in, propagate to token + // if token is passed in, propagate to apiKey + if (this.options.apikey) { + this.options.token = this.options.apikey; + } else if (this.options.token) { + this.options.apikey = this.options.token; + } + + // if no key passed in + if (!key) { + throw new Error( + 'An ITEM ID or SERVICE URL is required for vectorTileLayer.' + ); + } + + // set key onto "this.options" for use elsewhere in the module. + if (key) { + this.options.key = key; + } + + // this.options has been set, continue on to create the layer: + this._createLayer(); + }, + + /** + * Creates the maplibreGLJSLayer given using "this.options" + */ + _createLayer: function () { + loadStyle( + this.options.key, + this.options, + function (error, style, styleUrl, service) { + if (error) { + this.fire('load-error', { + value: error + }); + return; + } + + if (!isWebMercator(service.tileInfo.spatialReference.wkid)) { + console.warn( + 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:', + service.tileInfo.spatialReference, + '\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.' + ); + } + + // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer + style = formatStyle(style, styleUrl, service, this.options.token); + + this._createMaplibreLayer(style); + }.bind(this) + ); + }, + + _setupAttribution: function () { + // if a custom attribution was not provided in the options, + // then attempt to rely on the attribution of the last source in the style object + // and add it to the map's attribution control + // (otherwise it would have already been added by leaflet to the attribution control) + if (!this.getAttribution()) { + const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources; + const sourcesKeys = Object.keys(sources); + this.options.attribution = + sources[sourcesKeys[sourcesKeys.length - 1]].attribution; + if (this._map && this._map.attributionControl) { + // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control + this._map.attributionControl.addAttribution(this.getAttribution()); + } + } + }, + + _createMaplibreLayer: function (style) { + this._maplibreGL = maplibreGLJSLayer({ + style: style, + pane: this.options.pane, + opacity: this.options.opacity, + preserveDrawingBuffer: this.options.preserveDrawingBuffer + }); + + this._ready = true; + this.fire('ready', {}, true); + + this._maplibreGL.on('styleLoaded', function () { + this._setupAttribution(); + // additionally modify the style object with the user's optional style override function + if (this.options.style && typeof this.options.style === 'function') { + this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle())); + } + }.bind(this)); + }, + + onAdd: function (map) { + this._map = map; + + if (this._ready) { + this._asyncAdd(); + } else { + this.once( + 'ready', + function () { + this._asyncAdd(); + }, + this + ); + } + }, + + onRemove: function (map) { + map.removeLayer(this._maplibreGL); + }, + + _asyncAdd: function () { + const map = this._map; + this._maplibreGL.addTo(map, this); + } + }); + + function vectorTileLayer (key, options) { + return new VectorTileLayer(key, options); + } + + var VectorBasemapLayer = VectorTileLayer.extend({ + /** + * Populates "this.options" to be used in the rest of the module. + * + * @param {string} key + * @param {object} options optional + */ + initialize: function (key, options) { + // Default to the v1 service endpoint + if (!options.version) { + if (key.includes('/')) options.version = 2; + else options.version = 1; + } + if (!key) { + // Default style enum if none provided + key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets'; + } + // If no API Key or token is provided (support outdated casing apiKey of apikey) + if (!(options.apikey || options.apiKey || options.token)) { + throw new Error('An API Key or token is required for vectorBasemapLayer.'); + } + // Validate language param + if (options.language) { + if (options.version !== 2) { + throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.'); + } + } + // Determine layer order + if (!options.pane) { + if (key.includes(':Label') || key.includes('/label')) { + options.pane = 'esri-labels'; + } else if (key.includes(':Detail') || key.includes('/detail')) { + options.pane = 'esri-detail'; + } else { + // Create layer in the tilePane by default + options.pane = 'tilePane'; + } + } + + // Options has been configured, continue on to create the layer: + VectorTileLayer.prototype.initialize.call(this, key, options); + }, + + /** + * Creates the maplibreGLJSLayer using "this.options" + */ + _createLayer: function () { + let styleUrl; + if (this.options.version && this.options.version === 2) { + styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, this.options.language); + } else { + styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey); + } + this._createMaplibreLayer(styleUrl); + }, + + _setupAttribution: function () { + // Set attribution + esriLeaflet.Util.setEsriAttribution(this._map); + + if (this.options.key.length === 32) { + // this is an itemId + const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources; + const allAttributions = []; + Object.keys(sources).forEach(function (key) { + allAttributions.push(sources[key].attribution); + if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) { + allAttributions.push(sources[key].copyrightText); + } + }); + + this._map.attributionControl.addAttribution('' + allAttributions.join(', ') + ''); + } else { + // this is an enum + if (!this.options.attributionUrls) { + this.options.attributionUrls = this._getAttributionUrls(this.options.key); + } + + if (this._map && this.options.attributionUrls) { + if (this._map.attributionControl) { + for ( + let index = 0; + index < this.options.attributionUrls.length; + index++ + ) { + const attributionUrl = this.options.attributionUrls[index]; + getAttributionData(attributionUrl, this._map); + } + + this._map.attributionControl.addAttribution( + '' + ); + } + esriLeaflet.Util._updateMapAttribution({ target: this._map }); + } + } + }, + + /** + * Given a key, return the attribution url(s). + * @param {string} key + */ + _getAttributionUrls: function (key) { + if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) { + return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2']; + } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) { + return [ + 'https://static.arcgis.com/attribution/World_Imagery', + 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2' + ]; + } + + // default: + return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2']; + }, + + _initPane: function () { + if (!this._map.getPane(this.options.pane)) { + const pane = this._map.createPane(this.options.pane); + pane.style.pointerEvents = 'none'; + + let zIndex = 500; + if (this.options.pane === 'esri-detail') { + zIndex = 250; + } else if (this.options.pane === 'esri-labels') { + zIndex = 300; + } + pane.style.zIndex = zIndex; + } + }, + + onRemove: function (map) { + map.off('moveend', esriLeaflet.Util._updateMapAttribution); + map.removeLayer(this._maplibreGL); + + if (map.attributionControl) { + const element = document.getElementsByClassName('esri-dynamic-attribution'); + + if (element && element.length > 0) { + const vectorAttribution = element[0].outerHTML; + // this doesn't work, not sure why. + map.attributionControl.removeAttribution(vectorAttribution); + } + } + }, + + _asyncAdd: function () { + const map = this._map; + this._initPane(); + map.on('moveend', esriLeaflet.Util._updateMapAttribution); + this._maplibreGL.addTo(map, this); + } + }); + + function vectorBasemapLayer (key, options) { + return new VectorBasemapLayer(key, options); + } + + // export version + const version = packageInfo.version; + + exports.MaplibreGLJSLayer = MaplibreGLJSLayer; + exports.Util = EsriUtil; + exports.VERSION = version; + exports.VectorBasemapLayer = VectorBasemapLayer; + exports.VectorTileLayer = VectorTileLayer; + exports.maplibreGLJSLayer = maplibreGLJSLayer; + exports.vectorBasemapLayer = vectorBasemapLayer; + exports.vectorTileLayer = vectorTileLayer; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=esri-leaflet-vector-debug.js.map diff --git a/dist/esri-leaflet-vector-debug.js.map b/dist/esri-leaflet-vector-debug.js.map new file mode 100644 index 0000000..edfc81a --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector-debug.js","sources":["../src/Util.js","../src/MaplibreGLLayer.js","../src/VectorTileLayer.js","../src/VectorBasemapLayer.js","../src/EsriLeafletVector.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (style, apikey) {\r\n if (style.includes('/')) {\r\n throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style');\r\n }\r\n\r\n let url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n style +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&token=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\nexport function getBasemapStyleV2Url (style, apikey, language) {\r\n if (style.includes(':')) {\r\n throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style');\r\n }\r\n\r\n let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/';\r\n if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) {\r\n // style is an itemID\r\n url = url + 'items/' + style;\r\n\r\n if (language) {\r\n throw new Error('The \\'language\\' parameter is not supported for custom basemap styles');\r\n }\r\n } else {\r\n url = url + style;\r\n }\r\n\r\n if (apikey) {\r\n url = url + '?token=' + apikey;\r\n\r\n if (language) {\r\n url = url + '&language=' + language;\r\n }\r\n }\r\n return url;\r\n}\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n const httpRegex = /^https?:\\/\\//;\r\n const serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n const serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n const itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n const url = options.portalUrl + '/sharing/rest/content/items/' + itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n const itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n\r\n let sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n let defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nfunction isSameTLD (url1, url2) {\r\n return (new URL(url1)).hostname === (new URL(url2)).hostname;\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n const sourcesKeys = Object.keys(style.sources);\r\n for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n const source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too\r\n // MapLibre will overzoom for LODs that are not cooked\r\n source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.maxLOD ||\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n const layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n }\r\n if (style.sprite && token) {\r\n // add the token to the style.sprite property as a query param, only if same domain (for token security)\r\n if (isSameTLD(styleUrl, style.sprite)) {\r\n style.sprite += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n }\r\n\r\n if (style.glyphs && token) {\r\n // add the token to the style.glyphs property as a query param\r\n if (isSameTLD(styleUrl, style.glyphs)) {\r\n style.glyphs += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (let c = 0; c < attributions.contributors.length; c++) {\r\n const contributor = attributions.contributors[c];\r\n\r\n for (let i = 0; i < contributor.coverageAreas.length; i++) {\r\n const coverageArea = contributor.coverageAreas[i];\r\n const southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n const northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n const obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n\r\nexport var EsriUtil = {\r\n formatStyle: formatStyle\r\n};\r\n\r\nexport default EsriUtil;\r\n","import {\r\n DomEvent,\r\n DomUtil,\r\n extend,\r\n latLngBounds,\r\n Layer,\r\n setOptions,\r\n Util\r\n} from 'leaflet';\r\nimport maplibregl from 'maplibre-gl';\r\n\r\nexport var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n\r\n map.getPane(paneName).removeChild(this._container);\r\n this._container = null;\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applys the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n const halfSize = this.getSize().multiplyBy(0.5);\r\n const center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane)\r\n ? this.options.pane\r\n : 'tilePane';\r\n },\r\n\r\n _initContainer: function () {\r\n if (this._container) {\r\n return;\r\n }\r\n\r\n this._container = DomUtil.create('div', 'leaflet-gl-layer');\r\n\r\n const size = this.getSize();\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n this._container.style.width = size.x + 'px';\r\n this._container.style.height = size.y + 'px';\r\n\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(this._container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n if (this._glMap) {\r\n return;\r\n }\r\n\r\n const center = this._map.getCenter();\r\n\r\n const options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once(\r\n 'styledata',\r\n function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this)\r\n );\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n const canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n const size = this.getSize();\r\n const container = this._container;\r\n const gl = this._glMap;\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n const center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n const tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n const scale = this._map.getZoomScale(e.zoom);\r\n const padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n const viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n const topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n const offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n const scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(this._glMap._actualCanvas, null, scale);\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n const zoom = this._map.getZoom();\r\n const center = this._map.getCenter();\r\n const offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com',\r\n // for performance optimization default to `false`\r\n // set to `true` to resolve printing issues in Firefox\r\n preserveDrawingBuffer: false\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, propagate to token\r\n // if token is passed in, propagate to apiKey\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n } else if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error(\r\n 'An ITEM ID or SERVICE URL is required for vectorTileLayer.'\r\n );\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n this.fire('load-error', {\r\n value: error\r\n });\r\n return;\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n this._createMaplibreLayer(style);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n _setupAttribution: function () {\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const sourcesKeys = Object.keys(sources);\r\n this.options.attribution =\r\n sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n },\r\n\r\n _createMaplibreLayer: function (style) {\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity,\r\n preserveDrawingBuffer: this.options.preserveDrawingBuffer\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function () {\r\n this._setupAttribution();\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n","import { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData, getBasemapStyleV2Url } from './Util';\r\nimport { VectorTileLayer } from './VectorTileLayer';\r\n\r\nexport var VectorBasemapLayer = VectorTileLayer.extend({\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n // Default to the v1 service endpoint\r\n if (!options.version) {\r\n if (key.includes('/')) options.version = 2;\r\n else options.version = 1;\r\n }\r\n if (!key) {\r\n // Default style enum if none provided\r\n key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets';\r\n }\r\n // If no API Key or token is provided (support outdated casing apiKey of apikey)\r\n if (!(options.apikey || options.apiKey || options.token)) {\r\n throw new Error('An API Key or token is required for vectorBasemapLayer.');\r\n }\r\n // Validate language param\r\n if (options.language) {\r\n if (options.version !== 2) {\r\n throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n }\r\n // Determine layer order\r\n if (!options.pane) {\r\n if (key.includes(':Label') || key.includes('/label')) {\r\n options.pane = 'esri-labels';\r\n } else if (key.includes(':Detail') || key.includes('/detail')) {\r\n options.pane = 'esri-detail';\r\n } else {\r\n // Create layer in the tilePane by default\r\n options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n // Options has been configured, continue on to create the layer:\r\n VectorTileLayer.prototype.initialize.call(this, key, options);\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n let styleUrl;\r\n if (this.options.version && this.options.version === 2) {\r\n styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, this.options.language);\r\n } else {\r\n styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n }\r\n this._createMaplibreLayer(styleUrl);\r\n },\r\n\r\n _setupAttribution: function () {\r\n // Set attribution\r\n Util.setEsriAttribution(this._map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n this._map.attributionControl.addAttribution('' + allAttributions.join(', ') + '');\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, this._map);\r\n }\r\n\r\n this._map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n _initPane: function () {\r\n if (!this._map.getPane(this.options.pane)) {\r\n const pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n\r\n let zIndex = 500;\r\n if (this.options.pane === 'esri-detail') {\r\n zIndex = 250;\r\n } else if (this.options.pane === 'esri-labels') {\r\n zIndex = 300;\r\n }\r\n pane.style.zIndex = zIndex;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n const element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n const vectorAttribution = element[0].outerHTML;\r\n // this doesn't work, not sure why.\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._initPane();\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","// export version\r\nimport packageInfo from '../package.json';\r\nconst version = packageInfo.version;\r\nexport { version as VERSION };\r\n\r\nexport { VectorBasemapLayer, vectorBasemapLayer } from './VectorBasemapLayer';\r\nexport { VectorTileLayer, vectorTileLayer } from './VectorTileLayer';\r\nexport { EsriUtil as Util } from './Util';\r\nexport { MaplibreGLJSLayer, maplibreGLJSLayer } from './MaplibreGLLayer';\r\n"],"names":["request","Support","latLng","latLngBounds","Util","Layer","setOptions","DomEvent","DomUtil","extend","maplibregl"],"mappings":"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"} \ No newline at end of file diff --git a/dist/esri-leaflet-vector.js b/dist/esri-leaflet-vector.js new file mode 100644 index 0000000..52fb4c9 --- /dev/null +++ b/dist/esri-leaflet-vector.js @@ -0,0 +1,5 @@ +/* esri-leaflet-vector - v4.2.0 - Tue Oct 17 2023 10:19:48 GMT-0500 (Central Daylight Time) + * Copyright (c) 2023 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("esri-leaflet"),require("leaflet")):"function"==typeof define&&define.amd?define(["exports","esri-leaflet","leaflet"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).L=t.L||{},t.L.esri=t.L.esri||{},t.L.esri.Vector={}),t.L.esri,t.L)}(this,(function(t,e,i){"use strict";var r="4.2.0";function n(t,e,i){if(/^https?:\/\//.test(t)&&/\/VectorTileServer\/?$/.test(t)){a(t,e,i)}else{!function(t,e,i){const r=e.portalUrl+"/sharing/rest/content/items/"+t+"/resources/styles/root.json";l(r,e,(function(n,l){o(t,e,n?function(t,r){t?i(t):a(r.url,e,i)}:function(t,n){t?i(t):s(n.url,e,(function(t,e){i(t,l,r,e,n.url)}))})}))}(t,e,i)}}function s(t,i,r){const n=i.token?{token:i.token}:{};e.request(t,n,r)}function o(t,i,r){const n=i.token?{token:i.token}:{},s=i.portalUrl+"/sharing/rest/content/items/"+t;e.request(s,n,r)}function a(t,e,i){s(t,e,(function(r,n){if(r)return void i(r);let s,o=t;"/"===t.charAt(t.length-1)&&(o=t.slice(0,t.length-1)),s="/"===n.defaultStyles.charAt(0)?o+n.defaultStyles+"/root.json":o+"/"+n.defaultStyles+"/root.json",l(s,e,(function(e,r){e?i(e):i(null,r,s,n,t)}))}))}function l(t,i,r){const n=i.token?{token:i.token}:{};e.request(t,n,r)}function c(t,e){return new URL(t).hostname===new URL(e).hostname}function h(t,e,i,r){const n=Object.keys(t.sources);for(let s=0;s1&&(i.layout["text-font"]=[i.layout["text-font"][0]])}return t.sprite&&-1===t.sprite.indexOf("http")&&(t.sprite=e.replace("styles/root.json",t.sprite.replace("../",""))),t.sprite&&r&&(c(e,t.sprite)?t.sprite+="?token="+r:console.warn("Passing a token but sprite URL is not on same base URL, so you must pass the token manually.")),t.glyphs&&-1===t.glyphs.indexOf("http")&&(t.glyphs=e.replace("styles/root.json",t.glyphs.replace("../",""))),t.glyphs&&r&&(c(e,t.glyphs)?t.glyphs+="?token="+r:console.warn("Passing a token but glyph URL is not on same base URL, so you must pass the token manually.")),t}function u(t,r){e.Support.cors&&e.request(t,{},(function(t,n){if(t)return;r._esriAttributions=r._esriAttributions||[];for(let t=0;t1)return 1;for(var i=t,r=0;r<8;r++){var n=this.sampleCurveX(i)-t;if(Math.abs(n)n?o=i:a=i,i=.5*(a-o)+o;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};const n=r(.25,.1,.25,1);function s(t,e,i){return Math.min(i,Math.max(e,t))}function o(t,e,i){const r=i-e,n=((t-e)%r+r)%r+e;return n===e?i:n}function a(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let l=1;function c(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e))}))}function h(t,e,i){const r={};for(const n in t)r[n]=e.call(i||this,t[n],n,t);return r}function u(t,e,i){const r={};for(const n in t)e.call(i||this,t[n],n,t)&&(r[n]=t[n]);return r}function p(t){return Array.isArray(t)?t.map(p):"object"==typeof t&&t?h(t,p):t}const d={};function m(t){d[t]||("undefined"!=typeof console&&console.warn(t),d[t]=!0)}function f(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function g(t){let e=0;for(let i,r,n=0,s=t.length,o=s-1;n@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,i,r,n)=>{const s=r||n;return e[i]=!s||s.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e}let x,v,b=null;function w(t){if(null==b){const e=t.navigator?t.navigator.userAgent:null;b=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return b}function T(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const E={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(t){const e=requestAnimationFrame(t);return{cancel:()=>cancelAnimationFrame(e)}},getImageData(t,e=0){const i=window.document.createElement("canvas"),r=i.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return i.width=t.width,i.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:t=>(x||(x=document.createElement("a")),x.href=t,x.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==v&&(v=matchMedia("(prefers-reduced-motion: reduce)")),v.matches)}};var S=I;function I(t,e){this.x=t,this.y=e}I.prototype={clone:function(){return new I(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,i=t.y-this.y;return e*e+i*i},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),i=Math.sin(t),r=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=r,this},_rotateAround:function(t,e){var i=Math.cos(t),r=Math.sin(t),n=e.y+r*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-r*(this.y-e.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},I.convert=function(t){return t instanceof I?t:Array.isArray(t)?new I(t[0],t[1]):t};const A={MAX_PARALLEL_IMAGE_REQUESTS:16,REGISTERED_PROTOCOLS:{}},z="mapbox-tiles";let C,M,k=500,P=50;function D(){"undefined"==typeof caches||C||(C=caches.open(z))}let L=1/0;const B={supported:!1,testSupport:function(t){!O&&F&&(U?V(t):R=t)}};let R,F,O=!1,U=!1;function V(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,F),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),O=!0}"undefined"!=typeof document&&(F=document.createElement("img"),F.onload=function(){R&&V(R),R=null,U=!0},F.onerror=function(){O=!0,R=null},F.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const N={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(N);class G extends Error{constructor(t,e,i,r){super(`AJAXError: ${e} (${t}): ${i}`),this.status=t,this.statusText=e,this.url=i,this.body=r}}const $=_()?()=>self.worker&&self.worker.referrer:()=>("blob:"===window.location.protocol?window.parent:window).location.href;function q(t,e){const i=new AbortController,r=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:$(),signal:i.signal});let n=!1,s=!1;return"json"===t.type&&r.headers.set("Accept","application/json"),((i,o,a)=>{if(s)return;const l=Date.now();fetch(r).then((i=>i.ok?((i,o,a)=>{("arrayBuffer"===t.type?i.arrayBuffer():"json"===t.type?i.json():i.text()).then((t=>{s||(o&&a&&function(t,e,i){if(D(),!C)return;const r={status:e.status,statusText:e.statusText,headers:new Headers};e.headers.forEach(((t,e)=>r.headers.set(e,t)));const n=y(e.headers.get("Cache-Control")||"");n["no-store"]||(n["max-age"]&&r.headers.set("Expires",new Date(i+1e3*n["max-age"]).toUTCString()),new Date(r.headers.get("Expires")).getTime()-i<42e4||function(t,e){if(void 0===M)try{new Response(new ReadableStream),M=!0}catch(t){M=!1}M?e(t.body):t.blob().then(e)}(e,(e=>{const i=new Response(e,r);D(),C&&C.then((e=>e.put(function(t){const e=t.indexOf("?");return e<0?t:t.slice(0,e)}(t.url),i))).catch((t=>m(t.message)))})))}(r,o,a),n=!0,e(null,t,i.headers.get("Cache-Control"),i.headers.get("Expires")))})).catch((t=>{s||e(new Error(t.message))}))})(i,null,l):i.blob().then((r=>e(new G(i.status,i.statusText,t.url,r)))))).catch((t=>{20!==t.code&&e(new Error(t.message))}))})(),{cancel:()=>{s=!0,n||i.abort()}}}const j=function(t,e){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e);if(!_()){const i=t.url.substring(0,t.url.indexOf("://"));return(A.REGISTERED_PROTOCOLS[i]||q)(t,e)}}if(!(/^file:/.test(i=t.url)||/^file:/.test($())&&!/^\w+:/.test(i))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return q(t,e);if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var i;return function(t,e){const i=new XMLHttpRequest;i.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(i.responseType="arraybuffer");for(const e in t.headers)i.setRequestHeader(e,t.headers[e]);return"json"===t.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===t.credentials,i.onerror=()=>{e(new Error(i.statusText))},i.onload=()=>{if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let r=i.response;if("json"===t.type)try{r=JSON.parse(i.response)}catch(t){return e(t)}e(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else{const r=new Blob([i.response],{type:i.getResponseHeader("Content-Type")});e(new G(i.status,i.statusText,t.url,r))}},i.send(t.body),{cancel:()=>i.abort()}}(t,e)},Z=function(t,e){return j(a(t,{type:"arrayBuffer"}),e)};function X(t){const e=window.document.createElement("a");return e.href=t,e.protocol===window.document.location.protocol&&e.host===window.document.location.host}const W="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let H,K;H=[],K=0;const J=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),K>=A.MAX_PARALLEL_IMAGE_REQUESTS){const i={requestParameters:t,callback:e,cancelled:!1,cancel(){this.cancelled=!0}};return H.push(i),i}K++;let i=!1;const r=()=>{if(!i)for(i=!0,K--;H.length&&K{r(),t?e(t):i&&function(t,e){"function"==typeof createImageBitmap?function(t,e){const i=new Blob([new Uint8Array(t)],{type:"image/png"});createImageBitmap(i).then((t=>{e(null,t)})).catch((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.`))}))}(t,e):function(t,e){const i=new Image;i.onload=()=>{e(null,i),URL.revokeObjectURL(i.src),i.onload=null,window.requestAnimationFrame((()=>{i.src=W}))},i.onerror=()=>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."));const r=new Blob([new Uint8Array(t)],{type:"image/png"});i.src=t.byteLength?URL.createObjectURL(r):W}(t,e)}(i,((t,i)=>{null!=t?e(t):null!=i&&e(null,i,{cacheControl:n,expires:s})}))}));return{cancel:()=>{n.cancel(),r()}}};function Y(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function Q(t,e,i){if(i&&i[t]){const r=i[t].indexOf(e);-1!==r&&i[t].splice(r,1)}}class tt{constructor(t,e={}){a(this,e),this.type=t}}class et extends tt{constructor(t,e={}){super("error",a({error:t},e))}}class it{on(t,e){return this._listeners=this._listeners||{},Y(t,e,this._listeners),this}off(t,e){return Q(t,e,this._listeners),Q(t,e,this._oneTimeListeners),this}once(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},Y(t,e,this._oneTimeListeners),this}fire(t,e){"string"==typeof t&&(t=new tt(t,e||{}));const i=t.type;if(this.listens(i)){t.target=this;const e=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of e)i.call(this,t);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const e of r)Q(i,e,this._oneTimeListeners),e.call(this,t);const n=this._eventedParent;n&&(a(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(t))}else t instanceof et&&console.error(t.error);return this}listens(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)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var rt={$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"},terrain:{type:"terrain"},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",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},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:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"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:{},"viewport-glyph":{},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",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},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}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1},elevationOffset:{type:"number",default:450}},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"}}};class nt{constructor(t,e,i,r){this.message=(t?`${t}: `:"")+i,r&&(this.identifier=r),null!=e&&e.__line__&&(this.line=e.__line__)}}function st(t){const e=t.value;return e?[new nt(t.key,e,"constants have been deprecated as of v8")]:[]}function ot(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}function at(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function lt(t){if(Array.isArray(t))return t.map(lt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const i in t)e[i]=lt(t[i]);return e}return at(t)}class ct extends Error{constructor(t,e){super(e),this.message=e,this.key=t}}class ht{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,i]of e)this.bindings[t]=i}concat(t){return new ht(this,t)}get(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.`)}has(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)}}const ut={kind:"null"},pt={kind:"number"},dt={kind:"string"},mt={kind:"boolean"},ft={kind:"color"},gt={kind:"object"},_t={kind:"value"},yt={kind:"collator"},xt={kind:"formatted"},vt={kind:"padding"},bt={kind:"resolvedImage"};function wt(t,e){return{kind:"array",itemType:t,N:e}}function Tt(t){if("array"===t.kind){const e=Tt(t.itemType);return"number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const Et=[ut,pt,dt,mt,ft,xt,gt,wt(_t),vt,bt];function St(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!St(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(const t of Et)if(!St(t,e))return null}return`Expected ${Tt(t)} but found ${Tt(e)} instead.`}function It(t,e){return e.some((e=>e.kind===t.kind))}function At(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}var zt,Ct={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 Mt(t){return(t=Math.round(t))<0?0:t>255?255:t}function kt(t){return Mt("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Pt(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function Dt(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}try{zt={}.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in Ct)return Ct[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.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===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var r=i.indexOf("("),n=i.indexOf(")");if(-1!==r&&n+1===i.length){var s=i.substr(0,r),o=i.substr(r+1,n-(r+1)).split(","),a=1;switch(s){case"rgba":if(4!==o.length)return null;a=Pt(o.pop());case"rgb":return 3!==o.length?null:[kt(o[0]),kt(o[1]),kt(o[2]),a];case"hsla":if(4!==o.length)return null;a=Pt(o.pop());case"hsl":if(3!==o.length)return null;var l=(parseFloat(o[0])%360+360)%360/360,c=Pt(o[1]),h=Pt(o[2]),u=h<=.5?h*(c+1):h+c-h*c,p=2*h-u;return[Mt(255*Dt(p,u,l+1/3)),Mt(255*Dt(p,u,l)),Mt(255*Dt(p,u,l-1/3)),a];default:return null}}return null}}catch(t){}class Lt{constructor(t,e,i,r=1){this.r=t,this.g=e,this.b=i,this.a=r}static parse(t){if(!t)return;if(t instanceof Lt)return t;if("string"!=typeof t)return;const e=zt(t);return e?new Lt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,i,r]=this.toArray();return`rgba(${Math.round(t)},${Math.round(e)},${Math.round(i)},${r})`}toArray(){const{r:t,g:e,b:i,a:r}=this;return 0===r?[0,0,0,0]:[255*t/r,255*e/r,255*i/r,r]}}Lt.black=new Lt(0,0,0,1),Lt.white=new Lt(1,1,1,1),Lt.transparent=new Lt(0,0,0,0),Lt.red=new Lt(1,0,0,1);class Bt{constructor(t,e,i){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Rt{constructor(t,e,i,r,n){this.text=t,this.image=e,this.scale=i,this.fontStack=r,this.textColor=n}}class Ft{constructor(t){this.sections=t}static fromString(t){return new Ft([new Rt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Ft?t:Ft.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Ot{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Ot)return t;if("number"==typeof t)return new Ot([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Ot(t)}}toString(){return JSON.stringify(this.values)}}class Ut{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new Ut({name:t,available:!1}):null}}function Vt(t,e,i,r){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[t,e,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[t,e,i,r]:[t,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Nt(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 Lt)return!0;if(t instanceof Bt)return!0;if(t instanceof Ft)return!0;if(t instanceof Ot)return!0;if(t instanceof Ut)return!0;if(Array.isArray(t)){for(const e of t)if(!Nt(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Nt(t[e]))return!1;return!0}return!1}function Gt(t){if(null===t)return ut;if("string"==typeof t)return dt;if("boolean"==typeof t)return mt;if("number"==typeof t)return pt;if(t instanceof Lt)return ft;if(t instanceof Bt)return yt;if(t instanceof Ft)return xt;if(t instanceof Ot)return vt;if(t instanceof Ut)return bt;if(Array.isArray(t)){const e=t.length;let i;for(const e of t){const t=Gt(e);if(i){if(i===t)continue;i=_t;break}i=t}return wt(i||_t,e)}return gt}function $t(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Lt||t instanceof Ft||t instanceof Ot||t instanceof Ut?t.toString():JSON.stringify(t)}class qt{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Nt(t[1]))return e.error("invalid value");const i=t[1];let r=Gt(i);const n=e.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new qt(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class jt{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const Zt={string:dt,number:pt,boolean:mt,object:gt};class Xt{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let i,r=1;const n=t[0];if("array"===n){let n,s;if(t.length>2){const i=t[1];if("string"!=typeof i||!(i in Zt)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);n=Zt[i],r++}else n=_t;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);s=t[2],r++}i=wt(n,s)}else i=Zt[n];const s=[];for(;rt.outputDefined()))}}const Wt={"to-boolean":mt,"to-color":ft,"to-number":pt,"to-string":dt};class Ht{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[0];if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const r=Wt[i],n=[];for(let i=1;i4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Vt(e[0],e[1],e[2],e[3]),!i))return new Lt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new jt(i||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("padding"===this.type.kind){let e;for(const i of this.args){e=i.evaluate(t);const r=Ot.parse(e);if(r)return r}throw new jt(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("number"===this.type.kind){let e=null;for(const i of this.args){if(e=i.evaluate(t),null===e)return 0;const r=Number(e);if(!isNaN(r))return r}throw new jt(`Could not convert ${JSON.stringify(e)} to number.`)}return"formatted"===this.type.kind?Ft.fromString($t(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?Ut.fromString($t(this.args[0].evaluate(t))):$t(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const Kt=["Unknown","Point","LineString","Polygon"];class Jt{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Kt[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Lt.parse(t)),e}}class Yt{constructor(t,e,i,r){this.name=t,this.type=e,this._evaluate=i,this.args=r}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const i=t[0],r=Yt.definitions[i];if(!r)return e.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,s=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let a=null;for(const[r,s]of o){a=new be(e.registry,e.path,null,e.scope);const o=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(Tt).join(", ")})`:`(${Tt(e.type)}...)`;var e})).join(" | "),r=[];for(let i=1;i=e[2]||t[1]<=e[1]||t[3]>=e[3])}function re(t,e){const i=(180+t[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,n=Math.pow(2,e.z);return[Math.round(i*n*te),Math.round(r*n*te)]}function ne(t,e,i){const r=t[0]-e[0],n=t[1]-e[1],s=t[0]-i[0],o=t[1]-i[1];return r*o-s*n==0&&r*s<=0&&n*o<=0}function se(t,e){let i=!1;for(let o=0,a=e.length;o(r=t)[1]!=(s=a[e+1])[1]>r[1]&&r[0]<(s[0]-n[0])*(r[1]-n[1])/(s[1]-n[1])+n[0]&&(i=!i)}}var r,n,s;return i}function oe(t,e){for(let i=0;i0&&a<0||o<0&&a>0}function le(t,e,i){for(const c of i)for(let i=0;ii[2]){const e=.5*r;let n=t[0]-i[0]>e?-r:i[0]-t[0]>e?r:0;0===n&&(n=t[0]-i[2]>e?-r:i[2]-t[0]>e?r:0),t[0]+=n}ee(e,t)}function me(t,e,i,r){const n=Math.pow(2,r.z)*te,s=[r.x*te,r.y*te],o=[];for(const r of t)for(const t of r){const r=[t.x+s[0],t.y+s[1]];de(r,e,i,n),o.push(r)}return o}function fe(t,e,i,r){const n=Math.pow(2,r.z)*te,s=[r.x*te,r.y*te],o=[];for(const i of t){const t=[];for(const r of i){const i=[r.x+s[0],r.y+s[1]];ee(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=n/2){(a=e)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(const t of o)for(const r of t)de(r,e,i,n)}var a;return o}class ge{constructor(t,e){this.type=mt,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Nt(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t{e&&!_e(t)&&(e=!1)})),e}function ye(t){if(t instanceof Yt&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!ye(t)&&(e=!1)})),e}function xe(t,e){if(t instanceof Yt&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!xe(t,e)&&(i=!1)})),i}class ve{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const i=t[1];return e.scope.has(i)?new ve(i,e.scope.get(i)):e.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}}class be{constructor(t,e=[],i,r=new ht,n=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(""),this.scope=r,this.errors=n,this.expectedType=i}parse(t,e,i,r,n={}){return e?this.concat(e,i,r)._parse(t,n):this._parse(t,n)}_parse(t,e){function i(t,e,i){return"assert"===i?new Xt(e,[t]):"coerce"===i?new Ht(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", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const n=this.registry[r];if(n){let r=n.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,n=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==n.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==n.kind&&"string"!==n.kind)if("padding"!==t.kind||"value"!==n.kind&&"number"!==n.kind&&"array"!==n.kind){if(this.checkSubtype(t,n))return null}else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"assert")}if(!(r instanceof qt)&&"resolvedImage"!==r.type.kind&&we(r)){const e=new Jt;try{r=new qt(r.type,r.evaluate(e))}catch(t){return this.error(t.message),null}}return r}return this.error(`Unknown expression "${r}". 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.`)}concat(t,e,i){const r="number"==typeof t?this.path.concat(t):this.path,n=i?this.scope.concat(i):this.scope;return new be(this.registry,r,e||null,n,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new ct(i,t))}checkSubtype(t,e){const i=St(t,e);return i&&this.error(i),i}}function we(t){if(t instanceof ve)return we(t.boundExpression);if(t instanceof Yt&&"error"===t.name)return!1;if(t instanceof Qt)return!1;if(t instanceof ge)return!1;const e=t instanceof Ht||t instanceof Xt;let i=!0;return t.eachChild((t=>{i=e?i&&we(t):i&&t instanceof qt})),!!i&&_e(t)&&xe(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Te(t,e){const i=t.length-1;let r,n,s=0,o=i,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),r=t[a],n=t[a+1],r<=e){if(a===i||ee))throw new jt("Input is not a number.");o=a-1}return 0}class Ee{constructor(t,e,i){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e)}static parse(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.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=[];let n=null;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(let i=1;i=s)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=e.parse(o,l,n);if(!c)return null;n=n||c.type,r.push([s,c])}return new Ee(n,i,r)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;return r>=e[n-1]?i[n-1].evaluate(t):i[Te(e,r)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t,e,i){return t*(1-i)+e*i}var Ie=Object.freeze({__proto__:null,number:Se,color:function(t,e,i){return new Lt(Se(t.r,e.r,i),Se(t.g,e.g,i),Se(t.b,e.b,i),Se(t.a,e.a,i))},array:function(t,e,i){return t.map(((t,r)=>Se(t,e[r],i)))},padding:function(t,e,i){const r=t.values,n=e.values;return new Ot([Se(r[0],n[0],i),Se(r[1],n[1],i),Se(r[2],n[2],i),Se(r[3],n[3],i)])}});const Ae=.95047,ze=1.08883,Ce=4/29,Me=6/29,ke=3*Me*Me,Pe=Math.PI/180,De=180/Math.PI;function Le(t){return t>.008856451679035631?Math.pow(t,1/3):t/ke+Ce}function Be(t){return t>Me?t*t*t:ke*(t-Ce)}function Re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Oe(t){const e=Fe(t.r),i=Fe(t.g),r=Fe(t.b),n=Le((.4124564*e+.3575761*i+.1804375*r)/Ae),s=Le((.2126729*e+.7151522*i+.072175*r)/1);return{l:116*s-16,a:500*(n-s),b:200*(s-Le((.0193339*e+.119192*i+.9503041*r)/ze)),alpha:t.a}}function Ue(t){let e=(t.l+16)/116,i=isNaN(t.a)?e:e+t.a/500,r=isNaN(t.b)?e:e-t.b/200;return e=1*Be(e),i=Ae*Be(i),r=ze*Be(r),new Lt(Re(3.2404542*i-1.5371385*e-.4985314*r),Re(-.969266*i+1.8760108*e+.041556*r),Re(.0556434*i-.2040259*e+1.0572252*r),t.alpha)}function Ve(t,e,i){const r=e-t;return t+i*(r>180||r<-180?r-360*Math.round(r/360):r)}const Ne={forward:Oe,reverse:Ue,interpolate:function(t,e,i){return{l:Se(t.l,e.l,i),a:Se(t.a,e.a,i),b:Se(t.b,e.b,i),alpha:Se(t.alpha,e.alpha,i)}}},Ge={forward:function(t){const{l:e,a:i,b:r}=Oe(t),n=Math.atan2(r,i)*De;return{h:n<0?n+360:n,c:Math.sqrt(i*i+r*r),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Pe,i=t.c;return Ue({l:t.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:t.alpha})},interpolate:function(t,e,i){return{h:Ve(t.h,e.h,i),c:Se(t.c,e.c,i),l:Se(t.l,e.l,i),alpha:Se(t.alpha,e.alpha,i)}}};var $e=Object.freeze({__proto__:null,lab:Ne,hcl:Ge});class qe{constructor(t,e,i,r,n){this.type=t,this.operator=e,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[];for(const[t,e]of n)this.labels.push(t),this.outputs.push(e)}static interpolationFactor(t,i,r,n){let s=0;if("exponential"===t.name)s=je(i,t.base,r,n);else if("linear"===t.name)s=je(i,1,r,n);else if("cubic-bezier"===t.name){const o=t.controlPoints;s=new e(o[0],o[1],o[2],o[3]).solve(je(i,1,r,n))}return s}static parse(t,e){let[i,r,n,...s]=t;if(!Array.isArray(r)||0===r.length)return e.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const t=r[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:t}}else{if("cubic-bezier"!==r[0])return e.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const t=r.slice(1);if(4!==t.length||t.some((t=>"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:t}}}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(n=e.parse(n,2,pt),!n)return null;const o=[];let a=null;"interpolate-hcl"===i||"interpolate-lab"===i?a=ft:e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType);for(let t=0;t=i)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',n);const c=e.parse(r,l,a);if(!c)return null;a=a||c.type,o.push([i,c])}return"number"===a.kind||"color"===a.kind||"padding"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new qe(a,i,r,n,o):e.error(`Type ${Tt(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;if(r>=e[n-1])return i[n-1].evaluate(t);const s=Te(e,r),o=qe.interpolationFactor(this.interpolation,r,e[s],e[s+1]),a=i[s].evaluate(t),l=i[s+1].evaluate(t);return"interpolate"===this.operator?Ie[this.type.kind.toLowerCase()](a,l,o):"interpolate-hcl"===this.operator?Ge.reverse(Ge.interpolate(Ge.forward(a),Ge.forward(l),o)):Ne.reverse(Ne.interpolate(Ne.forward(a),Ne.forward(l),o))}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function je(t,e,i,r){const n=r-i,s=t-i;return 0===n?0:1===e?s/n:(Math.pow(e,s)-1)/(Math.pow(e,n)-1)}class Ze{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expectected at least one argument.");let i=null;const r=e.expectedType;r&&"value"!==r.kind&&(i=r);const n=[];for(const r of t.slice(1)){const t=e.parse(r,1+n.length,i,void 0,{typeAnnotation:"omit"});if(!t)return null;i=i||t.type,n.push(t)}const s=r&&n.some((t=>St(r,t.type)));return new Ze(s?_t:i,n)}evaluate(t){let e,i=null,r=0;for(const n of this.args)if(r++,i=n.evaluate(t),i&&i instanceof Ut&&!i.available&&(e||(e=i.name),i=null,r===this.args.length&&(i=e)),null!==i)break;return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class Xe{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const i=[];for(let r=1;r=i.length)throw new jt(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new jt(`Array index must be an integer, but found ${e} instead.`);return i[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class He{constructor(t,e){this.type=mt,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);return i&&r?It(i.type,[mt,dt,pt,ut,_t])?new He(i,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!At(e,["boolean","string","number","null"]))throw new jt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(Gt(e))} instead.`);if(!At(i,["string","array"]))throw new jt(`Expected second argument to be of type array or string, but found ${Tt(Gt(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class Ke{constructor(t,e,i){this.type=pt,this.needle=t,this.haystack=e,this.fromIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);if(!i||!r)return null;if(!It(i.type,[mt,dt,pt,ut,_t]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Ke(i,r,n):null}return new Ke(i,r)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!At(e,["boolean","string","number","null"]))throw new jt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(Gt(e))} instead.`);if(!At(i,["string","array"]))throw new jt(`Expected second argument to be of type array or string, but found ${Tt(Gt(i))} instead.`);if(this.fromIndex){const r=this.fromIndex.evaluate(t);return i.indexOf(e,r)}return i.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class Je{constructor(t,e,i,r,n,s){this.inputType=t,this.type=e,this.input=i,this.cases=r,this.outputs=n,this.otherwise=s}static parse(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.");let i,r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n={},s=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,Gt(t)))return null}else i=Gt(t);if(void 0!==n[String(t)])return c.error("Branch labels must be unique.");n[String(t)]=s.length}const h=e.parse(l,o,r);if(!h)return null;r=r||h.type,s.push(h)}const o=e.parse(t[1],1,_t);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,r);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(i,o.type)?null:new Je(i,r,o,n,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(Gt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class Ye{constructor(t,e,i){this.type=t,this.branches=e,this.otherwise=i}static parse(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.");let i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r=[];for(let n=1;ne.outputDefined()))&&this.otherwise.outputDefined()}}class Qe{constructor(t,e,i,r){this.type=t,this.input=e,this.beginIndex=i,this.endIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,pt);if(!i||!r)return null;if(!It(i.type,[wt(_t),dt,_t]))return e.error(`Expected first argument to be of type array or string, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Qe(i.type,i,r,n):null}return new Qe(i.type,i,r)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!At(e,["string","array"]))throw new jt(`Expected first argument to be of type array or string, but found ${Tt(Gt(e))} instead.`);if(this.endIndex){const r=this.endIndex.evaluate(t);return e.slice(i,r)}return e.slice(i)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function ti(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 ei(t,e,i,r){return 0===r.compare(e,i)}function ii(t,e,i){const r="=="!==t&&"!="!==t;return class n{constructor(t,e,i){this.type=mt,this.lhs=t,this.rhs=e,this.collator=i,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const i=t[0];let s=e.parse(t[1],1,_t);if(!s)return null;if(!ti(i,s.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${Tt(s.type)}'.`);let o=e.parse(t[2],2,_t);if(!o)return null;if(!ti(i,o.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${Tt(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${Tt(s.type)}' and '${Tt(o.type)}'.`);r&&("value"===s.type.kind&&"value"!==o.type.kind?s=new Xt(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new Xt(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,yt),!a)return null}return new n(s,o,a)}evaluate(n){const s=this.lhs.evaluate(n),o=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const e=Gt(s),i=Gt(o);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new jt(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const t=Gt(s),i=Gt(o);if("string"!==t.kind||"string"!==i.kind)return e(n,s,o)}return this.collator?i(n,s,o,this.collator.evaluate(n)):e(n,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const ri=ii("==",(function(t,e,i){return e===i}),ei),ni=ii("!=",(function(t,e,i){return e!==i}),(function(t,e,i,r){return!ei(0,e,i,r)})),si=ii("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,r){return r.compare(e,i)>0})),ai=ii("<=",(function(t,e,i){return e<=i}),(function(t,e,i,r){return r.compare(e,i)<=0})),li=ii(">=",(function(t,e,i){return e>=i}),(function(t,e,i,r){return r.compare(e,i)>=0}));class ci{constructor(t,e,i,r,n){this.type=dt,this.number=t,this.locale=e,this.currency=i,this.minFractionDigits=r,this.maxFractionDigits=n}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=t[2];if("object"!=typeof r||Array.isArray(r))return e.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=e.parse(r.locale,1,dt),!n))return null;let s=null;if(r.currency&&(s=e.parse(r.currency,1,dt),!s))return null;let o=null;if(r["min-fraction-digits"]&&(o=e.parse(r["min-fraction-digits"],1,pt),!o))return null;let a=null;return r["max-fraction-digits"]&&(a=e.parse(r["max-fraction-digits"],1,pt),!a)?null:new ci(i,n,s,o,a)}evaluate(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))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class hi{constructor(t){this.type=xt,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[1];if(!Array.isArray(i)&&"object"==typeof i)return e.error("First argument must be an image or text section.");const r=[];let n=!1;for(let i=1;i<=t.length-1;++i){const s=t[i];if(n&&"object"==typeof s&&!Array.isArray(s)){n=!1;let t=null;if(s["font-scale"]&&(t=e.parse(s["font-scale"],1,pt),!t))return null;let i=null;if(s["text-font"]&&(i=e.parse(s["text-font"],1,wt(dt)),!i))return null;let o=null;if(s["text-color"]&&(o=e.parse(s["text-color"],1,ft),!o))return null;const a=r[r.length-1];a.scale=t,a.font=i,a.textColor=o}else{const s=e.parse(t[i],1,_t);if(!s)return null;const o=s.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");n=!0,r.push({content:s,scale:null,font:null,textColor:null})}}return new hi(r)}evaluate(t){return new Ft(this.sections.map((e=>{const i=e.content.evaluate(t);return Gt(i)===bt?new Rt("",i,null,null,null):new Rt($t(i),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class ui{constructor(t){this.type=bt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,dt);return i?new ui(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=Ut.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}}class pi{constructor(t){this.type=pt,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const i=e.parse(t[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?e.error(`Expected argument of type string or array, but found ${Tt(i.type)} instead.`):new pi(i):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new jt(`Expected value to be of type string or array, but found ${Tt(Gt(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const di={"==":ri,"!=":ni,">":oi,"<":si,">=":li,"<=":ai,array:Xt,at:We,boolean:Xt,case:Ye,coalesce:Ze,collator:Qt,format:hi,image:ui,in:He,"index-of":Ke,interpolate:qe,"interpolate-hcl":qe,"interpolate-lab":qe,length:pi,let:Xe,literal:qt,match:Je,number:Xt,"number-format":ci,object:Xt,slice:Qe,step:Ee,string:Xt,"to-boolean":Ht,"to-color":Ht,"to-number":Ht,"to-string":Ht,var:ve,within:ge};function mi(t,[e,i,r,n]){e=e.evaluate(t),i=i.evaluate(t),r=r.evaluate(t);const s=n?n.evaluate(t):1,o=Vt(e,i,r,s);if(o)throw new jt(o);return new Lt(e/255*s,i/255*s,r/255*s,s)}function fi(t,e){return t in e}function gi(t,e){const i=e[t];return void 0===i?null:i}function _i(t){return{type:t}}function yi(t){return{result:"success",value:t}}function xi(t){return{result:"error",value:t}}function vi(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function bi(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function wi(t){return!!t.expression&&t.expression.interpolated}function Ti(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Ei(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Si(t){return t}function Ii(t,e){const i="color"===e.type,r=t.stops&&"object"==typeof t.stops[0][0],n=r||!(r||void 0!==t.property),s=t.type||(wi(e)?"exponential":"interval");if(i||"padding"===e.type){const r=i?Lt.parse:Ot.parse;(t=ot({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],r(t[1])]))),t.default=r(t.default?t.default:e.default)}if(t.colorSpace&&"rgb"!==t.colorSpace&&!$e[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let o,a,l;if("exponential"===s)o=Mi;else if("interval"===s)o=Ci;else if("categorical"===s){o=zi,a=Object.create(null);for(const e of t.stops)a[e[0]]=e[1];l=typeof t.stops[0][0]}else{if("identity"!==s)throw new Error(`Unknown function type "${s}"`);o=ki}if(r){const i={},r=[];for(let e=0;et[0])),evaluate:({zoom:i},r)=>Mi({stops:n,base:t.base},e,i).evaluate(i,r)}}if(n){const i="exponential"===s?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:qe.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>o(t,e,i,a,l)}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[t.property]:void 0;return void 0===n?Ai(t.default,e.default):o(t,e,n,a,l)}}}function Ai(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function zi(t,e,i,r,n){return Ai(typeof i===n?r[i]:void 0,t.default,e.default)}function Ci(t,e,i){if("number"!==Ti(i))return Ai(t.default,e.default);const r=t.stops.length;if(1===r)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[r-1][0])return t.stops[r-1][1];const n=Te(t.stops.map((t=>t[0])),i);return t.stops[n][1]}function Mi(t,e,i){const r=void 0!==t.base?t.base:1;if("number"!==Ti(i))return Ai(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[n-1][0])return t.stops[n-1][1];const s=Te(t.stops.map((t=>t[0])),i),o=function(t,e,i,r){const n=r-i,s=t-i;return 0===n?0:1===e?s/n:(Math.pow(e,s)-1)/(Math.pow(e,n)-1)}(i,r,t.stops[s][0],t.stops[s+1][0]),a=t.stops[s][1],l=t.stops[s+1][1];let c=Ie[e.type]||Si;if(t.colorSpace&&"rgb"!==t.colorSpace){const e=$e[t.colorSpace];c=(t,i)=>e.reverse(e.interpolate(e.forward(t),e.forward(i),o))}return"function"==typeof a.evaluate?{evaluate(...t){const e=a.evaluate.apply(void 0,t),i=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==i)return c(e,i,o)}}:c(a,l,o)}function ki(t,e,i){switch(e.type){case"color":i=Lt.parse(i);break;case"formatted":i=Ft.fromString(i.toString());break;case"resolvedImage":i=Ut.fromString(i.toString());break;case"padding":i=Ot.parse(i);break;default:Ti(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0)}return Ai(i,t.default,e.default)}Yt.register(di,{error:[{kind:"error"},[dt],(t,[e])=>{throw new jt(e.evaluate(t))}],typeof:[dt,[_t],(t,[e])=>Tt(Gt(e.evaluate(t)))],"to-rgba":[wt(pt,4),[ft],(t,[e])=>e.evaluate(t).toArray()],rgb:[ft,[pt,pt,pt],mi],rgba:[ft,[pt,pt,pt,pt],mi],has:{type:mt,overloads:[[[dt],(t,[e])=>fi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>fi(e.evaluate(t),i.evaluate(t))]]},get:{type:_t,overloads:[[[dt],(t,[e])=>gi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>gi(e.evaluate(t),i.evaluate(t))]]},"feature-state":[_t,[dt],(t,[e])=>gi(e.evaluate(t),t.featureState||{})],properties:[gt,[],t=>t.properties()],"geometry-type":[dt,[],t=>t.geometryType()],id:[_t,[],t=>t.id()],zoom:[pt,[],t=>t.globals.zoom],"heatmap-density":[pt,[],t=>t.globals.heatmapDensity||0],"line-progress":[pt,[],t=>t.globals.lineProgress||0],accumulated:[_t,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[pt,_i(pt),(t,e)=>{let i=0;for(const r of e)i+=r.evaluate(t);return i}],"*":[pt,_i(pt),(t,e)=>{let i=1;for(const r of e)i*=r.evaluate(t);return i}],"-":{type:pt,overloads:[[[pt,pt],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[pt],(t,[e])=>-e.evaluate(t)]]},"/":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[pt,[],()=>Math.LN2],pi:[pt,[],()=>Math.PI],e:[pt,[],()=>Math.E],"^":[pt,[pt,pt],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[pt,[pt],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))],log2:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pt,[pt],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pt,[pt],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pt,[pt],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pt,[pt],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pt,[pt],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pt,[pt],(t,[e])=>Math.atan(e.evaluate(t))],min:[pt,_i(pt),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[pt,_i(pt),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[pt,[pt],(t,[e])=>Math.abs(e.evaluate(t))],round:[pt,[pt],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[pt,[pt],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pt,[pt],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[mt,[dt,_t],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[mt,[_t],(t,[e])=>t.id()===e.value],"filter-type-==":[mt,[dt],(t,[e])=>t.geometryType()===e.value],"filter-<":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r{const i=t.id(),r=e.value;return typeof i==typeof r&&i":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>n}],"filter-id->":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>r}],"filter-<=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r<=n}],"filter-id-<=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i<=r}],"filter->=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>=n}],"filter-id->=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>=r}],"filter-has":[mt,[_t],(t,[e])=>e.value in t.properties()],"filter-has-id":[mt,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[mt,[wt(dt)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[mt,[wt(_t)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[mt,[dt,wt(_t)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[mt,[dt,wt(_t)],(t,[e,i])=>function(t,e,i,r){for(;i<=r;){const n=i+r>>1;if(e[n]===t)return!0;e[n]>t?r=n-1:i=n+1}return!1}(t.properties()[e.value],i.value,0,i.value.length-1)],all:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[mt,[mt],(t,[e])=>!e.evaluate(t)],"is-supported-script":[mt,[dt],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[dt,[dt],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[dt,[dt],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[dt,_i(_t),(t,e)=>e.map((e=>$t(e.evaluate(t)))).join("")],"resolved-locale":[dt,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Pi{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Jt,this._defaultValue=e?function(t){return"color"===t.type&&Ei(t.default)?new Lt(0,0,0,0):"color"===t.type?Lt.parse(t.default)||null:"padding"===t.type?Ot.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=i,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,i,r,n,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=i||null,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new jt(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Di(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in di}function Li(t,e){const i=new be(di,[],e?function(t){const e={color:ft,string:dt,number:pt,enum:dt,boolean:mt,formatted:xt,padding:vt,resolvedImage:bt};return"array"===t.type?wt(e[t.value]||_t,t.length):e[t.type]}(e):void 0),r=i.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return r?yi(new Pi(r,e)):xi(i.errors)}class Bi{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!ye(e.expression)}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,s)}evaluate(t,e,i,r,n,s){return this._styleExpression.evaluate(t,e,i,r,n,s)}}class Ri{constructor(t,e,i,r){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!ye(e.expression),this.interpolationType=r}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,s)}evaluate(t,e,i,r,n,s){return this._styleExpression.evaluate(t,e,i,r,n,s)}interpolationFactor(t,e,i){return this.interpolationType?qe.interpolationFactor(this.interpolationType,t,e,i):0}}function Fi(t,e){const i=Li(t,e);if("error"===i.result)return i;const r=i.value.expression,n=_e(r);if(!n&&!vi(e))return xi([new ct("","data expressions not supported")]);const s=xe(r,["zoom"]);if(!s&&!bi(e))return xi([new ct("","zoom expressions not supported")]);const o=Ui(r);return o||s?o instanceof ct?xi([o]):o instanceof qe&&!wi(e)?xi([new ct("",'"interpolate" expressions cannot be used with this property')]):yi(o?new Ri(n?"camera":"composite",i.value,o.labels,o instanceof qe?o.interpolation:void 0):new Bi(n?"constant":"source",i.value)):xi([new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Oi{constructor(t,e){this._parameters=t,this._specification=e,ot(this,Ii(this._parameters,this._specification))}static deserialize(t){return new Oi(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Ui(t){let e=null;if(t instanceof Xe)e=Ui(t.result);else if(t instanceof Ze){for(const i of t.args)if(e=Ui(i),e)break}else(t instanceof Ee||t instanceof qe)&&t.input instanceof Yt&&"zoom"===t.input.name&&(e=t);return e instanceof ct||t.eachChild((t=>{const i=Ui(t);i instanceof ct?e=i:!e&&i?e=new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new ct("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function Vi(t){const e=t.key,i=t.value,r=t.valueSpec||{},n=t.objectElementValidators||{},s=t.style,o=t.styleSpec;let a=[];const l=Ti(i);if("object"!==l)return[new nt(e,i,`object expected, ${l} found`)];for(const t in i){const l=t.split(".")[0],c=r[l]||r["*"];let h;if(n[l])h=n[l];else if(r[l])h=mr;else if(n["*"])h=n["*"];else{if(!r["*"]){a.push(new nt(e,i[t],`unknown property "${t}"`));continue}h=mr}a=a.concat(h({key:(e?`${e}.`:e)+t,value:i[t],valueSpec:c,style:s,styleSpec:o,object:i,objectKey:t},i))}for(const t in r)n[t]||r[t].required&&void 0===r[t].default&&void 0===i[t]&&a.push(new nt(e,i,`missing required property "${t}"`));return a}function Ni(t){const e=t.value,i=t.valueSpec,r=t.style,n=t.styleSpec,s=t.key,o=t.arrayElementValidator||mr;if("array"!==Ti(e))return[new nt(s,e,`array expected, ${Ti(e)} found`)];if(i.length&&e.length!==i.length)return[new nt(s,e,`array length ${i.length} expected, length ${e.length} found`)];if(i["min-length"]&&e.lengthr.maximum?[new nt(e,i,`${i} is greater than the maximum value ${r.maximum}`)]:[]}function $i(t){const e=t.valueSpec,i=at(t.value.type);let r,n,s,o={};const a="categorical"!==i&&void 0===t.value.property,l=!a,c="array"===Ti(t.value.stops)&&"array"===Ti(t.value.stops[0])&&"object"===Ti(t.value.stops[0][0]),h=Vi({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new nt(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const r=t.value;return e=e.concat(Ni({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:u})),"array"===Ti(r)&&0===r.length&&e.push(new nt(t.key,r,"array must have at least one stop")),e},default:function(t){return mr({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&a&&h.push(new nt(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||h.push(new nt(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!wi(t.valueSpec)&&h.push(new nt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!vi(t.valueSpec)?h.push(new nt(t.key,t.value,"property functions not supported")):a&&!bi(t.valueSpec)&&h.push(new nt(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||h.push(new nt(t.key,t.value,'"property" property is required')),h;function u(t){let i=[];const r=t.value,a=t.key;if("array"!==Ti(r))return[new nt(a,r,`array expected, ${Ti(r)} found`)];if(2!==r.length)return[new nt(a,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==Ti(r[0]))return[new nt(a,r,`object expected, ${Ti(r[0])} found`)];if(void 0===r[0].zoom)return[new nt(a,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new nt(a,r,"object stop key must have value")];if(s&&s>at(r[0].zoom))return[new nt(a,r[0].zoom,"stop zoom values must appear in ascending order")];at(r[0].zoom)!==s&&(s=at(r[0].zoom),n=void 0,o={}),i=i.concat(Vi({key:`${a}[0]`,value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Gi,value:p}}))}else i=i.concat(p({key:`${a}[0]`,value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},r));return Di(lt(r[1]))?i.concat([new nt(`${a}[1]`,r[1],"expressions are not allowed in function stops.")]):i.concat(mr({key:`${a}[1]`,value:r[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const a=Ti(t.value),l=at(t.value),c=null!==t.value?t.value:s;if(r){if(a!==r)return[new nt(t.key,c,`${a} stop domain type must match previous stop domain type ${r}`)]}else r=a;if("number"!==a&&"string"!==a&&"boolean"!==a)return[new nt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==a&&"categorical"!==i){let r=`number expected, ${a} found`;return vi(e)&&void 0===i&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new nt(t.key,c,r)]}return"categorical"!==i||"number"!==a||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===a&&void 0!==n&&lnew nt(`${t.key}${e.key}`,t.value,e.message)));const i=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!i.outputDefined())return[new nt(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&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!xe(i,["zoom","feature-state"]))return[new nt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!_e(i))return[new nt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function ji(t){const e=t.key,i=t.value,r=t.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(at(i))&&n.push(new nt(e,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(at(i))&&n.push(new nt(e,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function Zi(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(const e of t.slice(1))if(!Zi(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Xi={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Wi(t){if(null==t)return{filter:()=>!0,needGeometry:!1};Zi(t)||(t=Ji(t));const e=Li(t,Xi);if("error"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return{filter:(t,i,r)=>e.value.evaluate(t,i,{},r),needGeometry:Ki(t)}}function Hi(t,e){return te?1:0}function Ki(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Yi(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(Ji))):"all"===e?["all"].concat(t.slice(1).map(Ji)):"none"===e?["all"].concat(t.slice(1).map(Ji).map(er)):"in"===e?Qi(t[1],t.slice(2)):"!in"===e?er(Qi(t[1],t.slice(2))):"has"===e?tr(t[1]):"!has"===e?er(tr(t[1])):"within"!==e||t;var i}function Yi(t,e,i){switch(t){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,t,e]}}function Qi(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((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(Hi)]]:["filter-in-small",t,["literal",e]]}}function tr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function er(t){return["!",t]}function ir(t){return Zi(lt(t.value))?qi(ot({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):rr(t)}function rr(t){const e=t.value,i=t.key;if("array"!==Ti(e))return[new nt(i,e,`array expected, ${Ti(e)} found`)];const r=t.styleSpec;let n,s=[];if(e.length<1)return[new nt(i,e,"filter array must have at least 1 element")];switch(s=s.concat(ji({key:`${i}[0]`,value:e[0],valueSpec:r.filter_operator,style:t.style,styleSpec:t.styleSpec})),at(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===at(e[1])&&s.push(new nt(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&s.push(new nt(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(n=Ti(e[1]),"string"!==n&&s.push(new nt(`${i}[1]`,e[1],`string expected, ${n} found`)));for(let o=2;o{t in i&&e.push(new nt(r,i[t],`"${t}" is prohibited for ref layers`))})),n.layers.forEach((e=>{at(e.id)===a&&(t=e)})),t?t.ref?e.push(new nt(r,i.ref,"ref cannot reference another ref layer")):o=at(t.type):e.push(new nt(r,i.ref,`ref layer "${a}" not found`))}else if("background"!==o)if(i.source){const t=n.sources&&n.sources[i.source],s=t&&at(t.type);t?"vector"===s&&"raster"===o?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster source`)):"raster"===s&&"raster"!==o?e.push(new nt(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==s||i["source-layer"]?"raster-dem"===s&&"hillshade"!==o?e.push(new nt(r,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!i.paint||!i.paint["line-gradient"]||"geojson"===s&&t.lineMetrics||e.push(new nt(r,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new nt(r,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new nt(r,i.source,`source "${i.source}" not found`))}else e.push(new nt(r,i,'missing required property "source"'));return e=e.concat(Vi({key:r,value:i,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>mr({key:`${r}.type`,value:i.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,object:i,objectKey:"type"}),filter:ir,layout:t=>Vi({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>or(ot({layerType:o},t))}}),paint:t=>Vi({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>sr(ot({layerType:o},t))}})}})),e}function lr(t){const e=t.value,i=t.key,r=Ti(e);return"string"!==r?[new nt(i,e,`string expected, ${r} found`)]:[]}const cr={promoteId:function({key:t,value:e}){if("string"===Ti(e))return lr({key:t,value:e});{const i=[];for(const r in e)i.push(...lr({key:`${t}.${r}`,value:e[r]}));return i}}};function hr(t){const e=t.value,i=t.key,r=t.styleSpec,n=t.style;if(!e.type)return[new nt(i,e,'"type" is required')];const s=at(e.type);let o;switch(s){case"vector":case"raster":case"raster-dem":return o=Vi({key:i,value:e,valueSpec:r[`source_${s.replace("-","_")}`],style:t.style,styleSpec:r,objectElementValidators:cr}),o;case"geojson":if(o=Vi({key:i,value:e,valueSpec:r.source_geojson,style:n,styleSpec:r,objectElementValidators:cr}),e.cluster)for(const t in e.clusterProperties){const[r,n]=e.clusterProperties[t],s="string"==typeof r?[r,["accumulated"],["get",t]]:r;o.push(...qi({key:`${i}.${t}.map`,value:n,expressionContext:"cluster-map"})),o.push(...qi({key:`${i}.${t}.reduce`,value:s,expressionContext:"cluster-reduce"}))}return o;case"video":return Vi({key:i,value:e,valueSpec:r.source_video,style:n,styleSpec:r});case"image":return Vi({key:i,value:e,valueSpec:r.source_image,style:n,styleSpec:r});case"canvas":return[new nt(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ji({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,styleSpec:r})}}function ur(t){const e=t.value,i=t.styleSpec,r=i.light,n=t.style;let s=[];const o=Ti(e);if(void 0===e)return s;if("object"!==o)return s=s.concat([new nt("light",e,`object expected, ${o} found`)]),s;for(const t in e){const o=t.match(/^(.*)-transition$/);s=s.concat(o&&r[o[1]]&&r[o[1]].transition?mr({key:t,value:e[t],valueSpec:i.transition,style:n,styleSpec:i}):r[t]?mr({key:t,value:e[t],valueSpec:r[t],style:n,styleSpec:i}):[new nt(t,e[t],`unknown property "${t}"`)])}return s}function pr(t){const e=t.value,i=t.styleSpec,r=i.terrain,n=t.style;let s=[];const o=Ti(e);if(void 0===e)return s;if("object"!==o)return s=s.concat([new nt("terrain",e,`object expected, ${o} found`)]),s;for(const t in e)s=s.concat(r[t]?mr({key:t,value:e[t],valueSpec:r[t],style:n,styleSpec:i}):[new nt(t,e[t],`unknown property "${t}"`)]);return s}const dr={"*":()=>[],array:Ni,boolean:function(t){const e=t.value,i=t.key,r=Ti(e);return"boolean"!==r?[new nt(i,e,`boolean expected, ${r} found`)]:[]},number:Gi,color:function(t){const e=t.key,i=t.value,r=Ti(i);return"string"!==r?[new nt(e,i,`color expected, ${r} found`)]:null===zt(i)?[new nt(e,i,`color expected, "${i}" found`)]:[]},constants:st,enum:ji,filter:ir,function:$i,layer:ar,object:Vi,source:hr,light:ur,terrain:pr,string:lr,formatted:function(t){return 0===lr(t).length?[]:qi(t)},resolvedImage:function(t){return 0===lr(t).length?[]:qi(t)},padding:function(t){const e=t.key,i=t.value;if("array"===Ti(i)){if(i.length<1||i.length>4)return[new nt(e,i,`padding requires 1 to 4 values; ${i.length} values found`)];const t={type:"number"};let r=[];for(let n=0;n[]}})),t.constants&&(i=i.concat(st({key:"constants",value:t.constants,style:t,styleSpec:e}))),_r(i)}function _r(t){return[].concat(t).sort(((t,e)=>t.line-e.line))}function yr(t){return function(...e){return _r(t.apply(this,e))}}gr.source=yr(hr),gr.light=yr(ur),gr.terrain=yr(pr),gr.layer=yr(ar),gr.filter=yr(ir),gr.paintProperty=yr(sr),gr.layoutProperty=yr(or);const xr=gr,vr=xr.light,br=xr.paintProperty,wr=xr.layoutProperty;function Tr(t,e){let i=!1;if(e&&e.length)for(const r of e)t.fire(new et(new Error(r.message))),i=!0;return i}class Er{constructor(t,e,i){const r=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const n=new Int32Array(this.arrayBuffer);t=n[0],this.d=(e=n[1])+2*(i=n[2]);for(let t=0;t=c[l+0]&&r>=c[l+1])?(o[u]=!0,s.push(n[u])):o[u]=!1}}}}_forEachCell(t,e,i,r,n,s,o,a){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++){const c=this.d*l+p;if((!a||a(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&n.call(this,t,e,i,r,c,s,o,a))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let i=0;for(let t=0;t=0)continue;const s=t[i];n[i]=Sr[r].shallow.indexOf(i)>=0?s:zr(s,e)}t instanceof Error&&(n.message=t.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(n.$name=r),n}throw new Error("can't serialize object of type "+typeof t)}function Cr(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||t instanceof Blob||Ar(t)||T(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Cr);if("object"==typeof t){const e=t.$name||"Object";if(!Sr[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=Sr[e];if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(t);const r=Object.create(i.prototype);for(const i of Object.keys(t)){if("$name"===i)continue;const n=t[i];r[i]=Sr[e].shallow.indexOf(i)>=0?n:Cr(n)}return r}throw new Error("can't deserialize object of type "+typeof t)}class Mr{constructor(){this.first=!0}update(t,e){const i=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=i,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=i,!0):(this.lastFloorZoom>i?(this.lastIntegerZoom=i+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function Pr(t){for(const e of t)if(Br(e.charCodeAt(0)))return!0;return!1}function Dr(t){for(const e of t)if(!Lr(e.charCodeAt(0)))return!1;return!0}function Lr(t){return!(kr.Arabic(t)||kr["Arabic Supplement"](t)||kr["Arabic Extended-A"](t)||kr["Arabic Presentation Forms-A"](t)||kr["Arabic Presentation Forms-B"](t))}function Br(t){return!(746!==t&&747!==t&&(t<4352||!(kr["Bopomofo Extended"](t)||kr.Bopomofo(t)||kr["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||kr["CJK Compatibility Ideographs"](t)||kr["CJK Compatibility"](t)||kr["CJK Radicals Supplement"](t)||kr["CJK Strokes"](t)||!(!kr["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||kr["CJK Unified Ideographs Extension A"](t)||kr["CJK Unified Ideographs"](t)||kr["Enclosed CJK Letters and Months"](t)||kr["Hangul Compatibility Jamo"](t)||kr["Hangul Jamo Extended-A"](t)||kr["Hangul Jamo Extended-B"](t)||kr["Hangul Jamo"](t)||kr["Hangul Syllables"](t)||kr.Hiragana(t)||kr["Ideographic Description Characters"](t)||kr.Kanbun(t)||kr["Kangxi Radicals"](t)||kr["Katakana Phonetic Extensions"](t)||kr.Katakana(t)&&12540!==t||!(!kr["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)||!(!kr["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||kr["Unified Canadian Aboriginal Syllabics"](t)||kr["Unified Canadian Aboriginal Syllabics Extended"](t)||kr["Vertical Forms"](t)||kr["Yijing Hexagram Symbols"](t)||kr["Yi Syllables"](t)||kr["Yi Radicals"](t))))}function Rr(t){return!(Br(t)||function(t){return!!(kr["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||kr["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)||kr["Letterlike Symbols"](t)||kr["Number Forms"](t)||kr["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)||kr["Control Pictures"](t)&&9251!==t||kr["Optical Character Recognition"](t)||kr["Enclosed Alphanumerics"](t)||kr["Geometric Shapes"](t)||kr["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||kr["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||kr["CJK Symbols and Punctuation"](t)||kr.Katakana(t)||kr["Private Use Area"](t)||kr["CJK Compatibility Forms"](t)||kr["Small Form Variants"](t)||kr["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 Fr(t){return t>=1424&&t<=2303||kr["Arabic Presentation Forms-A"](t)||kr["Arabic Presentation Forms-B"](t)}function Or(t,e){return!(!e&&Fr(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||kr.Khmer(t))}function Ur(t){for(const e of t)if(Fr(e.charCodeAt(0)))return!0;return!1}const Vr="deferred",Nr="loading",Gr="loaded";let $r=null,qr="unavailable",jr=null;const Zr=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(qr="error"),$r&&$r(t)};function Xr(){Wr.fire(new tt("pluginStateChange",{pluginStatus:qr,pluginURL:jr}))}const Wr=new it,Hr=function(){return qr},Kr=function(){if(qr!==Vr||!jr)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");qr=Nr,Xr(),jr&&Z({url:jr},(t=>{t?Zr(t):(qr=Gr,Xr())}))},Jr={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>qr===Gr||null!=Jr.applyArabicShaping,isLoading:()=>qr===Nr,setState(t){qr=t.pluginStatus,jr=t.pluginURL},isParsed:()=>null!=Jr.applyArabicShaping&&null!=Jr.processBidirectionalText&&null!=Jr.processStyledBidirectionalText,getPluginURL:()=>jr};class Yr{constructor(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 Mr,this.transition={})}isSupportedScript(t){return function(t,e){for(const i of t)if(!Or(i.charCodeAt(0),e))return!1;return!0}(t,Jr.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),i=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*e}}}class Qr{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Ei(t))return new Oi(t,e);if(Di(t)){const i=Fi(t,e);if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return i.value}{let i=t;return"color"===e.type&&"string"==typeof t?i=Lt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)||(i=Ot.parse(t)),{kind:"constant",evaluate:()=>i}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,i){return this.property.possiblyEvaluate(this,t,e,i)}}class tn{constructor(t){this.property=t,this.value=new Qr(t,void 0)}transitioned(t,e){return new rn(this.property,this.value,e,a({},t.transition,this.transition),t.now)}untransitioned(){return new rn(this.property,this.value,null,{},0)}}class en{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return p(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].value=new Qr(this._values[t].property,null===e?void 0:p(e))}getTransition(t){return p(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].transition=p(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i);const r=this.getTransition(e);void 0!==r&&(t[`${e}-transition`]=r)}return t}transitioned(t,e){const i=new nn(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(t,e._values[r]);return i}untransitioned(){const t=new nn(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class rn{constructor(t,e,i,r,n){this.property=t,this.value=e,this.begin=n+r.delay||0,this.end=this.begin+r.duration||0,t.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(t,e,i){const r=t.now||0,n=this.value.possiblyEvaluate(t,e,i),s=this.prior;if(s){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(r=1)return 1;const e=t*t,i=e*t;return 4*(t<.5?i:3*(t-e)+i-.75)}(o))}}return n}}class nn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,i){const r=new an(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class sn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}getValue(t){return p(this._values[t].value)}setValue(t,e){this._values[t]=new Qr(this._values[t].property,null===e?void 0:p(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i)}return t}possiblyEvaluate(t,e,i){const r=new an(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}}class on{constructor(t,e,i){this.property=t,this.value=e,this.parameters=i}isConstant(){return"constant"===this.value.kind}constantOr(t){return"constant"===this.value.kind?this.value.value:t}evaluate(t,e,i,r){return this.property.evaluate(this.value,this.parameters,t,e,i,r)}}class an{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class ln{constructor(t){this.specification=t}possiblyEvaluate(t,e){return t.expression.evaluate(e)}interpolate(t,e,i){const r=Ie[this.specification.type];return r?r(t,e,i):t}}class cn{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,i,r){return new on(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},i,r)}:t.expression,e)}interpolate(t,e,i){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new on(this,{kind:"constant",value:void 0},t.parameters);const r=Ie[this.specification.type];return r?new on(this,{kind:"constant",value:r(t.value.value,e.value.value,i)},t.parameters):t}evaluate(t,e,i,r,n,s){return"constant"===t.kind?t.value:t.evaluate(e,i,r,n,s)}}class hn extends cn{possiblyEvaluate(t,e,i,r){if(void 0===t.value)return new on(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r),s="resolvedImage"===t.property.specification.type&&"string"!=typeof n?n.name:n,o=this._calculate(s,s,s,e);return new on(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){const i=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 on(this,{kind:"constant",value:i},e)}return new on(this,t.expression,e)}evaluate(t,e,i,r,n,s){if("source"===t.kind){const o=t.evaluate(e,i,r,n,s);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},i,r),t.evaluate({zoom:Math.floor(e.zoom)},i,r),t.evaluate({zoom:Math.floor(e.zoom)+1},i,r),e):t.value}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class un{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){if(void 0!==t.value){if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r);return this._calculate(n,n,n,e)}return this._calculate(t.expression.evaluate(new Yr(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class pn{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){return!!t.expression.evaluate(e,null,{},i,r)}interpolate(){return!1}}class dn{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const i=t[e];i.specification.overridable&&this.overridableProperties.push(e);const r=this.defaultPropertyValues[e]=new Qr(i,void 0),n=this.defaultTransitionablePropertyValues[e]=new tn(i);this.defaultTransitioningPropertyValues[e]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=r.possiblyEvaluate({})}}}Ir("DataDrivenProperty",cn),Ir("DataConstantProperty",ln),Ir("CrossFadedDataDrivenProperty",hn),Ir("CrossFadedProperty",un),Ir("ColorRampProperty",pn);const mn="-transition";class fn extends it{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new sn(e.layout)),e.paint)){this._transitionablePaint=new en(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new an(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,i={}){null!=e&&this._validate(wr,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return t.endsWith(mn)?this._transitionablePaint.getTransition(t.slice(0,-mn.length)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(br,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(t.endsWith(mn))return this._transitionablePaint.setTransition(t.slice(0,-mn.length),e||void 0),!1;{const i=this._transitionablePaint._values[t],r="cross-faded-data-driven"===i.property.specification["property-type"],n=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value;return o.isDataDriven()||n||r||this._handleOverridablePaintPropertyUpdate(t,s,o)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,i){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(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)}serialize(){const 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),u(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,i,r,n={}){return(!n||!1!==n.validate)&&Tr(this,t.call(xr,{key:e,layerType:this.type,objectKey:i,value:r,styleSpec:rt,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof on&&vi(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const gn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class _n{constructor(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}}class yn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xn(t,e=1){let i=0,r=0;return{members:t.map((t=>{const n=gn[t.type].BYTES_PER_ELEMENT,s=i=vn(i,Math.max(e,n)),o=t.components||1;return r=Math.max(r,n),i+=n*o,{name:t.name,type:t.type,components:o,offset:s}})),size:vn(i,Math.max(r,e)),alignment:e}}function vn(t,e){return Math.ceil(t/e)*e}class bn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.int16[r+0]=e,this.int16[r+1]=i,t}}bn.prototype.bytesPerElement=4,Ir("StructArrayLayout2i4",bn);class wn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,t}}wn.prototype.bytesPerElement=8,Ir("StructArrayLayout4i8",wn);class Tn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,o){const a=6*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,this.int16[a+4]=s,this.int16[a+5]=o,t}}Tn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i4i12",Tn);class En extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,o){const a=4*t,l=8*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.uint8[l+4]=r,this.uint8[l+5]=n,this.uint8[l+6]=s,this.uint8[l+7]=o,t}}En.prototype.bytesPerElement=8,Ir("StructArrayLayout2i4ub8",En);class Sn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.float32[r+0]=e,this.float32[r+1]=i,t}}Sn.prototype.bytesPerElement=8,Ir("StructArrayLayout2f8",Sn);class In extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l,c){const h=this.length;return this.resize(h+1),this.emplace(h,t,e,i,r,n,s,o,a,l,c)}emplace(t,e,i,r,n,s,o,a,l,c,h){const u=10*t;return this.uint16[u+0]=e,this.uint16[u+1]=i,this.uint16[u+2]=r,this.uint16[u+3]=n,this.uint16[u+4]=s,this.uint16[u+5]=o,this.uint16[u+6]=a,this.uint16[u+7]=l,this.uint16[u+8]=c,this.uint16[u+9]=h,t}}In.prototype.bytesPerElement=20,Ir("StructArrayLayout10ui20",In);class An extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l,c,h,u){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,i,r,n,s,o,a,l,c,h,u)}emplace(t,e,i,r,n,s,o,a,l,c,h,u,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=i,this.int16[d+2]=r,this.int16[d+3]=n,this.uint16[d+4]=s,this.uint16[d+5]=o,this.uint16[d+6]=a,this.uint16[d+7]=l,this.int16[d+8]=c,this.int16[d+9]=h,this.int16[d+10]=u,this.int16[d+11]=p,t}}An.prototype.bytesPerElement=24,Ir("StructArrayLayout4i4ui4i24",An);class zn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.float32[n+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}zn.prototype.bytesPerElement=12,Ir("StructArrayLayout3f12",zn);class Cn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Cn.prototype.bytesPerElement=4,Ir("StructArrayLayout1ul4",Cn);class Mn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,i,r,n,s,o,a,l)}emplace(t,e,i,r,n,s,o,a,l,c){const h=10*t,u=5*t;return this.int16[h+0]=e,this.int16[h+1]=i,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=s,this.int16[h+5]=o,this.uint32[u+3]=a,this.uint16[h+8]=l,this.uint16[h+9]=c,t}}Mn.prototype.bytesPerElement=20,Ir("StructArrayLayout6i1ul2ui20",Mn);class kn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,o){const a=6*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,this.int16[a+4]=s,this.int16[a+5]=o,t}}kn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i2i2i12",kn);class Pn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,i,r,n)}emplace(t,e,i,r,n,s){const o=4*t,a=8*t;return this.float32[o+0]=e,this.float32[o+1]=i,this.float32[o+2]=r,this.int16[a+6]=n,this.int16[a+7]=s,t}}Pn.prototype.bytesPerElement=16,Ir("StructArrayLayout2f1f2i16",Pn);class Dn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=12*t,o=3*t;return this.uint8[s+0]=e,this.uint8[s+1]=i,this.float32[o+1]=r,this.float32[o+2]=n,t}}Dn.prototype.bytesPerElement=12,Ir("StructArrayLayout2ub2f12",Dn);class Ln extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.uint16[n+0]=e,this.uint16[n+1]=i,this.uint16[n+2]=r,t}}Ln.prototype.bytesPerElement=6,Ir("StructArrayLayout3ui6",Ln);class Bn extends yn{_refreshViews(){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)}emplaceBack(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g){const _=this.length;return this.resize(_+1),this.emplace(_,t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g)}emplace(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_){const y=24*t,x=12*t,v=48*t;return this.int16[y+0]=e,this.int16[y+1]=i,this.uint16[y+2]=r,this.uint16[y+3]=n,this.uint32[x+2]=s,this.uint32[x+3]=o,this.uint32[x+4]=a,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=h,this.float32[x+7]=u,this.float32[x+8]=p,this.uint8[v+36]=d,this.uint8[v+37]=m,this.uint8[v+38]=f,this.uint32[x+10]=g,this.int16[y+22]=_,t}}Bn.prototype.bytesPerElement=48,Ir("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Bn);class Rn extends yn{_refreshViews(){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)}emplaceBack(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,A){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,A)}emplace(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,A,z){const C=34*t,M=17*t;return this.int16[C+0]=e,this.int16[C+1]=i,this.int16[C+2]=r,this.int16[C+3]=n,this.int16[C+4]=s,this.int16[C+5]=o,this.int16[C+6]=a,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=h,this.uint16[C+10]=u,this.uint16[C+11]=p,this.uint16[C+12]=d,this.uint16[C+13]=m,this.uint16[C+14]=f,this.uint16[C+15]=g,this.uint16[C+16]=_,this.uint16[C+17]=y,this.uint16[C+18]=x,this.uint16[C+19]=v,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[M+12]=E,this.float32[M+13]=S,this.float32[M+14]=I,this.float32[M+15]=A,this.float32[M+16]=z,t}}Rn.prototype.bytesPerElement=68,Ir("StructArrayLayout8i15ui1ul4f68",Rn);class Fn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Fn.prototype.bytesPerElement=4,Ir("StructArrayLayout1f4",Fn);class On extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.int16[n+0]=e,this.int16[n+1]=i,this.int16[n+2]=r,t}}On.prototype.bytesPerElement=6,Ir("StructArrayLayout3i6",On);class Un extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=4*t;return this.uint32[2*t+0]=e,this.uint16[n+2]=i,this.uint16[n+3]=r,t}}Un.prototype.bytesPerElement=8,Ir("StructArrayLayout1ul2ui8",Un);class Vn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.uint16[r+0]=e,this.uint16[r+1]=i,t}}Vn.prototype.bytesPerElement=4,Ir("StructArrayLayout2ui4",Vn);class Nn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Nn.prototype.bytesPerElement=2,Ir("StructArrayLayout1ui2",Nn);class Gn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=i,this.float32[s+2]=r,this.float32[s+3]=n,t}}Gn.prototype.bytesPerElement=16,Ir("StructArrayLayout4f16",Gn);class $n extends _n{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new S(this.anchorPointX,this.anchorPointY)}}$n.prototype.size=20;class qn extends Mn{get(t){return new $n(this,t)}}Ir("CollisionBoxArray",qn);class jn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}jn.prototype.size=48;class Zn extends Bn{get(t){return new jn(this,t)}}Ir("PlacedSymbolArray",Zn);class Xn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get textOffset0(){return this._structArray.float32[this._pos4+14]}get textOffset1(){return this._structArray.float32[this._pos4+15]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+16]}}Xn.prototype.size=68;class Wn extends Rn{get(t){return new Xn(this,t)}}Ir("SymbolInstanceArray",Wn);class Hn extends Fn{getoffsetX(t){return this.float32[1*t+0]}}Ir("GlyphOffsetArray",Hn);class Kn extends On{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Ir("SymbolLineVertexArray",Kn);class Jn extends _n{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Jn.prototype.size=8;class Yn extends Un{get(t){return new Jn(this,t)}}Ir("FeatureIndexArray",Yn);class Qn extends bn{}class ts extends bn{}class es extends bn{}class is extends Tn{}class rs extends En{}class ns extends Sn{}class ss extends In{}class os extends An{}class as extends zn{}class ls extends Cn{}class cs extends kn{}class hs extends Dn{}class us extends Ln{}class ps extends Vn{}const ds=xn([{name:"a_pos",components:2,type:"Int16"}],4),{members:ms}=ds;class fs{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,r){let n=this.segments[this.segments.length-1];return t>fs.MAX_VERTEX_ARRAY_LENGTH&&m(`Max vertices per segment is ${fs.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!n||n.vertexLength+t>fs.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:e.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==r&&(n.sortKey=r),this.segments.push(n)),n}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,i,r){return new fs([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function gs(t,e){return 256*(t=s(Math.floor(t),0,255))+s(Math.floor(e),0,255)}fs.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ir("SegmentVector",fs);const _s=xn([{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"}]);var ys={exports:{}},xs={exports:{}};xs.exports=function(t,e){var i,r,n,s,o,a,l,c;for(r=t.length-(i=3&t.length),n=e,o=3432918353,a=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295}return n^=t.length,n=2246822507*(65535&(n^=n>>>16))+((2246822507*(n>>>16)&65535)<<16)&4294967295,n=3266489909*(65535&(n^=n>>>13))+((3266489909*(n>>>16)&65535)<<16)&4294967295,(n^=n>>>16)>>>0};var vs={exports:{}};vs.exports=function(t,e){for(var i,r=t.length,n=e^r,s=0;r>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),r-=4,++s;switch(r){case 3:n^=(255&t.charCodeAt(s+2))<<16;case 2:n^=(255&t.charCodeAt(s+1))<<8;case 1:n=1540483477*(65535&(n^=255&t.charCodeAt(s)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var bs=xs.exports,ws=vs.exports;ys.exports=bs,ys.exports.murmur3=bs,ys.exports.murmur2=ws;class Ts{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,r){this.ids.push(Es(t)),this.positions.push(e,i,r)}getPositions(t){const e=Es(t);let i=0,r=this.ids.length-1;for(;i>1;this.ids[t]>=e?r=t:i=t+1}const n=[];for(;this.ids[i]===e;)n.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return n}static serialize(t,e){const i=new Float64Array(t.ids),r=new Uint32Array(t.positions);return Ss(i,r,0,i.length-1),e&&e.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(t){const e=new Ts;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function Es(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:ys.exports(String(t))}function Ss(t,e,i,r){for(;i>1];let s=i-1,o=r+1;for(;;){do{s++}while(t[s]n);if(s>=o)break;Is(t,s,o),Is(e,3*s,3*o),Is(e,3*s+1,3*o+1),Is(e,3*s+2,3*o+2)}o-i`u_${t}`)),this.type=i}setUniform(t,e,i){t.set(i.constantOr(this.value))}getBinding(t,e,i){return"color"===this.type?new Ms(t,e):new zs(t,e)}}class Ls{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,i,r){const n="u_pattern_to"===r?this.patternTo:"u_pattern_from"===r?this.patternFrom:"u_pixel_ratio_to"===r?this.pixelRatioTo:"u_pixel_ratio_from"===r?this.pixelRatioFrom:null;n&&t.set(n)}getBinding(t,e,i){return"u_pattern"===i.substr(0,9)?new Cs(t,e):new zs(t,e)}}class Bs{constructor(t,e,i,r){this.expression=t,this.type=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(t,e,i,r,n){const s=this.paintVertexArray.length,o=this.expression.evaluate(new Yr(0),e,{},r,[],n);this.paintVertexArray.resize(t),this._setPaintValue(s,t,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:0},i,r);this._setPaintValue(t,e,n)}_setPaintValue(t,e,i){if("color"===this.type){const r=Ps(i);for(let i=t;i`u_${t}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new s}populatePaintArray(t,e,i,r,n){const s=this.expression.evaluate(new Yr(this.zoom),e,{},r,[],n),o=this.expression.evaluate(new Yr(this.zoom+1),e,{},r,[],n),a=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(a,t,s,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:this.zoom},i,r),s=this.expression.evaluate({zoom:this.zoom+1},i,r);this._setPaintValue(t,e,n,s)}_setPaintValue(t,e,i,r){if("color"===this.type){const n=Ps(i),s=Ps(r);for(let i=t;i`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const i=this.binders[e];if(i instanceof Bs||i instanceof Rs)for(let e=0;e!0)){this.programConfigurations={};for(const r of t)this.programConfigurations[r.id]=new Os(r,e,i);this.needsUpload=!1,this._featureMap=new Ts,this._bufferOffset=0}populatePaintArrays(t,e,i,r,n,s){for(const i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,r,n,s);void 0!==e.id&&this._featureMap.add(e.id,i,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,i,r){for(const n of i)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(t,this._featureMap,e,n,r)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function Vs(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 Ns(t,e,i){const r={color:{source:Sn,composite:Gn},number:{source:Fn,composite:Sn}},n=function(t){return{"line-pattern":{source:ss,composite:ss},"fill-pattern":{source:ss,composite:ss},"fill-extrusion-pattern":{source:ss,composite:ss}}[t]}(t);return n&&n[i]||r[e][i]}Ir("ConstantBinder",Ds),Ir("CrossFadedConstantBinder",Ls),Ir("SourceExpressionBinder",Bs),Ir("CrossFadedCompositeBinder",Fs),Ir("CompositeExpressionBinder",Rs),Ir("ProgramConfiguration",Os,{omit:["_buffers"]}),Ir("ProgramConfigurationSet",Us);var Gs=8192;const $s=Math.pow(2,14)-1,qs=-$s-1;function js(t){const e=Gs/t.extent,i=t.loadGeometry();for(let t=0;ti.x+1||oi.y+1)&&m("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return i}function Zs(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?js(t):[]}}function Xs(t,e,i,r,n){t.emplaceBack(2*e+(r+1)/2,2*i+(n+1)/2)}class Ws{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ts,this.indexArray=new us,this.segments=new fs,this.programConfigurations=new Us(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){const r=this.layers[0],n=[];let s=null,o=!1;"circle"===r.type&&(s=r.layout.get("circle-sort-key"),o=!s.isConstant());for(const{feature:e,id:r,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Zs(e,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),c,i))continue;const h=o?s.evaluate(c,{},i):void 0,u={id:r,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:js(e),patterns:{},sortKey:h};n.push(u)}o&&n.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of n){const{geometry:n,index:s,sourceLayerIndex:o}=r,a=t[s].feature;this.addFeature(r,n,s,i),e.featureIndex.insert(a,n,s,o,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ms),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,i,r){for(const i of e)for(const e of i){const i=e.x,r=e.y;if(i<0||i>=Gs||r<0||r>=Gs)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=n.vertexLength;Xs(this.layoutVertexArray,i,r,-1,-1),Xs(this.layoutVertexArray,i,r,1,-1),Xs(this.layoutVertexArray,i,r,1,1),Xs(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s,s+3,s+2),n.vertexLength+=4,n.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,{},r)}}function Hs(t,e){for(let i=0;i1){if(Qs(t,e))return!0;for(let r=0;r1?i:i.sub(e)._mult(n)._add(e))}function ro(t,e){let i,r,n,s=!1;for(let o=0;oe.y!=n.y>e.y&&e.x<(n.x-r.x)*(e.y-r.y)/(n.y-r.y)+r.x&&(s=!s)}return s}function no(t,e){let i=!1;for(let r=0,n=t.length-1;re.y!=o.y>e.y&&e.x<(o.x-s.x)*(e.y-s.y)/(o.y-s.y)+s.x&&(i=!i)}return i}function so(t,e,i){const r=i[0],n=i[2];if(t.xn.x&&e.x>n.x||t.yn.y&&e.y>n.y)return!1;const s=f(t,e,i[0]);return s!==f(t,e,i[1])||s!==f(t,e,i[2])||s!==f(t,e,i[3])}function oo(t,e,i){const r=e.paint.get(t).value;return"constant"===r.kind?r.value:i.programConfigurations.get(e.id).getMaxValue(t)}function ao(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function lo(t,e,i,r,n){if(!e[0]&&!e[1])return t;const s=S.convert(e)._mult(n);"viewport"===i&&s._rotate(-r);const o=[];for(let e=0;et.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const o=t.data,a=e.data;for(let l=0;l{e[t.evaluationKey]=s;const o=t.expression.evaluate(e);n.data[i+r+0]=Math.floor(255*o.r/o.a),n.data[i+r+1]=Math.floor(255*o.g/o.a),n.data[i+r+2]=Math.floor(255*o.b/o.a),n.data[i+r+3]=Math.floor(255*o.a)};if(t.clips)for(let e=0,n=0;e80*i){r=s=t[0],n=o=t[1];for(var m=i;ms&&(s=a),l>o&&(o=l);c=0!==(c=Math.max(s-r,o-n))?32767/c:0}return Uo(p,d,i,r,n,c,0),d}function Fo(t,e,i,r,n){var s,o;if(n===aa(t,e,i,r)>0)for(s=e;s=e;s-=r)o=na(s,t[s],t[s+1],o);return o&&Yo(o,o.next)&&(sa(o),o=o.next),o}function Oo(t,e){if(!t)return t;e||(e=t);var i,r=t;do{if(i=!1,r.steiner||!Yo(r,r.next)&&0!==Jo(r.prev,r,r.next))r=r.next;else{if(sa(r),(r=e=r.prev)===r.next)break;i=!0}}while(i||r!==e);return e}function Uo(t,e,i,r,n,s,o){if(t){!o&&s&&function(t,e,i,r){var n=t;do{0===n.z&&(n.z=Xo(n.x,n.y,e,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,i,r,n,s,o,a,l,c=1;do{for(i=t,t=null,s=null,o=0;i;){for(o++,r=i,a=0,e=0;e0||l>0&&r;)0!==a&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,a--):(n=r,r=r.nextZ,l--),s?s.nextZ=n:t=n,n.prevZ=s,s=n;i=r}s.nextZ=null,c*=2}while(o>1)}(n)}(t,r,n,s);for(var a,l,c=t;t.prev!==t.next;)if(a=t.prev,l=t.next,s?No(t,r,n,s):Vo(t))e.push(a.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),sa(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Uo(t=Go(Oo(t),e,i),e,i,r,n,s,2):2===o&&$o(t,e,i,r,n,s):Uo(Oo(t),e,i,r,n,s,1);break}}}function Vo(t){var e=t.prev,i=t,r=t.next;if(Jo(e,i,r)>=0)return!1;for(var n=e.x,s=i.x,o=r.x,a=e.y,l=i.y,c=r.y,h=ns?n>o?n:o:s>o?s:o,d=a>l?a>c?a:c:l>c?l:c,m=r.next;m!==e;){if(m.x>=h&&m.x<=p&&m.y>=u&&m.y<=d&&Ho(n,a,s,l,o,c,m.x,m.y)&&Jo(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function No(t,e,i,r){var n=t.prev,s=t,o=t.next;if(Jo(n,s,o)>=0)return!1;for(var a=n.x,l=s.x,c=o.x,h=n.y,u=s.y,p=o.y,d=al?a>c?a:c:l>c?l:c,g=h>u?h>p?h:p:u>p?u:p,_=Xo(d,m,e,i,r),y=Xo(f,g,e,i,r),x=t.prevZ,v=t.nextZ;x&&x.z>=_&&v&&v.z<=y;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Ho(a,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Ho(a,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=_;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Ho(a,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Ho(a,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Go(t,e,i){var r=t;do{var n=r.prev,s=r.next.next;!Yo(n,s)&&Qo(n,r,r.next,s)&&ia(n,s)&&ia(s,n)&&(e.push(n.i/i|0),e.push(r.i/i|0),e.push(s.i/i|0),sa(r),sa(r.next),r=t=s),r=r.next}while(r!==t);return Oo(r)}function $o(t,e,i,r,n,s){var o=t;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&Ko(o,a)){var l=ra(o,a);return o=Oo(o,o.next),l=Oo(l,l.next),Uo(o,e,i,r,n,s,0),void Uo(l,e,i,r,n,s,0)}a=a.next}o=o.next}while(o!==t)}function qo(t,e){return t.x-e.x}function jo(t,e){var i=function(t,e){var i,r=e,n=t.x,s=t.y,o=-1/0;do{if(s<=r.y&&s>=r.next.y&&r.next.y!==r.y){var a=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(a<=n&&a>o&&(o=a,i=r.x=r.x&&r.x>=h&&n!==r.x&&Ho(si.x||r.x===i.x&&Zo(i,r)))&&(i=r,p=l)),r=r.next}while(r!==c);return i}(t,e);if(!i)return e;var r=ra(i,t);return Oo(r,r.next),Oo(i,i.next)}function Zo(t,e){return Jo(t.prev,t,e.prev)<0&&Jo(e.next,t,t.next)<0}function Xo(t,e,i,r,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Wo(t){var e=t,i=t;do{(e.x=(t-o)*(s-a)&&(t-o)*(r-a)>=(i-o)*(e-a)&&(i-o)*(s-a)>=(n-o)*(r-a)}function Ko(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&Qo(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(ia(t,e)&&ia(e,t)&&function(t,e){var i=t,r=!1,n=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&n<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==t);return r}(t,e)&&(Jo(t.prev,t,e.prev)||Jo(t,e.prev,e))||Yo(t,e)&&Jo(t.prev,t,t.next)>0&&Jo(e.prev,e,e.next)>0)}function Jo(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function Yo(t,e){return t.x===e.x&&t.y===e.y}function Qo(t,e,i,r){var n=ea(Jo(t,e,i)),s=ea(Jo(t,e,r)),o=ea(Jo(i,r,t)),a=ea(Jo(i,r,e));return n!==s&&o!==a||!(0!==n||!ta(t,i,e))||!(0!==s||!ta(t,r,e))||!(0!==o||!ta(i,t,r))||!(0!==a||!ta(i,e,r))}function ta(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function ea(t){return t>0?1:t<0?-1:0}function ia(t,e){return Jo(t.prev,t,t.next)<0?Jo(t,e,t.next)>=0&&Jo(t,t.prev,e)>=0:Jo(t,e,t.prev)<0||Jo(t,t.next,e)<0}function ra(t,e){var i=new oa(t.i,t.x,t.y),r=new oa(e.i,e.x,e.y),n=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=n,n.prev=i,r.next=i,i.prev=r,s.next=r,r.prev=s,r}function na(t,e,i,r){var n=new oa(t,e,i);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function sa(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 oa(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function aa(t,e,i,r){for(var n=0,s=e,o=i-r;si;){if(r-i>600){var s=r-i+1,o=e-i+1,a=Math.log(s),l=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);ca(t,e,Math.max(i,Math.floor(e-o*l/s+c)),Math.min(r,Math.floor(e+(s-o)*l/s+c)),n)}var h=t[e],u=i,p=r;for(ha(t,i,e),n(t[r],h)>0&&ha(t,i,r);u0;)p--}0===n(t[i],h)?ha(t,i,p):ha(t,++p,r),p<=e&&(i=p+1),e<=p&&(r=p-1)}}function ha(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function ua(t,e){return te?1:0}function pa(t,e){const i=t.length;if(i<=1)return[t];const r=[];let n,s;for(let e=0;e1)for(let t=0;t0&&i.holes.push(r+=t[n-1].length)}return i};class ga{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new es,this.indexArray=new us,this.indexArray2=new ps,this.programConfigurations=new Us(t.layers,t.zoom),this.segments=new fs,this.segments2=new fs,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ma("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),n=!r.isConstant(),s=[];for(const{feature:o,id:a,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,h=Zs(o,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),h,i))continue;const u=n?r.evaluate(h,{},i,e.availableImages):void 0,p={id:a,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?h.geometry:js(o),patterns:{},sortKey:u};s.push(p)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:o}=r;if(this.hasPattern){const t=fa("fill",this.layers,r,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(r,n,s,i,{});e.featureIndex.insert(t[s].feature,n,s,o,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Lo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(t,e,i,r,n){for(const t of pa(e,500)){let e=0;for(const i of t)e+=i.length;const i=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),r=i.vertexLength,n=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(n.length/2);const i=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),r=i.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(r+e.length-1,r),n.push(e[0].x),n.push(e[0].y);for(let t=1;t>3}if(n--,1===r||2===r)s+=t.readSVarint(),o+=t.readSVarint(),1===r&&(e&&a.push(e),e=[]),e.push(new Ta(s,o));else{if(7!==r)throw new Error("unknown command "+r);e&&e.push(e[0].clone())}}return e&&a.push(e),a},Sa.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,i=1,r=0,n=0,s=0,o=1/0,a=-1/0,l=1/0,c=-1/0;t.pos>3}if(r--,1===i||2===i)(n+=t.readSVarint())a&&(a=n),(s+=t.readSVarint())c&&(c=s);else if(7!==i)throw new Error("unknown command "+i)}return[o,l,a,c]},Sa.prototype.toGeoJSON=function(t,e,i){var r,n,s=this.extent*Math.pow(2,i),o=this.extent*t,a=this.extent*e,l=this.loadGeometry(),c=Sa.types[this.type];function h(t){for(var e=0;e>3;e=1===r?t.readString():2===r?t.readFloat():3===r?t.readDouble():4===r?t.readVarint64():5===r?t.readVarint():6===r?t.readSVarint():7===r?t.readBoolean():null}return e}(i))}Ma.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 za(this._pbf,e,this.extent,this._keys,this._values)};var Pa=Ca;function Da(t,e,i){if(3===t){var r=new Pa(i,i.readVarint()+i.pos);r.length&&(e[r.name]=r)}}wa.VectorTile=function(t,e){this.layers=t.readFields(Da,{},e)},wa.VectorTileFeature=Ea,wa.VectorTileLayer=Ca;const La=wa.VectorTileFeature.types,Ba=Math.pow(2,13);function Ra(t,e,i,r,n,s,o,a){t.emplaceBack(e,i,2*Math.floor(r*Ba)+o,n*Ba*2,s*Ba*2,Math.round(a))}class Fa{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new is,this.centroidVertexArray=new Qn,this.indexArray=new us,this.programConfigurations=new Us(t.layers,t.zoom),this.segments=new fs,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.features=[],this.hasPattern=ma("fill-extrusion",this.layers,e);for(const{feature:r,id:n,index:s,sourceLayerIndex:o}of t){const t=this.layers[0]._featureFilter.needGeometry,a=Zs(r,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),a,i))continue;const l={id:n,sourceLayerIndex:o,index:s,geometry:t?a.geometry:js(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(fa("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,i,{}),e.featureIndex.insert(r,l.geometry,s,o,this.index,!0)}}addFeatures(t,e,i){for(const t of this.features){const{geometry:r}=t;this.addFeature(t,r,t.index,e,i)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ba),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,va.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,i,r,n){const s={x:0,y:0,vertexCount:0};for(const i of pa(e,500)){let e=0;for(const t of i)e+=t.length;let r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of i){if(0===t.length)continue;if(Ua(t))continue;let e=0;for(let i=0;i=1){const o=t[i-1];if(!Oa(n,o)){r.vertexLength+4>fs.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=n.sub(o)._perp()._unit(),i=o.dist(n);e+i>32768&&(e=0),Ra(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,0,e),Ra(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,1,e),s.x+=2*n.x,s.y+=2*n.y,s.vertexCount+=2,e+=i,Ra(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,0,e),Ra(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,1,e),s.x+=2*o.x,s.y+=2*o.y,s.vertexCount+=2;const a=r.vertexLength;this.indexArray.emplaceBack(a,a+2,a+1),this.indexArray.emplaceBack(a+1,a+2,a+3),r.vertexLength+=4,r.primitiveLength+=2}}}}if(r.vertexLength+e>fs.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),"Polygon"!==La[t.type])continue;const n=[],o=[],a=r.vertexLength;for(const t of i)if(0!==t.length){t!==i[0]&&o.push(n.length/2);for(let e=0;eGs)||t.y===e.y&&(t.y<0||t.y>Gs)}function Ua(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Gs))||t.every((t=>t.y<0))||t.every((t=>t.y>Gs))}Ir("FillExtrusionBucket",Fa,{omit:["layers","features"]});var Va={paint:new dn({"fill-extrusion-opacity":new ln(rt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new cn(rt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new hn(rt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new cn(rt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new cn(rt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ln(rt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})};function Na(t,e){return t.x*e.x+t.y*e.y}function Ga(t,e){if(1===t.length){let i=0;const r=e[i++];let n;for(;!n||r.equals(n);)if(n=e[i++],!n)return 1/0;for(;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new rs,this.layoutVertexArray2=new ns,this.indexArray=new us,this.programConfigurations=new Us(t.layers,t.zoom),this.segments=new fs,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ma("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),n=!r.isConstant(),s=[];for(const{feature:e,id:o,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Zs(e,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),c,i))continue;const h=n?r.evaluate(c,{},i):void 0,u={id:o,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:js(e),patterns:{},sortKey:h};s.push(u)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:o}=r;if(this.hasPattern){const t=fa("line",this.layers,r,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(r,n,s,i,{});e.featureIndex.insert(t[s].feature,n,s,o,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Za)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,qa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,i,r,n){const s=this.layers[0].layout,o=s.get("line-join").evaluate(t,{}),a=s.get("line-cap"),l=s.get("line-miter-limit"),c=s.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const i of e)this.addLine(i,t,o,a,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,n,r)}addLine(t,e,i,r,n,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[a-1].equals(t[a-2]);)a--;let l=0;for(;l0;if(b&&e>l){const t=u.dist(p);if(t>2*c){const e=u.sub(u.sub(p)._mult(c/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,m,0,0,h),p=e}}const T=p&&d;let E=T?i:o?"butt":r;if(T&&"round"===E&&(xn&&(E="bevel"),"bevel"===E&&(x>2&&(E="flipbevel"),x100)g=f.mult(-1);else{const t=x*m.add(f).mag()/m.sub(f).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(u,g,0,0,h),this.addCurrentVertex(u,g.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){const t=-Math.sqrt(x*x-1),e=w?t:0,i=w?0:t;if(p&&this.addCurrentVertex(u,m,e,i,h),"fakeround"===E){const t=Math.round(180*v/Math.PI/20);for(let e=1;e2*c){const e=u.add(d.sub(u)._mult(c/t)._round());this.updateDistance(u,e),this.addCurrentVertex(e,f,0,0,h),u=e}}}}addCurrentVertex(t,e,i,r,n,s=!1){const o=e.y*r-e.x,a=-e.y-e.x*r;this.addHalfVertex(t,e.x+e.y*i,e.y-e.x*i,s,!1,i,n),this.addHalfVertex(t,o,a,s,!0,-r,n),this.distance>Ha/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,i,r,n,s))}addHalfVertex({x:t,y:e},i,r,n,s,o,a){const l=.5*(this.lineClips?this.scaledDistance*(Ha-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(n?1:0),(e<<1)+(s?1:0),Math.round(63*i)+128,Math.round(63*r)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const c=a.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),a.primitiveLength++),s?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}Ir("LineBucket",Ka,{omit:["layers","patternFeatures"]});const Ja=new dn({"line-cap":new ln(rt.layout_line["line-cap"]),"line-join":new cn(rt.layout_line["line-join"]),"line-miter-limit":new ln(rt.layout_line["line-miter-limit"]),"line-round-limit":new ln(rt.layout_line["line-round-limit"]),"line-sort-key":new cn(rt.layout_line["line-sort-key"])});var Ya={paint:new dn({"line-opacity":new cn(rt.paint_line["line-opacity"]),"line-color":new cn(rt.paint_line["line-color"]),"line-translate":new ln(rt.paint_line["line-translate"]),"line-translate-anchor":new ln(rt.paint_line["line-translate-anchor"]),"line-width":new cn(rt.paint_line["line-width"]),"line-gap-width":new cn(rt.paint_line["line-gap-width"]),"line-offset":new cn(rt.paint_line["line-offset"]),"line-blur":new cn(rt.paint_line["line-blur"]),"line-dasharray":new un(rt.paint_line["line-dasharray"]),"line-pattern":new hn(rt.paint_line["line-pattern"]),"line-gradient":new pn(rt.paint_line["line-gradient"])}),layout:Ja};const Qa=new class extends cn{possiblyEvaluate(t,e){return e=new Yr(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,i,r){return e=a({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,r)}}(Ya.paint.properties["line-width"].specification);function tl(t,e){return e>0?e+2*t:t}Qa.useIntegerZoom=!0;const el=xn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),il=xn([{name:"a_projected_pos",components:3,type:"Float32"}],4);xn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const rl=xn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);xn([{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"}]);const nl=xn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),sl=xn([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ol(t,e,i){return t.sections.forEach((t=>{t.text=function(t,e,i){const r=e.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?t=t.toLocaleUpperCase():"lowercase"===r&&(t=t.toLocaleLowerCase()),Jr.applyArabicShaping&&(t=Jr.applyArabicShaping(t)),t}(t.text,e,i)})),t}xn([{name:"triangle",components:3,type:"Uint16"}]),xn([{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"}]),xn([{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"}]),xn([{type:"Float32",name:"offsetX"}]),xn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);const al={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var ll=24,cl=pl,hl=function(t,e,i,r,n){var s,o,a=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,p=i?-1:1,d=t[e+u];for(u+=p,s=d&(1<<-h)-1,d>>=-h,h+=a;h>0;s=256*s+t[e+u],u+=p,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=r;h>0;o=256*o+t[e+u],u+=p,h-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),s-=c}return(d?-1:1)*o*Math.pow(2,s-r)},ul=function(t,e,i,r,n,s){var o,a,l,c=8*s-n-1,h=(1<>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,m=r?1:-1,f=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+u>=1?p/l:p*Math.pow(2,1-u))*l>=2&&(o++,l/=2),o+u>=h?(a=0,o=h):o+u>=1?(a=(e*l-1)*Math.pow(2,n),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,n),o=0));n>=8;t[i+d]=255&a,d+=m,a/=256,n-=8);for(o=o<0;t[i+d]=255&o,d+=m,o/=256,c-=8);t[i+d-m]|=128*f};function pl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}pl.Varint=0,pl.Fixed64=1,pl.Bytes=2,pl.Fixed32=5;var dl,ml=4294967296,fl=1/ml,gl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function _l(t){return t.type===pl.Bytes?t.readVarint()+t.pos:t.pos+1}function yl(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function xl(t,e,i){var r=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=t;n--)i.buf[n+r]=i.buf[n]}function vl(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function kl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Pl(t,e,i){1===t&&i.readMessage(Dl,e)}function Dl(t,e,i){if(3===t){const{id:t,bitmap:r,width:n,height:s,left:o,top:a,advance:l}=i.readMessage(Ll,{});e.push({id:t,bitmap:new Co({width:n+6,height:s+6},r),metrics:{width:n,height:s,left:o,top:a,advance:l}})}}function Ll(t,e,i){1===t?e.id=i.readVarint():2===t?e.bitmap=i.readBytes():3===t?e.width=i.readVarint():4===t?e.height=i.readVarint():5===t?e.left=i.readSVarint():6===t?e.top=i.readSVarint():7===t&&(e.advance=i.readVarint())}function Bl(t){let e=0,i=0;for(const r of t)e+=r.w*r.h,i=Math.max(i,r.w);t.sort(((t,e)=>e.h-t.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let n=0,s=0;for(const e of t)for(let t=r.length-1;t>=0;t--){const i=r[t];if(!(e.w>i.w||e.h>i.h)){if(e.x=i.x,e.y=i.y,s=Math.max(s,e.y+e.h),n=Math.max(n,e.x+e.w),e.w===i.w&&e.h===i.h){const e=r.pop();t>3,s=this.pos;this.type=7&r,t(n,e,this),this.pos===s&&this.skip(r)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Cl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=kl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Cl(this.buf,this.pos)+Cl(this.buf,this.pos+4)*ml;return this.pos+=8,t},readSFixed64:function(){var t=Cl(this.buf,this.pos)+kl(this.buf,this.pos+4)*ml;return this.pos+=8,t},readFloat:function(){var t=hl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=hl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,r=this.buf;return e=127&(i=r[this.pos++]),i<128?e:(e|=(127&(i=r[this.pos++]))<<7,i<128?e:(e|=(127&(i=r[this.pos++]))<<14,i<128?e:(e|=(127&(i=r[this.pos++]))<<21,i<128?e:function(t,e,i){var r,n,s=i.buf;if(r=(112&(n=s[i.pos++]))>>4,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<3,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<10,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<17,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<24,n<128)return yl(t,r,e);if(r|=(1&(n=s[i.pos++]))<<31,n<128)return yl(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=r[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&&gl?function(t,e,i){return gl.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){for(var r="",n=e;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(s=t[n+1]))&&(c=(31&l)<<6|63&s)<=127&&(c=null):3===h?(o=t[n+2],128==(192&(s=t[n+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&s)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(o=t[n+2],a=t[n+3],128==(192&(s=t[n+1]))&&128==(192&o)&&128==(192&a)&&((c=(15&l)<<18|(63&s)<<12|(63&o)<<6|63&a)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,h=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),n+=h}return r}(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!==pl.Bytes)return t.push(this.readVarint(e));var i=_l(this);for(t=t||[];this.pos127;);else if(e===pl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===pl.Fixed32)this.pos+=4;else{if(e!==pl.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;e268435455||t<0?function(t,e){var i,r;if(t>=0?(i=t%4294967296|0,r=t/4294967296|0):(r=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,i.buf[i.pos]=127&(t>>>=7)}(i,0,e),function(t,e){var i=(7&t)<<4;e.buf[e.pos++]|=i|((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)))))}(r,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var r,n,s=0;s55295&&r<57344){if(!n){r>56319||s+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):n=r;continue}if(r<56320){t[i++]=239,t[i++]=191,t[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(t[i++]=239,t[i++]=191,t[i++]=189,n=null);r<128?t[i++]=r:(r<2048?t[i++]=r>>6|192:(r<65536?t[i++]=r>>12|224:(t[i++]=r>>18|240,t[i++]=r>>12&63|128),t[i++]=r>>6&63|128),t[i++]=63&r|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&xl(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),ul(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ul(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&xl(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,e,i){this.writeTag(t,pl.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,vl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,bl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,El,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,wl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Tl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Sl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Al,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,zl,e)},writeBytesField:function(t,e){this.writeTag(t,pl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,pl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,pl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};class Rl{constructor(t,{pixelRatio:e,version:i,stretchX:r,stretchY:n,content:s}){this.paddedRect=t,this.pixelRatio=e,this.stretchX=r,this.stretchY=n,this.content=s,this.version=i}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Fl{constructor(t,e){const i={},r={};this.haveRenderCallbacks=[];const n=[];this.addImages(t,i,n),this.addImages(e,r,n);const{w:s,h:o}=Bl(n),a=new Mo({width:s||1,height:o||1});for(const e in t){const r=t[e],n=i[e].paddedRect;Mo.copy(r.data,a,{x:0,y:0},{x:n.x+1,y:n.y+1},r.data)}for(const t in e){const i=e[t],n=r[t].paddedRect,s=n.x+1,o=n.y+1,l=i.data.width,c=i.data.height;Mo.copy(i.data,a,{x:0,y:0},{x:s,y:o},i.data),Mo.copy(i.data,a,{x:0,y:c-1},{x:s,y:o-1},{width:l,height:1}),Mo.copy(i.data,a,{x:0,y:0},{x:s,y:o+c},{width:l,height:1}),Mo.copy(i.data,a,{x:l-1,y:0},{x:s-1,y:o},{width:1,height:c}),Mo.copy(i.data,a,{x:0,y:0},{x:s+l,y:o},{width:1,height:c})}this.image=a,this.iconPositions=i,this.patternPositions=r}addImages(t,e,i){for(const r in t){const n=t[r],s={x:0,y:0,w:n.data.width+2,h:n.data.height+2};i.push(s),e[r]=new Rl(s,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(t,e){t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const i in t.updatedImages)this.patchUpdatedImage(this.iconPositions[i],t.getImage(i),e),this.patchUpdatedImage(this.patternPositions[i],t.getImage(i),e)}patchUpdatedImage(t,e,i){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[r,n]=t.tl;i.update(e.data,void 0,{x:r,y:n})}}Ir("ImagePosition",Rl),Ir("ImageAtlas",Fl),t.WritingMode=void 0,(dl=t.WritingMode||(t.WritingMode={}))[dl.none=0]="none",dl[dl.horizontal=1]="horizontal",dl[dl.vertical=2]="vertical",dl[dl.horizontalOnly=3]="horizontalOnly";const Ol=-17;class Ul{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(t,e){const i=new Ul;return i.scale=t||1,i.fontStack=e,i}static forImage(t){const e=new Ul;return e.imageName=t,e}}class Vl{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(t,e){const i=new Vl;for(let r=0;r=0&&i>=t&&Gl[this.text.charCodeAt(i)];i--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const i=new Vl;return i.text=this.text.substring(t,e),i.sectionIndex=this.sectionIndex.slice(t,e),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Ul.forText(t.scale,t.fontStack||e));const i=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Nl(e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g){const _=Vl.fromFeature(e,s);let y;p===t.WritingMode.vertical&&_.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Jr;if(x&&1===_.sections.length){y=[];const t=x(_.toString(),Hl(_,h,o,i,n,m,f));for(const e of t){const t=new Vl;t.text=e,t.sections=_.sections;for(let i=0;i0&&r>w&&(w=r)}else{const t=r[f.fontStack],e=t&&t[_];if(e&&e.rect)T=e.rect,v=e.metrics;else{const t=i[f.fontStack],e=t&&t[_];if(!e)continue;v=e.metrics}y=(s-f.scale)*ll}I?(e.verticalizable=!0,b.push({glyph:_,imageName:E,x:d,y:m+y,vertical:I,scale:f.scale,fontStack:f.fontStack,sectionIndex:g,metrics:v,rect:T}),d+=S*f.scale+h):(b.push({glyph:_,imageName:E,x:d,y:m+y,vertical:I,scale:f.scale,fontStack:f.fontStack,sectionIndex:g,metrics:v,rect:T}),d+=v.advance*f.scale+h)}0!==b.length&&(f=Math.max(d-h,f),Jl(b,0,b.length-1,_,w)),d=0;const T=o*s+w;v.lineOffset=Math.max(w,l),m+=T,g=Math.max(T,g),++y}var x;const v=m-Ol,{horizontalAlign:b,verticalAlign:w}=Kl(a);(function(t,e,i,r,n,s,o,a,l){const c=(e-i)*n;let h=0;h=s!==o?-a*r-Ol:(-r*l+.5)*o;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=h})(e.positionedLines,_,b,w,f,g,o,v,s.length),e.top+=-w*v,e.bottom=e.top+v,e.left+=-b*f,e.right=e.left+f}(w,i,r,n,y,a,l,c,p,h,d,g),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(b)&&w}const Gl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},$l={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function ql(t,e,i,r,n,s){if(e.imageName){const t=r[e.imageName];return t?t.displaySize[0]*e.scale*ll/s+n:0}{const r=i[e.fontStack],s=r&&r[t];return s?s.metrics.advance*e.scale+n:0}}function jl(t,e,i,r){const n=Math.pow(t-e,2);return r?t=0;let h=0;for(let i=0;i-i/2;){if(o--,o<0)return!1;a-=t[o].dist(s),s=t[o]}a+=t[o].dist(t[o+1]),o++;const l=[];let c=0;for(;ar;)c-=l.shift().angleDelta;if(c>n)return!1;o++,a+=e.dist(i)}return!0}function nc(t){let e=0;for(let i=0;ic){const h=(c-l)/s,u=Se(r.x,n.x,h),p=Se(r.y,n.y,h),d=new ic(u,p,n.angleTo(r),i);return d._round(),!o||rc(t,d,a,o,e)?d:void 0}l+=s}}function lc(t,e,i,r,n,s,o,a,l){const c=sc(r,s,o),h=oc(r,n),u=h*o,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-u=0&&_=0&&y=0&&p+c<=h){const i=new ic(_,y,f,e);i._round(),r&&!rc(t,i,s,r,n)||d.push(i)}}u+=m}return a||d.length||o||(d=cc(t,u/2,i,r,n,s,o,!0,l)),d}function hc(t,e,i,r,n){const s=[];for(let o=0;o=r&&c.x>=r||(o.x>=r?o=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=r&&(c=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=n&&c.y>=n||(o.y>=n?o=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round():c.y>=n&&(c=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round()),l&&o.equals(l[l.length-1])||(l=[o],s.push(l)),l.push(c)))))}}return s}function uc(t,e,i,r){const n=[],s=t.image,o=s.pixelRatio,a=s.paddedRect.w-2,l=s.paddedRect.h-2,c=t.right-t.left,h=t.bottom-t.top,u=s.stretchX||[[0,a]],p=s.stretchY||[[0,l]],d=(t,e)=>t+e[1]-e[0],m=u.reduce(d,0),f=p.reduce(d,0),g=a-m,_=l-f;let y=0,x=m,v=0,b=f,w=0,T=g,E=0,I=_;if(s.content&&r){const t=s.content;y=pc(u,0,t[0]),v=pc(p,0,t[1]),x=pc(u,t[0],t[2]),b=pc(p,t[1],t[3]),w=t[0]-y,E=t[1]-v,T=t[2]-t[0]-x,I=t[3]-t[1]-b}const A=(r,n,a,l)=>{const u=mc(r.stretch-y,x,c,t.left),p=fc(r.fixed-w,T,r.stretch,m),d=mc(n.stretch-v,b,h,t.top),g=fc(n.fixed-E,I,n.stretch,f),_=mc(a.stretch-y,x,c,t.left),A=fc(a.fixed-w,T,a.stretch,m),z=mc(l.stretch-v,b,h,t.top),C=fc(l.fixed-E,I,l.stretch,f),M=new S(u,d),k=new S(_,d),P=new S(_,z),D=new S(u,z),L=new S(p/o,g/o),B=new S(A/o,C/o),R=e*Math.PI/180;if(R){const t=Math.sin(R),e=Math.cos(R),i=[e,-t,t,e];M._matMult(i),k._matMult(i),D._matMult(i),P._matMult(i)}const F=r.stretch+r.fixed,O=n.stretch+n.fixed;return{tl:M,tr:k,bl:D,br:P,tex:{x:s.paddedRect.x+1+F,y:s.paddedRect.y+1+O,w:a.stretch+a.fixed-F,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:L,pixelOffsetBR:B,minFontScaleX:T/o/c,minFontScaleY:I/o/h,isSDF:i}};if(r&&(s.stretchX||s.stretchY)){const t=dc(u,g,m),e=dc(p,_,f);for(let i=0;i0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let l=s.top*o-a[0],h=s.bottom*o+a[2],u=s.left*o-a[3],p=s.right*o+a[1];const d=s.collisionPadding;if(d&&(u-=d[0]*o,l-=d[1]*o,p+=d[2]*o,h+=d[3]*o),c){const t=new S(u,l),e=new S(p,l),i=new S(u,h),r=new S(p,h),n=c*Math.PI/180;t._rotate(n),e._rotate(n),i._rotate(n),r._rotate(n),u=Math.min(t.x,e.x,i.x,r.x),p=Math.max(t.x,e.x,i.x,r.x),l=Math.min(t.y,e.y,i.y,r.y),h=Math.max(t.y,e.y,i.y,r.y)}t.emplaceBack(e.x,e.y,u,l,p,h,i,r,n)}this.boxEndIndex=t.length}}class _c{constructor(t=[],e=yc){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,r=e[t];for(;t>0;){const n=t-1>>1,s=e[n];if(i(r,s)>=0)break;e[t]=s,t=n}e[t]=r}_down(t){const{data:e,compare:i}=this,r=this.length>>1,n=e[t];for(;t=0)break;e[t]=s,t=r}e[t]=n}}function yc(t,e){return te?1:0}function xc(t,e=1,i=!1){let r=1/0,n=1/0,s=-1/0,o=-1/0;const a=t[0];for(let t=0;ts)&&(s=e.x),(!t||e.y>o)&&(o=e.y)}const l=Math.min(s-r,o-n);let c=l/2;const h=new _c([],vc);if(0===l)return new S(r,n);for(let e=r;eu.d||!u.d)&&(u=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,p)),r.max-u.d<=e||(c=r.h/2,h.push(new bc(r.p.x-c,r.p.y-c,c,t)),h.push(new bc(r.p.x+c,r.p.y-c,c,t)),h.push(new bc(r.p.x-c,r.p.y+c,c,t)),h.push(new bc(r.p.x+c,r.p.y+c,c,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${u.d}`)),u.p}function vc(t,e){return e.max-t.max}function bc(t,e,i,r){this.p=new S(t,e),this.h=i,this.d=function(t,e){let i=!1,r=1/0;for(let n=0;nt.y!=a.y>t.y&&t.x<(a.x-n.x)*(t.y-n.y)/(a.y-n.y)+n.x&&(i=!i),r=Math.min(r,io(t,n,a))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}const wc=Number.POSITIVE_INFINITY;function Tc(t,e){return e[1]!==wc?function(t,e,i){let r=0,n=0;switch(e=Math.abs(e),i=Math.abs(i),t){case"top-right":case"top-left":case"top":n=i-7;break;case"bottom-right":case"bottom-left":case"bottom":n=7-i}switch(t){case"top-right":case"bottom-right":case"right":r=-e;break;case"top-left":case"bottom-left":case"left":r=e}return[r,n]}(t,e[0],e[1]):function(t,e){let i=0,r=0;e<0&&(e=0);const n=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":r=n-7;break;case"bottom-right":case"bottom-left":r=7-n;break;case"bottom":r=7-e;break;case"top":r=e-7}switch(t){case"top-right":case"bottom-right":i=-n;break;case"top-left":case"bottom-left":i=n;break;case"left":i=e;break;case"right":i=-e}return[i,r]}(t,e[0])}function Ec(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 Sc(e,i,r,n,s,o,a,l,c,h,u){let p=o.textMaxSize.evaluate(i,{});void 0===p&&(p=a);const d=e.layers[0].layout,f=d.get("icon-offset").evaluate(i,{},u),g=zc(r.horizontal),_=a/24,y=e.tilePixelRatio*_,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*d.get("symbol-spacing"),w=d.get("text-padding")*e.tilePixelRatio,T=function(t,e,i,r=1){const n=t.get("icon-padding").evaluate(e,{},i),s=n&&n.values;return[s[0]*r,s[1]*r,s[2]*r,s[3]*r]}(d,i,u,e.tilePixelRatio),E=d.get("text-max-angle")/180*Math.PI,S="viewport"!==d.get("text-rotation-alignment")&&"point"!==d.get("symbol-placement"),I="map"===d.get("icon-rotation-alignment")&&"point"!==d.get("symbol-placement"),A=d.get("symbol-placement"),z=b/2,C=d.get("icon-text-fit");let M;n&&"none"!==C&&(e.allowVerticalPlacement&&r.vertical&&(M=Ql(n,r.vertical,C,d.get("icon-text-fit-padding"),f,_)),g&&(n=Ql(n,g,C,d.get("icon-text-fit-padding"),f,_)));const k=(l,p)=>{p.x<0||p.x>=Gs||p.y<0||p.y>=Gs||function(e,i,r,n,s,o,a,l,c,h,u,p,d,f,g,_,y,x,v,b,w,T,E,S,I){const A=e.addToLineVertexArray(i,r);let z,C,M,k,P=0,D=0,L=0,B=0,R=-1,F=-1;const O={};let U=ys.exports(""),V=0,N=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[V,N]=l.layout.get("text-offset").evaluate(w,{},S).map((t=>t*ll)):(V=l.layout.get("text-radial-offset").evaluate(w,{},S)*ll,N=wc),e.allowVerticalPlacement&&n.vertical){const t=l.layout.get("text-rotate").evaluate(w,{},S)+90;M=new gc(c,i,h,u,p,n.vertical,d,f,g,t),a&&(k=new gc(c,i,h,u,p,a,y,x,g,t))}if(s){const r=l.layout.get("icon-rotate").evaluate(w,{}),n="none"!==l.layout.get("icon-text-fit"),o=uc(s,r,E,n),d=a?uc(a,r,E,n):void 0;C=new gc(c,i,h,u,p,s,y,x,!1,r),P=4*o.length;const f=e.iconSizeData;let g=null;"source"===f.kind?(g=[tc*l.layout.get("icon-size").evaluate(w,{})],g[0]>Ic&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===f.kind&&(g=[tc*T.compositeIconSizes[0].evaluate(w,{},S),tc*T.compositeIconSizes[1].evaluate(w,{},S)],(g[0]>Ic||g[1]>Ic)&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,o,g,b,v,w,t.WritingMode.none,i,A.lineStartIndex,A.lineLength,-1,S),R=e.icon.placedSymbolArray.length-1,d&&(D=4*d.length,e.addSymbols(e.icon,d,g,b,v,w,t.WritingMode.vertical,i,A.lineStartIndex,A.lineLength,-1,S),F=e.icon.placedSymbolArray.length-1)}const G=Object.keys(n.horizontal);for(const r of G){const s=n.horizontal[r];if(!z){U=ys.exports(s.text);const t=l.layout.get("text-rotate").evaluate(w,{},S);z=new gc(c,i,h,u,p,s,d,f,g,t)}const a=1===s.positionedLines.length;if(L+=Ac(e,i,s,o,l,g,w,_,A,n.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,a?G:[r],O,R,T,S),a)break}n.vertical&&(B+=Ac(e,i,n.vertical,o,l,g,w,_,A,t.WritingMode.vertical,["vertical"],O,F,T,S));const $=z?z.boxStartIndex:e.collisionBoxArray.length,q=z?z.boxEndIndex:e.collisionBoxArray.length,j=M?M.boxStartIndex:e.collisionBoxArray.length,Z=M?M.boxEndIndex:e.collisionBoxArray.length,X=C?C.boxStartIndex:e.collisionBoxArray.length,W=C?C.boxEndIndex:e.collisionBoxArray.length,H=k?k.boxStartIndex:e.collisionBoxArray.length,K=k?k.boxEndIndex:e.collisionBoxArray.length;let J=-1;const Y=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;J=Y(z,J),J=Y(M,J),J=Y(C,J),J=Y(k,J);const Q=J>-1?1:0;Q&&(J*=I/ll),e.glyphOffsetArray.length>=Fc.MAX_GLYPHS&&m("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==w.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey),e.symbolInstances.emplaceBack(i.x,i.y,O.right>=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,R,F,U,$,q,j,Z,X,W,H,K,h,L,B,P,D,Q,0,d,V,N,J)}(e,p,l,r,n,s,M,e.layers[0],e.collisionBoxArray,i.index,i.sourceLayerIndex,e.index,y,[w,w,w,w],S,c,v,T,I,f,i,o,h,u,a)};if("line"===A)for(const t of hc(i.geometry,0,0,Gs,Gs)){const i=lc(t,b,E,r.vertical||g,n,24,x,e.overscaling,Gs);for(const r of i)g&&Cc(e,g.text,z,r)||k(t,r)}else if("line-center"===A){for(const t of i.geometry)if(t.length>1){const e=ac(t,E,r.vertical||g,n,24,x);e&&k(t,e)}}else if("Polygon"===i.type)for(const t of pa(i.geometry,0)){const e=xc(t,16);k(t[0],new ic(e.x,e.y,0))}else if("LineString"===i.type)for(const t of i.geometry)k(t,new ic(t[0].x,t[0].y,0));else if("Point"===i.type)for(const t of i.geometry)for(const e of t)k([e],new ic(e.x,e.y,0))}const Ic=32640;function Ac(t,e,i,r,n,s,o,a,l,c,h,u,p,d,f){const g=function(t,e,i,r,n,s,o,a){const l=r.layout.get("text-rotate").evaluate(s,{})*Math.PI/180,c=[];for(const t of e.positionedLines)for(const r of t.positionedGlyphs){if(!r.rect)continue;const s=r.rect||{};let h=4,u=!0,p=1,d=0;const m=(n||a)&&r.vertical,f=r.metrics.advance*r.scale/2;if(a&&e.verticalizable){const e=(r.scale-1)*ll,i=(ll-r.metrics.width*r.scale)/2;d=t.lineOffset/2-(r.imageName?-i:e)}if(r.imageName){const t=o[r.imageName];u=t.sdf,p=t.pixelRatio,h=1/p}const g=n?[r.x+f,r.y]:[0,0];let _=n?[0,0]:[r.x+f+i[0],r.y+i[1]-d],y=[0,0];m&&(y=_,_=[0,0]);const x=(r.metrics.left-h)*r.scale-f+_[0],v=(-r.metrics.top-h)*r.scale+_[1],b=x+s.w*r.scale/p,w=v+s.h*r.scale/p,T=new S(x,v),E=new S(b,v),I=new S(x,w),A=new S(b,w);if(m){const t=new S(-f,f-Ol),e=-Math.PI/2,i=12-f,n=new S(22-i,-(r.imageName?i:0)),s=new S(...y);T._rotateAround(e,t)._add(n)._add(s),E._rotateAround(e,t)._add(n)._add(s),I._rotateAround(e,t)._add(n)._add(s),A._rotateAround(e,t)._add(n)._add(s)}if(l){const t=Math.sin(l),e=Math.cos(l),i=[e,-t,t,e];T._matMult(i),E._matMult(i),I._matMult(i),A._matMult(i)}const z=new S(0,0),C=new S(0,0);c.push({tl:T,tr:E,bl:I,br:A,tex:s,writingMode:e.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:u,pixelOffsetTL:z,pixelOffsetBR:C,minFontScaleX:0,minFontScaleY:0})}return c}(0,i,a,n,s,o,r,t.allowVerticalPlacement),_=t.textSizeData;let y=null;"source"===_.kind?(y=[tc*n.layout.get("text-size").evaluate(o,{})],y[0]>Ic&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===_.kind&&(y=[tc*d.compositeTextSizes[0].evaluate(o,{},f),tc*d.compositeTextSizes[1].evaluate(o,{},f)],(y[0]>Ic||y[1]>Ic)&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),t.addSymbols(t.text,g,y,a,s,o,c,e,l.lineStartIndex,l.lineLength,p,f);for(const e of h)u[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function zc(t){for(const e in t)return t[e];return null}function Cc(t,e,i,r){const n=t.compareText;if(e in n){const t=n[e];for(let e=t.length-1;e>=0;e--)if(r.dist(t[e])t.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=fo([]),this.placementViewportMatrix=fo([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=ec(this.zoom,i["text-size"]),this.iconSizeData=ec(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),s=r.get("symbol-z-order");this.canOverlap="never"!==Gc(r,"text-overlap","text-allow-overlap")||"never"!==Gc(r,"icon-overlap","icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==s&&!n.isConstant(),this.sortFeaturesByY=("viewport-y"===s||"auto"===s&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Bc(new Us(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Bc(new Us(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Hn,this.lineVertexArray=new Kn,this.symbolInstances=new Wn}calculateGlyphDependencies(t,e,i,r,n){for(let s=0;s0)&&("constant"!==o.value.kind||o.value.value.length>0),h="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,u=s.get("symbol-sort-key");if(this.features=[],!c&&!h)return;const p=i.iconDependencies,d=i.glyphDependencies,m=i.availableImages,f=new Yr(this.zoom);for(const{feature:i,id:a,index:l,sourceLayerIndex:g}of e){const e=n._featureFilter.needGeometry,_=Zs(i,e);if(!n._featureFilter.filter(f,_,r))continue;let y,x;if(e||(_.geometry=js(i)),c){const t=n.getValueAndResolveTokens("text-field",_,r,m),e=Ft.factory(t);Lc(e)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===Hr()||this.hasRTLText&&Jr.isParsed())&&(y=ol(e,n,_))}if(h){const t=n.getValueAndResolveTokens("icon-image",_,r,m);x=t instanceof Ut?t:Ut.fromString(t)}if(!y&&!x)continue;const v=this.sortFeaturesByKey?u.evaluate(_,{},r):void 0;if(this.features.push({id:a,text:y,icon:x,index:l,sourceLayerIndex:g,geometry:_.geometry,properties:i.properties,type:Mc[i.type],sortKey:v}),x&&(p[x.name]=!0),y){const e=o.evaluate(_,{},r).join(","),i="viewport"!==s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of y.sections)if(t.image)p[t.image.name]=!0;else{const r=Pr(y.toString()),n=t.fontStack||e,s=d[n]=d[n]||{};this.calculateGlyphDependencies(t.text,s,i,this.allowVerticalPlacement,r)}}}"line"===s.get("symbol-placement")&&(this.features=function(t){const e={},i={},r=[];let n=0;function s(e){r.push(t[e]),n++}function o(t,e,n){const s=i[t];return delete i[t],i[e]=s,r[s].geometry[0].pop(),r[s].geometry[0]=r[s].geometry[0].concat(n[0]),s}function a(t,i,n){const s=e[i];return delete e[i],e[t]=s,r[s].geometry[0].shift(),r[s].geometry[0]=n[0].concat(r[s].geometry[0]),s}function l(t,e,i){const r=i?e[0][e[0].length-1]:e[0][0];return`${t}:${r.x}:${r.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,i),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,i))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(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}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const i=this.lineVertexArray.length;if(void 0!==t.segment){let i=t.dist(e[t.segment+1]),r=t.dist(e[t.segment]);const n={};for(let r=t.segment+1;r=0;i--)n[i]={x:e[i].x,y:e[i].y,tileUnitDistanceFromAnchor:r},i>0&&(r+=e[i-1].dist(e[i]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const i=t.placedSymbolArray.get(e),r=i.vertexStartIndex+4*i.numGlyphs;for(let e=i.vertexStartIndex;er[t]-r[e]||n[e]-n[t])),s}addToSortKeyRanges(t,e){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===e?i.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){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(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,i)=>{t>=0&&i.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Ir("SymbolBucket",Fc,{omit:["layers","collisionBoxArray","features","compareText"]}),Fc.MAX_GLYPHS=65535,Fc.addDynamicAttributes=Dc;const Oc=new dn({"symbol-placement":new ln(rt.layout_symbol["symbol-placement"]),"symbol-spacing":new ln(rt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ln(rt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new cn(rt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ln(rt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ln(rt.layout_symbol["icon-allow-overlap"]),"icon-overlap":new ln(rt.layout_symbol["icon-overlap"]),"icon-ignore-placement":new ln(rt.layout_symbol["icon-ignore-placement"]),"icon-optional":new ln(rt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ln(rt.layout_symbol["icon-rotation-alignment"]),"icon-size":new cn(rt.layout_symbol["icon-size"]),"icon-text-fit":new ln(rt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ln(rt.layout_symbol["icon-text-fit-padding"]),"icon-image":new cn(rt.layout_symbol["icon-image"]),"icon-rotate":new cn(rt.layout_symbol["icon-rotate"]),"icon-padding":new cn(rt.layout_symbol["icon-padding"]),"icon-keep-upright":new ln(rt.layout_symbol["icon-keep-upright"]),"icon-offset":new cn(rt.layout_symbol["icon-offset"]),"icon-anchor":new cn(rt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ln(rt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ln(rt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ln(rt.layout_symbol["text-rotation-alignment"]),"text-field":new cn(rt.layout_symbol["text-field"]),"text-font":new cn(rt.layout_symbol["text-font"]),"text-size":new cn(rt.layout_symbol["text-size"]),"text-max-width":new cn(rt.layout_symbol["text-max-width"]),"text-line-height":new ln(rt.layout_symbol["text-line-height"]),"text-letter-spacing":new cn(rt.layout_symbol["text-letter-spacing"]),"text-justify":new cn(rt.layout_symbol["text-justify"]),"text-radial-offset":new cn(rt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ln(rt.layout_symbol["text-variable-anchor"]),"text-anchor":new cn(rt.layout_symbol["text-anchor"]),"text-max-angle":new ln(rt.layout_symbol["text-max-angle"]),"text-writing-mode":new ln(rt.layout_symbol["text-writing-mode"]),"text-rotate":new cn(rt.layout_symbol["text-rotate"]),"text-padding":new ln(rt.layout_symbol["text-padding"]),"text-keep-upright":new ln(rt.layout_symbol["text-keep-upright"]),"text-transform":new cn(rt.layout_symbol["text-transform"]),"text-offset":new cn(rt.layout_symbol["text-offset"]),"text-allow-overlap":new ln(rt.layout_symbol["text-allow-overlap"]),"text-overlap":new ln(rt.layout_symbol["text-overlap"]),"text-ignore-placement":new ln(rt.layout_symbol["text-ignore-placement"]),"text-optional":new ln(rt.layout_symbol["text-optional"])});var Uc={paint:new dn({"icon-opacity":new cn(rt.paint_symbol["icon-opacity"]),"icon-color":new cn(rt.paint_symbol["icon-color"]),"icon-halo-color":new cn(rt.paint_symbol["icon-halo-color"]),"icon-halo-width":new cn(rt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new cn(rt.paint_symbol["icon-halo-blur"]),"icon-translate":new ln(rt.paint_symbol["icon-translate"]),"icon-translate-anchor":new ln(rt.paint_symbol["icon-translate-anchor"]),"text-opacity":new cn(rt.paint_symbol["text-opacity"]),"text-color":new cn(rt.paint_symbol["text-color"],{runtimeType:ft,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new cn(rt.paint_symbol["text-halo-color"]),"text-halo-width":new cn(rt.paint_symbol["text-halo-width"]),"text-halo-blur":new cn(rt.paint_symbol["text-halo-blur"]),"text-translate":new ln(rt.paint_symbol["text-translate"]),"text-translate-anchor":new ln(rt.paint_symbol["text-translate-anchor"])}),layout:Oc};class Vc{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:ut,this.defaultValue=t}evaluate(t){if(t.formattedSection){const 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}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ir("FormatSectionOverride",Vc,{omit:["defaultValue"]});class Nc extends fn{constructor(t){super(t,Uc)}recalculate(t,e){if(super.recalculate(t,e),"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"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"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")){const t=this.layout.get("text-writing-mode");if(t){const e=[];for(const i of t)e.indexOf(i)<0&&e.push(i);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,i,r){const n=this.layout.get(t).evaluate(e,{},i,r),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||Di(s.value)||!n?n:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>i in t?String(t[i]):""))}(e.properties,n)}createBucket(t){return new Fc(t)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const t of Uc.paint.overridableProperties){if(!Nc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new Vc(e),r=new Pi(i,e.property.specification);let n=null;n="constant"===e.value.kind||"source"===e.value.kind?new Bi("source",r):new Ri("composite",r,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new on(e.property,n,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&Nc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),r=Uc.paint.properties[e];let n=!1;const s=t=>{for(const e of t)if(r.overrides&&r.overrides.hasOverride(e))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof Ft)s(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{n||(e instanceof qt&&Gt(e.value)===xt?s(e.value.sections):e instanceof hi?s(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return n}}function Gc(t,e,i){let r="never";const n=t.get(e);return n?r=n:t.get(i)&&(r="always"),r}var $c={paint:new dn({"background-color":new ln(rt.paint_background["background-color"]),"background-pattern":new un(rt.paint_background["background-pattern"]),"background-opacity":new ln(rt.paint_background["background-opacity"])})},qc={paint:new dn({"raster-opacity":new ln(rt.paint_raster["raster-opacity"]),"raster-hue-rotate":new ln(rt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new ln(rt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new ln(rt.paint_raster["raster-brightness-max"]),"raster-saturation":new ln(rt.paint_raster["raster-saturation"]),"raster-contrast":new ln(rt.paint_raster["raster-contrast"]),"raster-resampling":new ln(rt.paint_raster["raster-resampling"]),"raster-fade-duration":new ln(rt.paint_raster["raster-fade-duration"])})};class jc extends fn{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){}}const Zc={circle:class extends fn{constructor(t){super(t,ho)}createBucket(t){return new Ws(t)}queryRadius(t){const e=t;return oo("circle-radius",this,e)+oo("circle-stroke-width",this,e)+ao(this.paint.get("circle-translate"))}queryIntersectsFeature(t,e,i,r,n,s,o,a){const l=lo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),s.angle,o),c=this.paint.get("circle-radius").evaluate(e,i)+this.paint.get("circle-stroke-width").evaluate(e,i),h="map"===this.paint.get("circle-pitch-alignment"),u=h?l:function(t,e){return t.map((t=>To(t,e)))}(l,a),p=h?c*o:c;for(const t of r)for(const e of t){const t=h?e:To(e,a);let i=p;const r=bo([],[e.x,e.y,0,1],a);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?i*=r[3]/s.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(i*=s.cameraToCenterDistance/r[3]),Ks(u,t,i))return!0}return!1}},heatmap:class extends fn{constructor(t){super(t,So),this._updateColorRamp()}createBucket(t){return new Eo(t)}_handleSpecialPaintPropertyUpdate(t){"heatmap-color"===t&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=ko({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}},hillshade:class extends fn{constructor(t){super(t,Po)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}},fill:class extends fn{constructor(t){super(t,ya)}recalculate(t,e){super.recalculate(t,e);const i=this.paint._values["fill-outline-color"];"constant"===i.value.kind&&void 0===i.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(t){return new ga(t)}queryRadius(){return ao(this.paint.get("fill-translate"))}queryIntersectsFeature(t,e,i,r,n,s,o){return Js(lo(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),s.angle,o),r)}isTileClipped(){return!0}},"fill-extrusion":class extends fn{constructor(t){super(t,Va)}createBucket(t){return new Fa(t)}queryRadius(){return ao(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,i,r,n,s,o,a){const l=lo(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),s.angle,o),c=this.paint.get("fill-extrusion-height").evaluate(e,i),h=this.paint.get("fill-extrusion-base").evaluate(e,i),u=function(t,e,i,r){const n=[];for(const i of t){const t=[i.x,i.y,0,1];bo(t,t,e),n.push(new S(t[0]/t[3],t[1]/t[3]))}return n}(l,a),p=function(t,e,i,r){const n=[],s=[],o=r[8]*e,a=r[9]*e,l=r[10]*e,c=r[11]*e,h=r[8]*i,u=r[9]*i,p=r[10]*i,d=r[11]*i;for(const e of t){const t=[],i=[];for(const n of e){const e=n.x,s=n.y,m=r[0]*e+r[4]*s+r[12],f=r[1]*e+r[5]*s+r[13],g=r[2]*e+r[6]*s+r[14],_=r[3]*e+r[7]*s+r[15],y=g+l,x=_+c,v=m+h,b=f+u,w=g+p,T=_+d,E=new S((m+o)/x,(f+a)/x);E.z=y/x,t.push(E);const I=new S(v/T,b/T);I.z=w/T,i.push(I)}n.push(t),s.push(i)}return[n,s]}(r,h,c,a);return function(t,e,i){let r=1/0;Js(i,e)&&(r=Ga(i,e[0]));for(let n=0;n=3)for(let e=0;e{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){delete this._channel,this._callback=()=>{}}}const Wc=6371008.8;class Hc{constructor(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")}wrap(){return new Hc(o(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,i=this.lat*e,r=t.lat*e,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((t.lng-this.lng)*e);return Wc*Math.acos(Math.min(n,1))}toBounds(t=0){const e=360*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return new Kc(new Hc(this.lng-i,this.lat-e),new Hc(this.lng+i,this.lat+e))}static convert(t){if(t instanceof Hc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Hc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Hc(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: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}class Kc{constructor(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]))}setNorthEast(t){return this._ne=t instanceof Hc?new Hc(t.lng,t.lat):Hc.convert(t),this}setSouthWest(t){return this._sw=t instanceof Hc?new Hc(t.lng,t.lat):Hc.convert(t),this}extend(t){const e=this._sw,i=this._ne;let r,n;if(t instanceof Hc)r=t,n=t;else{if(!(t instanceof Kc))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Kc.convert(t)):this.extend(Hc.convert(t)):this;if(r=t._sw,n=t._ne,!r||!n)return this}return e||i?(e.lng=Math.min(r.lng,e.lng),e.lat=Math.min(r.lat,e.lat),i.lng=Math.max(n.lng,i.lng),i.lat=Math.max(n.lat,i.lat)):(this._sw=new Hc(r.lng,r.lat),this._ne=new Hc(n.lng,n.lat)),this}getCenter(){return new Hc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Hc(this.getWest(),this.getNorth())}getSouthEast(){return new Hc(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:e,lat:i}=Hc.convert(t);let r=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(r=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&r}static convert(t){return t instanceof Kc?t:t?new Kc(t):t}}const Jc=2*Math.PI*Wc;function Yc(t){return Jc*Math.cos(t*Math.PI/180)}function Qc(t){return(180+t)/360}function th(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function eh(t,e){return t/Yc(e)}function ih(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class rh{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Hc.convert(t);return new rh(Qc(i.lng),th(i.lat),eh(e,i.lat))}toLngLat(){return new Hc(360*this.x-180,ih(this.y))}toAltitude(){return this.z*Yc(ih(this.y))}meterInMercatorCoordinateUnits(){return 1/Jc*(t=ih(this.y),1/Math.cos(t*Math.PI/180));var t}}function nh(t,e,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[t*r-2*Math.PI*6378137/2,e*r-2*Math.PI*6378137/2]}class sh{constructor(t,e,i){this.z=t,this.x=e,this.y=i,this.key=lh(0,t,t,e,i)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,i){const r=(s=this.y,o=this.z,a=nh(256*(n=this.x),256*(s=Math.pow(2,o)-s-1),o),l=nh(256*(n+1),256*(s+1),o),a[0]+","+a[1]+","+l[0]+","+l[1]);var n,s,o,a,l;const c=function(t,e,i){let r,n="";for(let s=t;s>0;s--)r=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,r)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new S((t.x*e-this.x)*Gs,(t.y*e-this.y)*Gs)}toString(){return`${this.z}/${this.x}/${this.y}`}}class oh{constructor(t,e){this.wrap=t,this.canonical=e,this.key=lh(t,e.z,e.z,e.x,e.y)}}class ah{constructor(t,e,i,r,n){this.overscaledZ=t,this.wrap=e,this.canonical=new sh(i,+r,+n),this.key=lh(e,t,i,r,n)}clone(){return new ah(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){const e=this.canonical.z-t;return t>this.canonical.z?new ah(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new ah(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){const i=this.canonical.z-t;return t>this.canonical.z?lh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):lh(this.wrap*+e,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new ah(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new ah(e,this.wrap,e,i,r),new ah(e,this.wrap,e,i+1,r),new ah(e,this.wrap,e,i,r+1),new ah(e,this.wrap,e,i+1,r+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=i),i=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)}_unpackMapbox(t,e,i){return(256*t*256+256*e+i)/10-1e4}_unpackTerrarium(t,e,i){return 256*t+e+i/256-32768}getPixels(){return new Mo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,i){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let r=e*this.dim,n=e*this.dim+this.dim,s=i*this.dim,o=i*this.dim+this.dim;switch(e){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:s=o-1;break;case 1:o=s+1}const a=-e*this.dim,l=-i*this.dim;for(let e=s;e=0&&r[3]>=0&&a.insert(o,r[0],r[1],r[2],r[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new wa.VectorTile(new cl(this.rawTileData)).layers,this.sourceLayerCoder=new hh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,i,r){this.loadVTLayers();const n=t.params||{},s=Gs/t.tileSize/t.scale,o=Wi(n.filter),a=t.queryGeometry,l=t.queryPadding*s,c=mh(a),h=this.grid.query(c.minX-l,c.minY-l,c.maxX+l,c.maxY+l),u=mh(t.cameraQueryGeometry),p=this.grid3D.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l,((e,i,r,n)=>function(t,e,i,r,n){for(const s of t)if(e<=s.x&&i<=s.y&&r>=s.x&&n>=s.y)return!0;const s=[new S(e,i),new S(e,n),new S(r,n),new S(r,i)];if(t.length>2)for(const e of s)if(no(t,e))return!0;for(let e=0;e(p||(p=js(e)),i.queryIntersectsFeature(a,e,r,p,this.z,t.transform,s,t.pixelPosMatrix))))}return d}loadMatchingFeature(t,e,i,r,n,s,o,l,c,h,u){const p=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let i=0;i=0)return!0;return!1}(s,p))return;const d=this.sourceLayerCoder.decode(i),m=this.vtLayers[d].feature(r);if(n.needGeometry){const t=Zs(m,!0);if(!n.filter(new Yr(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!n.filter(new Yr(this.tileID.overscaledZ),m))return;const f=this.getId(m,d);for(let e=0;e{const o=e instanceof an?e.get(s):null;return o&&o.evaluate?o.evaluate(i,r,n):o}))}function mh(t){let e=1/0,i=1/0,r=-1/0,n=-1/0;for(const s of t)e=Math.min(e,s.x),i=Math.min(i,s.y),r=Math.max(r,s.x),n=Math.max(n,s.y);return{minX:e,minY:i,maxX:r,maxY:n}}function fh(t,e){return e-t}var gh;Ir("FeatureIndex",ph,{omit:["rawTileData","sourceLayerCoder"]}),t.PerformanceMarkers=void 0,(gh=t.PerformanceMarkers||(t.PerformanceMarkers={})).create="create",gh.load="load",gh.fullLoad="fullLoad";let _h=null,yh=[];const xh=1e3/30,vh={mark(t){performance.mark(t)},frame(t){const e=t;null!=_h&&yh.push(e-_h),_h=e},clearMetrics(){_h=null,yh=[],performance.clearMeasures("loadTime"),performance.clearMeasures("fullLoadTime");for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e])},getPerformanceMetrics(){performance.measure("loadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure("fullLoadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName("loadTime")[0].duration,i=performance.getEntriesByName("fullLoadTime")[0].duration,r=yh.length,n=1/(yh.reduce(((t,e)=>t+e),0)/r/1e3),s=yh.filter((t=>t>xh)).reduce(((t,e)=>t+(e-xh)/xh),0);return{loadTime:e,fullLoadTime:i,fps:n,percentDroppedFrames:s/(r+s)*100}}};t.AJAXError=G,t.ARRAY_TYPE=po,t.Actor=class{constructor(t,e,i){this.target=t,this.parent=e,this.mapId=i,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},c(["receive","process"],this),this.invoker=new Xc(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=_()?t:window}send(t,e,i,r,n=!1){const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(this.callbacks[s]=i);const o=w(this.globalScope)?void 0:[];return this.target.postMessage({id:s,type:t,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:zr(e,o)},o),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:r,sourceMapId:this.mapId})}}}receive(t){const e=t.data,i=e.id;if(i&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[i];const t=this.cancelCallbacks[i];delete this.cancelCallbacks[i],t&&t()}else _()||e.mustQueue?(this.tasks[i]=e,this.taskQueue.push(i),this.invoker.trigger()):this.processTask(i,e)}process(){if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,e){if(""===e.type){const i=this.callbacks[t];delete this.callbacks[t],i&&(e.error?i(Cr(e.error)):i(null,Cr(e.data)))}else{let i=!1;const r=w(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{i=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?zr(e):null,data:zr(n,r)},r)}:t=>{i=!0};let s=null;const o=Cr(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,o,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,t[0],o.source)[t[1]](o,n)}else n(new Error(`Could not find function ${e.type}`));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)}},t.AlphaImage=Co,t.CanonicalTileID=sh,t.CollisionBoxArray=qn,t.CollisionCircleLayoutArray=class extends Pn{},t.Color=Lt,t.DEMData=ch,t.DataConstantProperty=ln,t.DictionaryCoder=hh,t.EXTENT=Gs,t.ErrorEvent=et,t.EvaluationParameters=Yr,t.Event=tt,t.Evented=it,t.FeatureIndex=ph,t.FillBucket=ga,t.FillExtrusionBucket=Fa,t.GeoJSONFeature=uh,t.ImageAtlas=Fl,t.ImagePosition=Rl,t.LineBucket=Ka,t.LineStripIndexArray=class extends Nn{},t.LngLat=Hc,t.LngLatBounds=Kc,t.MercatorCoordinate=rh,t.ONE_EM=ll,t.OverscaledTileID=ah,t.PerformanceUtils=vh,t.PosArray=Qn,t.Properties=dn,t.QuadTriangleArray=class extends Ln{},t.RGBAImage=Mo,t.RasterBoundsArray=class extends wn{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.ResourceType=N,t.SegmentVector=fs,t.SymbolBucket=Fc,t.Transitionable=en,t.TriangleIndexArray=us,t.Uniform1f=zs,t.Uniform1i=class extends As{constructor(t,e){super(t,e),this.current=0}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))}},t.Uniform2f=class extends As{constructor(t,e){super(t,e),this.current=[0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))}},t.Uniform3f=class extends As{constructor(t,e){super(t,e),this.current=[0,0,0]}set(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]))}},t.Uniform4f=Cs,t.UniformColor=Ms,t.UniformMatrix4f=class extends As{constructor(t,e){super(t,e),this.current=ks}set(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(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=oh,t.ValidationError=nt,t.ZoomHistory=Mr,t.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t},t.addDynamicAttributes=Dc,t.asyncAll=function(t,e,i){if(!t.length)return i(null,[]);let r=t.length;const n=new Array(t.length);let s=null;t.forEach(((t,o)=>{e(t,((t,e)=>{t&&(s=t),n[o]=e,0==--r&&i(s,n)}))}))},t.bezier=r,t.bindAll=c,t.cacheEntryPossiblyAdded=function(t){L++,L>P&&(t.getActor().send("enforceCacheSizeLimit",k),L=0)},t.clamp=s,t.clearTileCache=function(t){const e=caches.delete(z);t&&e.catch(t).then((()=>t()))},t.clipLine=hc,t.clone=function(t){var e=new po(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=p,t.clone$2=function(t){var e=new po(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=sl,t.config=A,t.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],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},t.create=function(){var t=new po(16);return po!=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=mo,t.createExpression=Li,t.createFilter=Wi,t.createLayout=xn,t.createStyleLayer=function(t){return"custom"===t.type?new jc(t):new Zc[t.type](t)},t.cross=function(t,e,i){var r=e[0],n=e[1],s=e[2],o=i[0],a=i[1],l=i[2];return t[0]=n*l-s*a,t[1]=s*o-r*l,t[2]=r*a-n*o,t},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=n,t.emitValidationErrors=Tr,t.enforceCacheSizeLimit=function(t){D(),C&&C.then((e=>{e.keys().then((i=>{for(let r=0;r{}}},t.identity=fo,t.invert=function(t,e){var i=e[0],r=e[1],n=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=e[9],p=e[10],d=e[11],m=e[12],f=e[13],g=e[14],_=e[15],y=i*a-r*o,x=i*l-n*o,v=i*c-s*o,b=r*l-n*a,w=r*c-s*a,T=n*c-s*l,E=h*f-u*m,S=h*g-p*m,I=h*_-d*m,A=u*g-p*f,z=u*_-d*f,C=p*_-d*g,M=y*C-x*z+v*A+b*I-w*S+T*E;return M?(t[0]=(a*C-l*z+c*A)*(M=1/M),t[1]=(n*z-r*C-s*A)*M,t[2]=(f*T-g*w+_*b)*M,t[3]=(p*w-u*T-d*b)*M,t[4]=(l*I-o*C-c*S)*M,t[5]=(i*C-n*I+s*S)*M,t[6]=(g*v-m*T-_*x)*M,t[7]=(h*T-p*v+d*x)*M,t[8]=(o*z-a*I+c*E)*M,t[9]=(r*I-i*z-s*E)*M,t[10]=(m*w-f*v+_*y)*M,t[11]=(u*v-h*w-d*y)*M,t[12]=(a*S-o*A-l*E)*M,t[13]=(i*A-r*S+n*E)*M,t[14]=(f*x-m*b-g*y)*M,t[15]=(h*b-u*x+p*y)*M,t):null},t.isImageBitmap=T,t.isSafari=w,t.isWorker=_,t.keysDifference=function(t,e){const i=[];for(const r in t)r in e||i.push(r);return i},t.lazyLoadRTLTextPlugin=function(){Jr.isLoading()||Jr.isLoaded()||"deferred"!==Hr()||Kr()},t.makeRequest=j,t.mapObject=h,t.mercatorXfromLng=Qc,t.mercatorYfromLat=th,t.mercatorZfromAltitude=eh,t.mul=yo,t.mul$1=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t[2]=e[2]*i[2],t[3]=e[3]*i[3],t},t.multiply=go,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var i=e[0],r=e[1],n=e[2],s=i*i+r*r+n*n;return s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t},t.number=Se,t.ortho=function(t,e,i,r,n,s,o){var a=1/(e-i),l=1/(r-n),c=1/(s-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(n+r)*l,t[14]=(o+s)*c,t[15]=1,t},t.parseCacheControl=y,t.parseGlyphPbf=function(t){return new cl(t).readFields(Pl,[])},t.pbf=cl,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=Gs/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const i=e.bucket.layers[0].layout,r=e.bucket.layers[0]._unevaluatedLayout._values,n={layoutIconSize:r["icon-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),layoutTextSize:r["text-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),textMaxSize:r["text-size"].possiblyEvaluate(new Yr(18))};if("composite"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.textSizeData;n.compositeTextSizes=[r["text-size"].possiblyEvaluate(new Yr(t),e.canonical),r["text-size"].possiblyEvaluate(new Yr(i),e.canonical)]}if("composite"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.iconSizeData;n.compositeIconSizes=[r["icon-size"].possiblyEvaluate(new Yr(t),e.canonical),r["icon-size"].possiblyEvaluate(new Yr(i),e.canonical)]}const s=i.get("text-line-height")*ll,o="viewport"!==i.get("text-rotation-alignment")&&"point"!==i.get("symbol-placement"),a=i.get("text-keep-upright"),l=i.get("text-size");for(const r of e.bucket.features){const c=i.get("text-font").evaluate(r,{},e.canonical).join(","),h=l.evaluate(r,{},e.canonical),u=n.layoutTextSize.evaluate(r,{},e.canonical),p=n.layoutIconSize.evaluate(r,{},e.canonical),d={horizontal:{},vertical:void 0},f=r.text;let g,_=[0,0];if(f){const n=f.toString(),l=i.get("text-letter-spacing").evaluate(r,{},e.canonical)*ll,p=Dr(n)?l:0,m=i.get("text-anchor").evaluate(r,{},e.canonical),g=i.get("text-variable-anchor");if(!g){const t=i.get("text-radial-offset").evaluate(r,{},e.canonical);_=t?Tc(m,[t*ll,wc]):i.get("text-offset").evaluate(r,{},e.canonical).map((t=>t*ll))}let y=o?"center":i.get("text-justify").evaluate(r,{},e.canonical);const x=i.get("symbol-placement"),v="point"===x?i.get("text-max-width").evaluate(r,{},e.canonical)*ll:0,b=()=>{e.bucket.allowVerticalPlacement&&Pr(n)&&(d.vertical=Nl(f,e.glyphMap,e.glyphPositions,e.imagePositions,c,v,s,m,"left",p,_,t.WritingMode.vertical,!0,x,u,h))};if(!o&&g){const i="auto"===y?g.map((t=>Ec(t))):[y];let r=!1;for(let n=0;nthis._layers[t.id])),i=e[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const s=i.sourceLayer||"_geojsonTileLayer";let o=n[s];o||(o=n[s]=[]),o.push(e)}}}class n{constructor(e){const i={},r=[];for(const t in e){const n=e[t],s=i[t]={};for(const t in n){const e=n[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const i={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};r.push(i),s[t]={rect:i,metrics:e.metrics}}}const{w:n,h:s}=t.potpack(r),o=new t.AlphaImage({width:n||1,height:s||1});for(const r in e){const n=e[r];for(const e in n){const s=n[+e];if(!s||0===s.bitmap.width||0===s.bitmap.height)continue;const a=i[r][e].rect;t.AlphaImage.copy(s.bitmap,o,{x:0,y:0},{x:a.x+1,y:a.y+1},s.bitmap)}}this.image=o,this.positions=i}}t.register("GlyphAtlas",n);class s{constructor(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId}parse(e,i,r,s,a){this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;const l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},p=i.familiesBySource[this.source];for(const i in p){const n=e.layers[i];if(!n)continue;1===n.version&&t.warnOnce(`Vector tile source "${this.source}" layer "${i}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const s=l.encode(i),a=[];for(let t=0;t=e.maxzoom||"none"!==e.visibility&&(o(t,this.zoom,r),(h[e.id]=e.createBucket({index:c.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:s,sourceID:this.source})).populate(a,u,this.tileID.canonical),c.bucketLayerIDs.push(t.map((t=>t.id))))}}let d,m,f,g;const _=t.mapObject(u.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(_).length?s.send("getGlyphs",{uid:this.uid,stacks:_},((t,e)=>{d||(d=t,m=e,v.call(this))})):m={};const y=Object.keys(u.iconDependencies);y.length?s.send("getImages",{icons:y,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{d||(d=t,f=e,v.call(this))})):f={};const x=Object.keys(u.patternDependencies);function v(){if(d)return a(d);if(m&&f&&g){const e=new n(m),i=new t.ImageAtlas(f,g);for(const n in h){const s=h[n];s instanceof t.SymbolBucket?(o(s.layers,this.zoom,r),t.performSymbolLayout({bucket:s,glyphMap:m,glyphPositions:e.positions,imageMap:f,imagePositions:i.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):s.hasPattern&&(s instanceof t.LineBucket||s instanceof t.FillBucket||s instanceof t.FillExtrusionBucket)&&(o(s.layers,this.zoom,r),s.addFeatures(u,this.tileID.canonical,i.patternPositions))}this.status="done",a(null,{buckets:Object.values(h).filter((t=>!t.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:i,glyphMap:this.returnDependencies?m:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}x.length?s.send("getImages",{icons:x,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{d||(d=t,g=e,v.call(this))})):g={},v.call(this)}}function o(e,i,r){const n=new t.EvaluationParameters(i);for(const t of e)t.recalculate(n,r)}function a(e,i){const r=t.getArrayBuffer(e.request,((e,r,n,s)=>{e?i(e):r&&i(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(r)),rawData:r,cacheControl:n,expires:s})}));return()=>{r.cancel(),i()}}class l{constructor(t,e,i,r){this.actor=t,this.layerIndex=e,this.availableImages=i,this.loadVectorData=r||a,this.loading={},this.loaded={}}loadTile(e,i){const r=e.uid;this.loading||(this.loading={});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),o=this.loading[r]=new s(e);o.abort=this.loadVectorData(e,((e,s)=>{if(delete this.loading[r],e||!s)return o.status="done",this.loaded[r]=o,i(e);const a=s.rawData,l={};s.expires&&(l.expires=s.expires),s.cacheControl&&(l.cacheControl=s.cacheControl);const c={};if(n){const t=n.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}o.vectorTile=s.vectorTile,o.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,r)=>{if(e||!r)return i(e);i(null,t.extend({rawTileData:a.slice(0)},r,l,c))})),this.loaded=this.loaded||{},this.loaded[r]=o}))}reloadTile(t,e){const i=this.loaded,r=t.uid,n=this;if(i&&i[r]){const s=i[r];s.showCollisionBoxes=t.showCollisionBoxes;const o=(t,i)=>{const r=s.reloadCallback;r&&(delete s.reloadCallback,s.parse(s.vectorTile,n.layerIndex,this.availableImages,n.actor,r)),e(t,i)};"parsing"===s.status?s.reloadCallback=o:"done"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,o):o())}}abortTile(t,e){const i=this.loading,r=t.uid;i&&i[r]&&i[r].abort&&(i[r].abort(),delete i[r]),e()}removeTile(t,e){const i=this.loaded,r=t.uid;i&&i[r]&&delete i[r],e()}}class c{constructor(){this.loaded={}}loadTile(e,i){const{uid:r,encoding:n,rawImageData:s}=e,o=t.isImageBitmap(s)?this.getImageData(s):s,a=new t.DEMData(r,o,n);this.loaded=this.loaded||{},this.loaded[r]=a,i(null,a)}getImageData(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const i=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:i.width,height:i.height},i.data)}removeTile(t){const e=this.loaded,i=t.uid;e&&e[i]&&delete e[i]}}var h=function t(e,i){var r,n=e&&e.type;if("FeatureCollection"===n)for(r=0;r=Math.abs(a)?i-l+a:a-l+i,i=l}i+r>=0!=!!e&&t.reverse()}const d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON;class m{constructor(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))}loadGeometry(){if(1===this._feature.type){const e=[];for(const i of this._feature.geometry)e.push([new t.pointGeometry(i[0],i[1])]);return e}{const e=[];for(const i of this._feature.geometry){const r=[];for(const e of i)r.push(new t.pointGeometry(e[0],e[1]));e.push(r)}return e}}toGeoJSON(t,e,i){return d.call(this,t,e,i)}}class f{constructor(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e}feature(t){return new m(this._features[t])}}var g={exports:{}},_=t.pointGeometry,y=t.vectorTile.VectorTileFeature,x=v;function v(t,e){this.options=e||{},this.features=t,this.length=t.length}function b(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}v.prototype.feature=function(t){return new b(this.features[t],this.options.extent)},b.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e>31}function M(t,e){for(var i=t.loadGeometry(),r=t.type,n=0,s=0,o=i.length,a=0;a>1;D(t,e,o,r,n,s%2),P(t,e,i,r,o-1,s+1),P(t,e,i,o+1,n,s+1)}function D(t,e,i,r,n,s){for(;n>r;){if(n-r>600){const o=n-r+1,a=i-r+1,l=Math.log(o),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(o-c)/o)*(a-o/2<0?-1:1);D(t,e,i,Math.max(r,Math.floor(i-a*c/o+h)),Math.min(n,Math.floor(i+(o-a)*c/o+h)),s)}const o=e[2*i+s];let a=r,l=n;for(L(t,e,r,i),e[2*n+s]>o&&L(t,e,r,n);ao;)l--}e[2*r+s]===o?L(t,e,r,l):(l++,L(t,e,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function L(t,e,i,r){B(t,i,r),B(e,2*i,2*r),B(e,2*i+1,2*r+1)}function B(t,e,i){const r=t[e];t[e]=t[i],t[i]=r}function R(t,e,i,r){const n=t-i,s=e-r;return n*n+s*s}g.exports=E,g.exports.fromVectorTileJs=E,g.exports.fromGeojsonVt=function(t,e){e=e||{};var i={};for(var r in t)i[r]=new T(t[r].features,e),i[r].name=r,i[r].version=e.version,i[r].extent=e.extent;return E({layers:i})},g.exports.GeoJSONWrapper=T;const F=t=>t[0],O=t=>t[1];class U{constructor(t,e=F,i=O,r=64,n=Float64Array){this.nodeSize=r,this.points=t;const s=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new s(t.length),a=this.coords=new n(2*t.length);for(let r=0;r=i&&c<=n&&h>=r&&h<=s&&l.push(t[o]);continue}const m=Math.floor((d+p)/2);c=e[2*m],h=e[2*m+1],c>=i&&c<=n&&h>=r&&h<=s&&l.push(t[m]);const f=(u+1)%2;(0===u?i<=c:r<=h)&&(a.push(d),a.push(m-1),a.push(f)),(0===u?n>=c:s>=h)&&(a.push(m+1),a.push(p),a.push(f))}return l}(this.ids,this.coords,t,e,i,r,this.nodeSize)}within(t,e,i){return function(t,e,i,r,n,s){const o=[0,t.length-1,0],a=[],l=n*n;for(;o.length;){const c=o.pop(),h=o.pop(),u=o.pop();if(h-u<=s){for(let n=u;n<=h;n++)R(e[2*n],e[2*n+1],i,r)<=l&&a.push(t[n]);continue}const p=Math.floor((u+h)/2),d=e[2*p],m=e[2*p+1];R(d,m,i,r)<=l&&a.push(t[p]);const f=(c+1)%2;(0===c?i-n<=d:r-n<=m)&&(o.push(u),o.push(p-1),o.push(f)),(0===c?i+n>=d:r+n>=m)&&(o.push(p+1),o.push(h),o.push(f))}return a}(this.ids,this.coords,t,e,i,this.nodeSize)}}const V={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},N=Math.fround||(G=new Float32Array(1),t=>(G[0]=+t,G[0]));var G;class ${constructor(t){this.options=J(Object.create(V),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:i,maxZoom:r,nodeSize:n}=this.options;e&&console.time("total time");const s=`prepare ${t.length} points`;e&&console.time(s),this.points=t;let o=[];for(let e=0;e=i;t--){const i=+Date.now();o=this._cluster(o,t),this.trees[t]=new U(o,Y,Q,n,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,o.length,+Date.now()-i)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let i=((t[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,t[1]));let n=180===t[2]?180:((t[2]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)i=-180,n=180;else if(i>n){const t=this.getClusters([i,r,180,s],e),o=this.getClusters([-180,r,n,s],e);return t.concat(o)}const o=this.trees[this._limitZoom(e)],a=o.range(W(i),H(s),W(n),H(r)),l=[];for(const t of a){const e=o.points[t];l.push(e.numPoints?Z(e):this.points[e.index])}return l}getChildren(t){const e=this._getOriginId(t),i=this._getOriginZoom(t),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const s=n.points[e];if(!s)throw new Error(r);const o=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=n.within(s.x,s.y,o),l=[];for(const e of a){const i=n.points[e];i.parentId===t&&l.push(i.numPoints?Z(i):this.points[i.index])}if(0===l.length)throw new Error(r);return l}getLeaves(t,e,i){const r=[];return this._appendLeaves(r,t,e=e||10,i=i||0,0),r}getTile(t,e,i){const r=this.trees[this._limitZoom(t)],n=Math.pow(2,t),{extent:s,radius:o}=this.options,a=o/s,l=(i-a)/n,c=(i+1+a)/n,h={features:[]};return this._addTileFeatures(r.range((e-a)/n,l,(e+1+a)/n,c),r.points,e,i,n,h),0===e&&this._addTileFeatures(r.range(1-a/n,l,1,c),r.points,n,i,n,h),e===n-1&&this._addTileFeatures(r.range(0,l,a/n,c),r.points,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const i=this.getChildren(t);if(e++,1!==i.length)break;t=i[0].properties.cluster_id}return e}_appendLeaves(t,e,i,r,n){const s=this.getChildren(e);for(const e of s){const s=e.properties;if(s&&s.cluster?n+s.point_count<=r?n+=s.point_count:n=this._appendLeaves(t,s.cluster_id,i,r,n):ne&&(u+=i.numPoints||1)}if(u>h&&u>=o){let t=n.x*h,o=n.y*h,a=s&&h>1?this._map(n,!0):null;const p=(r<<5)+(e+1)+this.points.length;for(const i of c){const r=l.points[i];if(r.zoom<=e)continue;r.zoom=e;const c=r.numPoints||1;t+=r.x*c,o+=r.y*c,r.parentId=p,s&&(a||(a=this._map(n,!0)),s(a,this._map(r)))}n.parentId=p,i.push(q(t/u,o/u,p,u,a))}else if(i.push(n),u>1)for(const t of c){const r=l.points[t];r.zoom<=e||(r.zoom=e,i.push(r))}}return i}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?J({},t.properties):t.properties;const i=this.points[t.index].properties,r=this.options.map(i);return e&&r===i?J({},r):r}}function q(t,e,i,r,n){return{x:N(t),y:N(e),zoom:1/0,id:i,parentId:-1,numPoints:r,properties:n}}function j(t,e){const[i,r]=t.geometry.coordinates;return{x:N(W(i)),y:N(H(r)),zoom:1/0,index:e,parentId:-1}}function Z(t){return{type:"Feature",id:t.id,properties:X(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),K(t.y)]}};var e}function X(t){const e=t.numPoints,i=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return J(J({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:i})}function W(t){return t/360+.5}function H(t){const e=Math.sin(t*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function K(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function J(t,e){for(const i in e)t[i]=e[i];return t}function Y(t){return t.x}function Q(t){return t.y}function tt(t,e,i,r){for(var n,s=r,o=i-e>>1,a=i-e,l=t[e],c=t[e+1],h=t[i],u=t[i+1],p=e+3;ps)n=p,s=d;else if(d===s){var m=Math.abs(p-o);mr&&(n-e>3&&tt(t,e,n,r),t[n+2]=s,i-n>3&&tt(t,n,i,r))}function et(t,e,i,r,n,s){var o=n-i,a=s-r;if(0!==o||0!==a){var l=((t-i)*o+(e-r)*a)/(o*o+a*a);l>1?(i=n,r=s):l>0&&(i+=o*l,r+=a*l)}return(o=t-i)*o+(a=e-r)*a}function it(t,e,i,r){var n={id:void 0===t?null:t,type:e,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,i=t.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)rt(t,e);else if("Polygon"===i||"MultiLineString"===i)for(var r=0;r0&&(o+=r?(n*c-l*s)/2:Math.sqrt(Math.pow(l-n,2)+Math.pow(c-s,2))),n=l,s=c}var h=e.length-3;e[2]=1,tt(e,0,h,i),e[h+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,i,r){for(var n=0;n1?1:i}function ht(t,e,i,r,n,s,o,a){if(r/=e,s>=(i/=e)&&o=r)return null;for(var l=[],c=0;c=i&&m=r)){var f=[];if("Point"===p||"MultiPoint"===p)ut(u,f,i,r,n);else if("LineString"===p)pt(u,f,i,r,n,!1,a.lineMetrics);else if("MultiLineString"===p)mt(u,f,i,r,n,!1);else if("Polygon"===p)mt(u,f,i,r,n,!0);else if("MultiPolygon"===p)for(var g=0;g=i&&o<=r&&(e.push(t[s]),e.push(t[s+1]),e.push(t[s+2]))}}function pt(t,e,i,r,n,s,o){for(var a,l,c=dt(t),h=0===n?gt:_t,u=t.start,p=0;pi&&(l=h(c,d,m,g,_,i),o&&(c.start=u+a*l)):y>r?x=i&&(l=h(c,d,m,g,_,i),v=!0),x>r&&y<=r&&(l=h(c,d,m,g,_,r),v=!0),!s&&v&&(o&&(c.end=u+a*l),e.push(c),c=dt(t)),o&&(u+=a)}var b=t.length-3;d=t[b],m=t[b+1],f=t[b+2],(y=0===n?d:m)>=i&&y<=r&&ft(c,d,m,f),b=c.length-3,s&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&ft(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function mt(t,e,i,r,n,s){for(var o=0;oo.maxX&&(o.maxX=h),u>o.maxY&&(o.maxY=u)}return o}function Tt(t,e,i,r){var n=e.geometry,s=e.type,o=[];if("Point"===s||"MultiPoint"===s)for(var a=0;a0&&e.size<(n?o:r))i.numPoints+=e.length/3;else{for(var a=[],l=0;lo)&&(i.numSimplified++,a.push(e[l]),a.push(e[l+1])),i.numPoints++;n&&function(t,e){for(var i=0,r=0,n=t.length,s=n-2;r0===e)for(r=0,n=t.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(t,e){var i=[];if("FeatureCollection"===t.type)for(var r=0;r1&&console.time("creation"),p=this.tiles[u]=wt(t,e,i,r,l),this.tileCoords.push({z:e,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,r,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var d="z"+e;this.stats[d]=(this.stats[d]||0)+1,this.total++}if(p.source=t,n){if(e===l.maxZoom||e===n)continue;var m=1<1&&console.time("clipping");var f,g,_,y,x,v,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,E=1+b;f=g=_=y=null,x=ht(t,h,i-b,i+T,0,p.minX,p.maxX,l),v=ht(t,h,i+w,i+E,0,p.minX,p.maxX,l),t=null,x&&(f=ht(x,h,r-b,r+T,1,p.minY,p.maxY,l),g=ht(x,h,r+w,r+E,1,p.minY,p.maxY,l),x=null),v&&(_=ht(v,h,r-b,r+T,1,p.minY,p.maxY,l),y=ht(v,h,r+w,r+E,1,p.minY,p.maxY,l),v=null),c>1&&console.timeEnd("clipping"),a.push(f||[],e+1,2*i,2*r),a.push(g||[],e+1,2*i,2*r+1),a.push(_||[],e+1,2*i+1,2*r),a.push(y||[],e+1,2*i+1,2*r+1)}}},St.prototype.getTile=function(t,e,i){var r=this.options,n=r.extent,s=r.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);for(var l,c=t,h=e,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[It(c,h,u)];return l&&l.source?(s>1&&console.log("found parent tile z%d-%d-%d",c,h,u),s>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,t,e,i),s>1&&console.timeEnd("drilling down"),this.tiles[a]?vt(this.tiles[a],n):null):null};class zt extends l{constructor(t,e,i,r){super(t,e,i,At),r&&(this.loadGeoJSON=r)}loadData(e,i){var r;null===(r=this._pendingRequest)||void 0===r||r.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request);this._pendingCallback=i,this._pendingRequest=this.loadGeoJSON(e,((r,s)=>{if(delete this._pendingCallback,delete this._pendingRequest,r||!s)return i(r);if("object"!=typeof s)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));{h(s,!0);try{if(e.filter){const i=t.createExpression(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const r=s.features.filter((t=>i.value.evaluate({zoom:0},t)));s={type:"FeatureCollection",features:r}}this._geoJSONIndex=e.cluster?new $(function({superclusterOptions:e,clusterProperties:i}){if(!i||!e)return e;const r={},n={},s={accumulated:null,zoom:0},o={properties:null},a=Object.keys(i);for(const e of a){const[s,o]=i[e],a=t.createExpression(o),l=t.createExpression("string"==typeof s?[s,["accumulated"],["get",e]]:s);r[e]=a.value,n[e]=l.value}return e.map=t=>{o.properties=t;const e={};for(const t of a)e[t]=r[t].evaluate(s,o);return e},e.reduce=(t,e)=>{o.properties=e;for(const e of a)s.accumulated=t[e],t[e]=n[e].evaluate(s,o)},e}(e)).load(s.features):function(t,e){return new St(t,e)}(s,e.geojsonVtOptions)}catch(r){return i(r)}this.loaded={};const o={};if(n){const t=n.finish();t&&(o.resourceTiming={},o.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}i(null,o)}}))}reloadTile(t,e){const i=this.loaded;return i&&i[t.uid]?super.reloadTile(t,e):this.loadTile(t,e)}loadGeoJSON(e,i){if(e.request)return t.getJSON(e.request,i);if("string"==typeof e.data)try{i(null,JSON.parse(e.data))}catch(t){i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`))}else i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}}removeSource(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()}getClusterExpansionZoom(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}}getClusterChildren(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}}getClusterLeaves(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}}}class Ct{constructor(e){this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:zt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(t,e)=>{if(this.workerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=e=>{if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}}setReferrer(t,e){this.referrer=e}setImages(t,e,i){this.availableImages[t]=e;for(const i in this.workerSources[t]){const r=this.workerSources[t][i];for(const t in r)r[t].availableImages=e}i()}setLayers(t,e,i){this.getLayerIndex(t).replace(e),i()}updateLayers(t,e,i){this.getLayerIndex(t).update(e.layers,e.removedIds),i()}loadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).loadTile(e,i)}loadDEMTile(t,e,i){this.getDEMWorkerSource(t,e.source).loadTile(e,i)}reloadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).reloadTile(e,i)}abortTile(t,e,i){this.getWorkerSource(t,e.type,e.source).abortTile(e,i)}removeTile(t,e,i){this.getWorkerSource(t,e.type,e.source).removeTile(e,i)}removeDEMTile(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)}removeSource(t,e,i){if(!this.workerSources[t]||!this.workerSources[t][e.type]||!this.workerSources[t][e.type][e.source])return;const r=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==r.removeSource?r.removeSource(e,i):i()}loadWorkerSource(t,e,i){try{this.self.importScripts(e.url),i()}catch(t){i(t.toString())}}syncRTLPluginState(e,i,r){try{t.plugin.setState(i);const e=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=e){this.self.importScripts(e);const i=t.plugin.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${e}`),i)}}catch(t){r(t.toString())}}getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}getLayerIndex(t){let e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new r),e}getWorkerSource(t,e,i){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][i]){const r={send:(e,i,r)=>{this.actor.send(e,i,r,t)}};this.workerSources[t][e][i]=new this.workerSourceTypes[e](r,this.getLayerIndex(t),this.getAvailableImages(t))}return this.workerSources[t][e][i]}getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new c),this.demWorkerSources[t][e]}enforceCacheSizeLimit(e,i){t.enforceCacheSizeLimit(i)}}return t.isWorker()&&(self.worker=new Ct(self)),Ct})),r(["./shared"],(function(t){var e=i;function i(t){return!function(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"}),r=URL.createObjectURL(i);try{e=new Worker(r),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(r),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===r[e=t&&t.failIfMajorPerformanceCaveat]&&(r[e]=function(t){var e,r=function(t){var e=document.createElement("canvas"),r=Object.create(i.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.getContext("webgl",r)||e.getContext("experimental-webgl",r)}(t);if(!r)return!1;try{e=r.createShader(r.VERTEX_SHADER)}catch(t){return!1}return!(!e||r.isContextLost())&&(r.shaderSource(e,"void main() {}"),r.compileShader(e),!0===r.getShaderParameter(e,r.COMPILE_STATUS))}(e)),r[e]?document.documentMode?"insufficient ECMAScript 6 support":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 e}(t)}var r={};function n(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let i=0;i{window.removeEventListener("click",s.suppressClickInternal,!0)}),0)}static mousePos(e,i){const r=e.getBoundingClientRect();return new t.pointGeometry(i.clientX-r.left-e.clientLeft,i.clientY-r.top-e.clientTop)}static touchPos(e,i){const r=e.getBoundingClientRect(),n=[];for(let s=0;s-1);l++,s[l]=a,o[l]=c,o[l+1]=u}for(let a=0,l=0;a{let r=this.entries[t];r||(r=this.entries[t]={glyphs:{},requests:{},ranges:{}});let n=r.glyphs[e];if(void 0!==n)return void i(null,{stack:t,id:e,glyph:n});if(n=this._tinySDF(r,t,e),n)return r.glyphs[e]=n,void i(null,{stack:t,id:e,glyph:n});const s=Math.floor(e/256);if(256*s>65535)return void i(new Error("glyphs > 65535 not supported"));if(r.ranges[s])return void i(null,{stack:t,id:e,glyph:n});let o=r.requests[s];o||(o=r.requests[s]=[],m.loadGlyphRange(t,s,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(r.glyphs[+t]=e[+t]);r.ranges[s]=!0}for(const i of o)i(t,e);delete r.requests[s]}))),o.push(((r,n)=>{r?i(r):n&&i(null,{stack:t,id:e,glyph:n[e]||null})}))}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:r,glyph:n}of e)(t[i]||(t[i]={}))[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics};i(null,t)}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&(t.unicodeBlockLookup["CJK Unified Ideographs"](e)||t.unicodeBlockLookup["Hangul Syllables"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,r){const n=this.localIdeographFontFamily;if(!n)return;if(!this._doesCharSupportLocalGlyph(r))return;let s=e.tinySDF;if(!s){let t="400";/bold/i.test(i)?t="900":/medium/i.test(i)?t="500":/light/i.test(i)&&(t="200"),s=e.tinySDF=new m.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:n,fontWeight:t})}const o=s.draw(String.fromCharCode(r));return{id:r,bitmap:new t.AlphaImage({width:o.width||30,height:o.height||30},o.data),metrics:{width:o.glyphWidth||24,height:o.glyphHeight||24,left:o.glyphLeft||0,top:o.glyphTop-27||-8,advance:o.glyphAdvance||24}}}}m.loadGlyphRange=function(e,i,r,n,s){const o=256*i,a=o+255,l=n.transformRequest(r.replace("{fontstack}",e).replace("{range}",`${o}-${a}`),t.ResourceType.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)s(e);else if(i){const e={};for(const r of t.parseGlyphPbf(i))e[r.id]=r;s(null,e)}}))},m.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:s="normal",fontStyle:o="normal"}={}){this.buffer=e,this.cutoff=r,this.radius=i;const a=this.size=t+4*e,l=this._createCanvas(a),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${s} ${t}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:s}=this.ctx.measureText(t),o=Math.ceil(i),a=Math.min(this.size-this.buffer,Math.ceil(s-n)),l=Math.min(this.size-this.buffer,o+Math.ceil(r)),c=a+2*this.buffer,h=l+2*this.buffer,d=Math.max(c*h,0),m=new Uint8ClampedArray(d),f={data:m,width:c,height:h,glyphWidth:a,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:e};if(0===a||0===l)return f;const{ctx:g,buffer:_,gridInner:y,gridOuter:x}=this;g.clearRect(_,_,a,l),g.fillText(t,_,_+o);const v=g.getImageData(_,_,a,l);x.fill(u,0,d),y.fill(0,0,d);for(let t=0;t0?t*t:0,y[r]=t<0?t*t:0}}p(x,0,0,c,h,c,this.f,this.v,this.z),p(y,_,_,a,l,c,this.f,this.v,this.z);for(let t=0;t1&&(o=t[++s]);const l=Math.abs(a-o.left),c=Math.abs(a-o.right),h=Math.min(l,c);let u;const p=e/i*(r+1);if(o.isDash){const t=r-Math.abs(p);u=Math.sqrt(h*h+t*t)}else u=r-Math.sqrt(h*h+p*p);this.data[n+a]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],r=t[e+1];i.zeroLength?t.splice(e,1):r&&r.isDash===i.isDash&&(r.left=i.left,t.splice(e,1))}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const r=this.width*this.nextRow;let n=0,s=t[n];for(let e=0;e1&&(s=t[++n]);const i=Math.abs(e-s.left),o=Math.abs(e-s.right),a=Math.min(i,o);this.data[r+e]=Math.max(0,Math.min(255,(s.isDash?a:-a)+128))}}addDash(e,i){const r=i?7:0,n=2*r+1;if(this.nextRow+n>this.height)return t.warnOnce("LineAtlas out of space"),null;let s=0;for(let t=0;t{t.send(e,i,r)}),r=r||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove()})),this.actors=[],this.workerPool.release(this.id)}}function v(e,i,r){const n=function(i,n){if(i)return r(i);if(n){const i=t.pick(t.extend(n,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(i.vectorLayers=n.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),r(null,i)}};return e.url?t.getJSON(i.transformRequest(e.url,t.ResourceType.Source),n):t.exported.frame((()=>n(null,e)))}x.Actor=t.Actor;class b{constructor(e,i,r){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=r||24}validateBounds(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]}contains(e){const i=Math.pow(2,e.z),r=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),n=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),s=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=r&&e.x=n&&e.y{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:this.map._requestManager.transformRequest(r,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:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function s(r,n){return delete e.request,e.aborted?i(null):r&&404!==r.status?i(r):(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&n&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}n.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=i:e.request=e.actor.send("reloadTile",n,s.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",n,s.bind(this)))}abortTile(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)}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class T extends t.Evented{constructor(e,i,r,n){super(),this.id=e,this.dispatcher=r,this.setEventedParent(n),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"},i),t.extend(this,t.pick(i,["url","scheme","tileSize"]))}load(){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=v(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),((r,n,s)=>{if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(n){this.map._refreshExpiredTiles&&e.setExpiryData(s);const r=this.map.painter.context,o=r.gl;e.texture=this.map.painter.getTileTexture(n.width),e.texture?e.texture.update(n,{useMipmap:!0}):(e.texture=new l(r,n,o.RGBA,{useMipmap:!0}),e.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),r.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,r.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,r.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(this.dispatcher),i(null)}}))}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e()}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()}hasTransition(){return!1}}let E;class S extends T{constructor(e,i,r,n){super(e,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}serialize(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function n(t,r){t&&(e.state="errored",i(t)),r&&(e.dem=r,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded",i(null))}e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),function(r,s){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(s){this.map._refreshExpiredTiles&&e.setExpiryData(s),delete s.cacheControl,delete s.expires;const i=t.isImageBitmap(s)&&(null==E&&(E="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),E)?s:t.exported.getImageData(s,1),r={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",r,n.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)}_getNeighboringTiles(e){const i=e.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,s=0===i.x?e.wrap-1:e.wrap,o=(i.x+1+r)%r,a=i.x+1===r?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,a,i.z,o,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,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,a,i.z,o,i.y-1).key]={backfilled:!1}),i.y+1{if(this._pendingLoads--,this._removed||r&&r.abandoned)return void this.fire(new t.Event("dataabort",{dataType:"source",sourceDataType:e}));let n=null;if(r&&r.resourceTiming&&r.resourceTiming[this.id]&&(n=r.resourceTiming[this.id].slice(0)),i)return void this.fire(new t.ErrorEvent(i));const s={dataType:"source",sourceDataType:e};this._collectResourceTiming&&n&&n.length>0&&t.extend(s,{resourceTiming:n}),this.fire(new t.Event("data",s))}))}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,r,((r,n)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):r?e(r):(t.loadVectorData(n,this.map.painter,"reloadTile"===i),e(null)))))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0}unloadTile(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var A=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class z extends t.Evented{constructor(t,e,i,r){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=e}load(e,i){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),((r,n)=>{this._loaded=!0,r?this.fire(new t.ErrorEvent(r)):n&&(this.image=n,e&&(this.coordinates=e),i&&i(),this._finishLoading())}))}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,r=1/0,n=-1/0,s=-1/0;for(const t of e)i=Math.min(i,t.x),r=Math.min(r,t.y),n=Math.max(n,t.x),s=Math.max(s,t.y);const o=Math.max(n-i,s-r),a=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),l=Math.pow(2,a);return new t.CanonicalTileID(a,Math.floor((i+n)/2*l),Math.floor((r+s)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const r=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new t.RasterBoundsArray,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}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;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 l(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}loadTile(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))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class C extends z{constructor(t,e,i,r){super(t,e,i,r),this.roundZoom=!0,this.type="video",this.options=e}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const i=this.video.seekable;ei.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}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;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 l(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class M extends z{constructor(e,i,r,n){super(e,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,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.${e}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas: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())}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let 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())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,r=i.gl;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 l(i,this.canvas,r.RGBA,{premultiply:!0});for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const k={vector:w,raster:T,"raster-dem":S,geojson:I,video:C,image:z,canvas:M};function P(e,i){const r=t.create();return t.translate(r,r,[1,1,0]),t.scale(r,r,[.5*e.width,.5*e.height,1]),t.multiply(r,r,e.calculatePosMatrix(i.toUnwrapped()))}function D(t,e,i,r,n,s){const o=function(t,e,i){if(t)for(const r of t){const t=e[r];if(t&&t.source===i&&"fill-extrusion"===t.type)return!0}else for(const t in e){const r=e[t];if(r.source===i&&"fill-extrusion"===r.type)return!0}return!1}(n&&n.layers,e,t.id),a=s.maxPitchScaleFactor(),l=t.tilesIn(r,a,o);l.sort(L);const c=[];for(const r of l)c.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(e,i,t._state,r.queryGeometry,r.cameraQueryGeometry,r.scale,n,s,a,P(t.transform,r.tileID))});const h=function(t){const e={},i={};for(const r of t){const t=r.queryResults,n=r.wrappedTileID,s=i[n]=i[n]||{};for(const i in t){const r=t[i],n=s[i]=s[i]||{},o=e[i]=e[i]||[];for(const t of r)n[t.featureIndex]||(n[t.featureIndex]=!0,o.push(t))}}return e}(c);for(const e in h)h[e].forEach((e=>{const i=e.feature,r=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=r}));return h}function L(t,e){const i=t.tileID,r=e.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}class B{constructor(e,i){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.textures=[],this.textureCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){const i=e+this.timeAdded;it.saveTileTexture(e))),this.demTexture=null,this.textures=[],this.textureCoords={}}loadVectorData(e,i,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){const i={};if(!e)return i;for(const r of t){const t=r.layerIds.map((t=>e.getLayer(t))).filter(Boolean);if(0!==t.length){r.layers=t,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=r}}return i}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray}unloadVectorData(){for(const 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"}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new l(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new l(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,i,r,n,s,o,a,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:s,tileSize:this.tileSize,pixelPosMatrix:c,transform:a,params:o,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(e,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),s=i?i.sourceLayer:"",o=n._geojsonTileLayer||n[s];if(!o)return;const a=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const 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}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,r=void 0===e?0:this.data[i].indexOf(e),n=this.data[i][r];return this.data[i].splice(r,1),n.timeout&&clearTimeout(n.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(n.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const r of this.data[i])t(r.value)||e.push(r);for(const t of e)this.remove(t.value.tileID,t)}}class F{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,i,r){const n=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][n]=this.stateChanges[e][n]||{},t.extend(this.stateChanges[e][n],r),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==n&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][n]){this.deletedStates[e][n]={};for(const t in this.state[e][n])r[t]||(this.deletedStates[e][n][t]=null)}else for(const t in r)this.deletedStates[e]&&this.deletedStates[e][n]&&null===this.deletedStates[e][n][t]&&delete this.deletedStates[e][n][t]}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const r=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][r]&&(this.deletedStates[t][r]=this.deletedStates[t][r]||{},this.deletedStates[t][r][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][r])for(i in this.deletedStates[t][r]={},this.stateChanges[t][r])this.deletedStates[t][r][i]=null;else this.deletedStates[t][r]=null;else this.deletedStates[t]=null}getState(e,i){const r=String(i),n=t.extend({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return{};for(const e in t)delete n[e]}return n}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(e,i){const r={};for(const e in this.stateChanges){this.state[e]=this.state[e]||{};const i={};for(const r in this.stateChanges[e])this.state[e][r]||(this.state[e][r]={}),t.extend(this.state[e][r],this.stateChanges[e][r]),i[r]=this.state[e][r];r[e]=i}for(const e in this.deletedStates){this.state[e]=this.state[e]||{};const i={};if(null===this.deletedStates[e])for(const t in this.state[e])i[t]={},this.state[e][t]={};else for(const t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(const i of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][i];i[t]=this.state[e][t]}r[e]=r[e]||{},t.extend(r[e],i)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const t in e)e[t].setFeatureState(r,i)}}class O extends t.Evented{constructor(e,i,r){super(),this.id=e,this.dispatcher=r,this.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain))})),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=function(e,i,r,n){const s=new k[i.type](e,i,r,n);if(s.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${s.id}`);return t.bindAll(["load","abort","unload","serialize","prepare"],s),s}(e,i,r,this),this._tiles={},this._cache=new R(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new F}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(U).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const r=e.tileID,n=i.tileID,s=new t.pointGeometry(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),o=new t.pointGeometry(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||o.y-s.y||o.x-s.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(U).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,e){const i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)))}_tileLoaded(e,i,r,n){if(n)return e.state="errored",void(404!==n.status?this._source.fire(new t.ErrorEvent(n,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.exported.now(),"expired"===r&&(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),e.aborted||this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(t){const e=this.getRenderableIds();for(let r=0;r1||(Math.abs(i)>1&&(1===Math.abs(i+n)?i+=n:1===Math.abs(i-n)&&(i-=n)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,r),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,r){for(const n in this._tiles){let s=this._tiles[n];if(r[n]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>i)continue;let o=s.tileID;for(;s&&s.tileID.overscaledZ>e+1;){const t=s.tileID.scaledTo(s.tileID.overscaledZ-1);s=this._tiles[t.key],s&&s.hasData()&&(o=t)}let a=o;for(;a.overscaledZ>e;)if(a=a.scaledTo(a.overscaledZ-1),t[a.key]){r[o.key]=o;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),r=this._getLoadedTile(e);if(r)return r}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,r=Math.floor(e*i*5),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(t,this._tiles[t])}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(r=r.filter((t=>this._source.hasTile(t))))):r=[];const n=e.coveringZoomLevel(this._source),s=Math.max(n-O.maxOverzooming,this._source.minzoom),o=Math.max(n+O.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of r)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const r=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[r.key]=r}r=r.concat(Object.values(t))}const a=this._updateRetainedTiles(r,n);if(V(this._source.type)){const e={},l={},c=Object.keys(a);for(const i of c){const r=a[i],n=this._tiles[i];if(!n||n.fadeEndTime&&n.fadeEndTime<=t.exported.now())continue;const o=this.findLoadedParent(r,s);o&&(this._addTile(o.tileID),e[o.tileID.key]=o.tileID),l[i]=r}this._retainLoadedChildren(l,n,o,a);for(const t in e)a[t]||(this._coveredTiles[t]=!0,a[t]=e[t]);if(i){const t={},e={};for(const i of r)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const r=e[i].children(this._source.maxzoom);this._tiles[r[0].key]&&this._tiles[r[1].key]&&this._tiles[r[2].key]&&this._tiles[r[3].key]&&(t[r[0].key]=a[r[0].key]=r[0],t[r[1].key]=a[r[1].key]=r[1],t[r[2].key]=a[r[2].key]=r[2],t[r[3].key]=a[r[3].key]=r[3],delete e[i])}for(const i in e){const r=this.findLoadedParent(e[i],this._source.minzoom);if(r){t[r.tileID.key]=a[r.tileID.key]=r.tileID;for(const e in t)t[e].isChildOf(r.tileID)&&delete t[e]}}for(const e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}for(const t in a)this._tiles[t].clearFadeHold();const l=t.keysDifference(this._tiles,a);for(const t of l){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){const i={},r={},n=Math.max(e-O.maxOverzooming,this._source.minzoom),s=Math.max(e+O.maxUnderzooming,this._source.minzoom),o={};for(const r of t){const t=this._addTile(r);i[r.key]=r,t.hasData()||ethis._source.maxzoom){const t=s.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else{const t=s.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let o=t.wasRequested();for(let e=s.overscaledZ-1;e>=n;--e){const n=s.scaledTo(e);if(r[n.key])break;if(r[n.key]=!0,t=this.getTile(n),!t&&o&&(t=this._addTile(n)),t&&(i[n.key]=n,o=t.wasRequested(),t.hasData()))break}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,r=this._tiles[t].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}e.push(r.key);const t=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;r=t}for(const t of e)this._loadedParentTiles[t]=i}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(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)));const r=i;return i||(i=new B(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,r||this._source.fire(new t.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const 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))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(e,i,r){const n=[],s=this.transform;if(!s)return n;const o=r?s.getCameraQueryGeometry(e):e,a=e.map((t=>s.pointCoordinate(t,this.terrain))),l=o.map((t=>s.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,p=-1/0,d=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),p=Math.max(p,t.x),d=Math.max(d,t.y);for(let e=0;e=0&&g[1].y+f>=0){const t=a.map((t=>o.getTilePoint(t))),e=l.map((t=>o.getTilePoint(t)));n.push({tile:r,tileID:o,queryGeometry:t,cameraQueryGeometry:e,scale:m})}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(V(this._source.type))for(const e in this._tiles){const i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.exported.now())return!0}return!1}setFeatureState(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i)}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i)}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,i){const r=this._tiles[t];r&&r.setDependencies(e,i)}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,"reloading");this._cache.filter((i=>!i.hasDependency(t,e)))}}function U(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),r=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||r-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function V(t){return"raster"===t||"image"===t||"video"===t}O.maxOverzooming=10,O.maxUnderzooming=3;const N="mapboxgl_preloaded_worker_pool";class G{constructor(){this.active={}}acquire(t){if(!this.workers)for(this.workers=[];this.workers.length{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[N]}numActive(){return Object.keys(this.active).length}}const $=Math.floor(t.exported.hardwareConcurrency/2);let q;function j(){return q||(q=new G),q}function Z(e,i){const r={};for(const t in e)"ref"!==t&&(r[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(r[t]=i[t])})),r}function X(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(n-o)/a:0;return this.points[s].mult(1-l).add(this.points[i].mult(l))}}function rt(t,e){let i=!0;return"always"===t||"never"!==t&&"never"!==e||(i=!1),i}class nt{constructor(t,e,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||r<0||e>this.height)return[];const a=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=r){if(n)return[{key:null,x1:t,y1:e,x2:i,y2:r}];for(let t=0;t0}hitTestCircle(t,e,i,r,n){const s=t-i,o=t+i,a=e-i,l=e+i;if(o<0||s>this.width||l<0||a>this.height)return!1;const c=[];return this._forEachCell(s,a,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:r,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},n),c.length>0}_queryCell(t,e,i,r,n,s,o,a){const{seenUids:l,hitTest:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const n=this.bboxes;for(const o of u)if(!l.box[o]){l.box[o]=!0;const u=4*o,p=this.boxKeys[o];if(t<=n[u+2]&&e<=n[u+3]&&i>=n[u+0]&&r>=n[u+1]&&(!a||a(p))&&(!c||!rt(h,p.overlapMode))&&(s.push({key:p,x1:n[u],y1:n[u+1],x2:n[u+2],y2:n[u+3]}),c))return!0}}const p=this.circleCells[n];if(null!==p){const n=this.circles;for(const o of p)if(!l.circle[o]){l.circle[o]=!0;const u=3*o,p=this.circleKeys[o];if(this._circleAndRectCollide(n[u],n[u+1],n[u+2],t,e,i,r)&&(!a||a(p))&&(!c||!rt(h,p.overlapMode))){const t=n[u],e=n[u+1],i=n[u+2];if(s.push({key:p,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return!0}}}return!1}_queryCellCircle(t,e,i,r,n,s,o,a){const{circle:l,seenUids:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,r=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!a||a(r))&&!rt(h,r.overlapMode))return s.push(!0),!0}}const p=this.circleCells[n];if(null!==p){const t=this.circles;for(const e of p)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,r=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!a||a(r))&&!rt(h,r.overlapMode))return s.push(!0),!0}}}_forEachCell(t,e,i,r,n,s,o,a){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++)if(n.call(this,t,e,i,r,this.xCellCount*l+p,s,o,a))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,r,n,s){const o=r-t,a=n-e,l=i+s;return l*l>o*o+a*a}_circleAndRectCollide(t,e,i,r,n,s,o){const a=(s-r)/2,l=Math.abs(t-(r+a));if(l>a+i)return!1;const c=(o-n)/2,h=Math.abs(e-(n+c));if(h>c+i)return!1;if(l<=a||h<=c)return!0;const u=l-a,p=h-c;return u*u+p*p<=i*i}}function st(e,i,r,n,s){const o=t.create();return i?(t.scale(o,o,[1/s,1/s,1]),r||t.rotateZ(o,o,n.angle)):t.multiply(o,n.labelPlaneMatrix,e),o}function ot(e,i,r,n,s){if(i){const i=t.clone(e);return t.scale(i,i,[s,s,1]),r||t.rotateZ(i,i,-n.angle),i}return n.glCoordMatrix}function at(e,i,r){let n;r?(n=[e.x,e.y,r(e.x,e.y),1],t.transformMat4(n,n,i)):(n=[e.x,e.y,0,1],yt(n,n,i));const s=n[3];return{point:new t.pointGeometry(n[0]/s,n[1]/s),signedDistanceFromCamera:s}}function lt(t,e){return.5+t/e*.5}function ct(t,e){const i=t[0]/t[3],r=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&r>=-e[1]&&r<=e[1]}function ht(e,i,r,n,s,o,a,l,c,h){const u=n?e.textSizeData:e.iconSizeData,p=t.evaluateSizeForZoom(u,r.transform.zoom),d=[256/r.width*2+1,256/r.height*2+1],m=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;m.clear();const f=e.lineVertexArray,g=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,_=r.transform.width/r.transform.height;let y=!1;for(let n=0;nMath.abs(r.x-i.x)*n?{useVertical:!0}:(e===t.WritingMode.vertical?i.yr.x)?{needsFlipping:!0}:null}function dt(e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g){const _=i/24,y=e.lineOffsetX*_,x=e.lineOffsetY*_;let v;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,s=e.lineStartIndex+e.lineLength,h=ut(_,l,y,x,r,u,p,e,c,o,d,f,g);if(!h)return{notEnoughRoom:!0};const b=at(h.first.point,a,g).point,w=at(h.last.point,a,g).point;if(n&&!r){const t=pt(e.writingMode,b,w,m);if(t)return t}v=[h.first];for(let n=e.glyphStartIndex+1;n0?o.point:mt(p,n,i,1,s,g),l=pt(e.writingMode,i,a,m);if(l)return l}const i=ft(_*l.getoffsetX(e.glyphStartIndex),y,x,r,u,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,d,f,g);if(!i)return{notEnoughRoom:!0};v=[i]}for(const e of v)t.addDynamicAttributes(h,e.point,e.angle);return{}}function mt(t,e,i,r,n,s){const o=at(t.add(t.sub(e)._unit()),n,s).point,a=i.sub(o);return i.add(a._mult(r/a.mag()))}function ft(e,i,r,n,s,o,a,l,c,h,u,p,d,m){const f=n?e-i:e+i;let g=f>0?1:-1,_=0;n&&(g*=-1,_=Math.PI),g<0&&(_+=Math.PI);let y=g>0?l+a:l+a+1,x=s,v=s,b=0,w=0;const T=Math.abs(f),E=[];for(;b+w<=T;){if(y+=g,y=c)return null;if(v=x,E.push(x),x=p[y],void 0===x){const e=new t.pointGeometry(h.getx(y),h.gety(y)),i=at(e,u,m);if(i.signedDistanceFromCamera>0)x=p[y]=i.point;else{const i=y-g;x=mt(0===b?o:new t.pointGeometry(h.getx(i),h.gety(i)),e,v,T-b+1,u,m)}}b+=w,w=v.dist(x)}const S=(T-b)/w,I=x.sub(v),A=I.mult(S)._add(v);A._add(I._unit()._perp()._mult(r*g));const z=_+Math.atan2(x.y-v.y,x.x-v.x);return E.push(A),{point:A,angle:d?z:0,path:E}}const gt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function _t(t,e){for(let i=0;i=1;t--)h.push(o.path[t]);for(let t=1;tat(t,l,m)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let _=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=r.x&&i.x<=n.x&&e.y>=r.y&&i.y<=n.y?[h]:i.xn.x||i.yn.y?[]:t.clipLine([h],r.x,r.y,n.x,n.y)}for(const t of _){s.reset(t,.25*i);let r=0;r=s.length<=.5*i?1:Math.ceil(s.paddedLength/g)+1;for(let t=0;t=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(t,e,i,r){return i>=0&&t=0&&et.collisionGroupID===e}}return this.collisionGroups[t]}}function zt(e,i,r,n,s){const{horizontalAlign:o,verticalAlign:a}=t.getAnchorAlignment(e),l=-(o-.5)*i,c=-(a-.5)*r,h=t.evaluateVariableOffset(e,n);return new t.pointGeometry(l+h[0]*s,c+h[1]*s)}function Ct(e,i,r,n,s,o){const{x1:a,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:p}=e,d=new t.pointGeometry(i,r);return n&&d._rotate(s?o:-o),{x1:a+d.x,y1:c+d.y,x2:l+d.x,y2:h+d.y,anchorPointX:u,anchorPointY:p}}class Mt{constructor(t,e,i,r,n){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new vt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new At(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(e,i,r,n){const s=r.getBucket(i),o=r.latestFeatureIndex;if(!s||!o||i.id!==s.layerIds[0])return;const a=r.collisionBoxArray,l=s.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),p="map"===l.get("text-pitch-alignment"),d="map"===l.get("text-rotation-alignment"),m=bt(r,1,this.transform.zoom),f=st(u,p,d,this.transform,m);let g=null;if(p){const e=ot(u,p,d,this.transform,m);g=t.multiply([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[s.bucketInstanceId]=new It(s.bucketInstanceId,o,s.sourceLayerIndex,s.index,r.tileID);const _={bucket:s,layout:l,posMatrix:u,textLabelPlaneMatrix:f,labelToScreenMatrix:g,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:a,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(n)for(const t of s.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=t;e.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:_})}attemptAnchorPlacement(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f){const g=[u.textOffset0,u.textOffset1],_=zt(t,i,r,g,n),y=this.collisionIndex.placeCollisionBox(Ct(e,_.x,_.y,s,o,this.transform.angle),h,a,l,c.predicate,f);if((!m||0!==this.collisionIndex.placeCollisionBox(Ct(m,_.x,_.y,s,o,this.transform.angle),h,a,l,c.predicate,f).box.length)&&y.box.length>0){let e;return this.prevPlacement&&this.prevPlacement.variableOffsets[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID].text&&(e=this.prevPlacement.variableOffsets[u.crossTileID].anchor),this.variableOffsets[u.crossTileID]={textOffset:g,width:i,height:r,anchor:t,textBoxScale:n,prevAnchor:e},this.markUsedJustification(p,t,u,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,u),this.placedOrientations[u.crossTileID]=d),{shift:_,placedGlyphBoxes:y}}}placeLayerBucketPart(e,i,r){const{bucket:n,layout:s,posMatrix:o,textLabelPlaneMatrix:a,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:p,collisionGroup:d}=e.parameters,m=s.get("text-optional"),f=s.get("icon-optional"),g=t.getOverlapMode(s,"text-overlap","text-allow-overlap"),_="always"===g,y=t.getOverlapMode(s,"icon-overlap","icon-allow-overlap"),x="always"===y,v="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=_&&(x||!n.hasIconData()||f),S=x&&(_||!n.hasTextData()||m);!n.collisionArrays&&u&&n.deserializeCollisionBoxes(u);const I=(e,u)=>{if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Et(!1,!1,!1));let x=!1,T=!1,I=!0,A=null,z={box:null,offscreen:null},C={box:null,offscreen:null},M=null,k=null,P=null,D=0,L=0,B=0;u.textFeatureIndex?D=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(D=e.featureIndex),u.verticalTextFeatureIndex&&(L=u.verticalTextFeatureIndex);const R=this.retainedQueryData[n.bucketInstanceId].tileID,F=this.terrain?(t,e)=>this.terrain.getElevation(R,t,e):null;for(const t of["textBox","verticalTextBox","iconBox","verticalIconBox"]){const e=u[t];e&&(e.elevation=F?F(e.anchorPointX,e.anchorPointY):0)}const O=u.textBox;if(O){const i=i=>{let r=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(n,r,e))}return r},r=(i,r)=>{if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of n.writingModes)if(e===t.WritingMode.vertical?(z=r(),C=z):z=i(),z&&z.box&&z.box.length)break}else z=i()};if(s.get("text-variable-anchor")){let a=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[e.crossTileID]){const t=this.prevPlacement.variableOffsets[e.crossTileID];a.indexOf(t.anchor)>0&&(a=a.filter((e=>e!==t.anchor)),a.unshift(t.anchor))}const l=(t,i,r)=>{const s=t.x2-t.x1,l=t.y2-t.y1,h=e.textBoxScale,u=w&&"never"===y?i:null;let p={box:[],offscreen:!1};const m="never"!==g?2*a.length:a.length;for(let i=0;i=a.length?g:"never",e,n,r,u,F);if(m&&(p=m.placedGlyphBoxes,p&&p.box&&p.box.length)){x=!0,A=m.shift;break}}return p};r((()=>l(O,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&!(z&&z.box&&z.box.length)&&e.numVerticalGlyphVertices>0&&i?l(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),z&&(x=z.box,I=z.offscreen);const h=i(z&&z.box);if(!x&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(n,t.anchor,e,h))}}else{const s=(t,i)=>{const r=this.collisionIndex.placeCollisionBox(t,g,c,o,d.predicate,F);return r&&r.box&&r.box.length&&(this.markUsedOrientation(n,i,e),this.placedOrientations[e.crossTileID]=i),r};r((()=>s(O,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?s(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(z&&z.box&&z.box.length)}}if(M=z,x=M&&M.box&&M.box.length>0,I=M&&M.offscreen,e.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(n.textSizeData,p,i),h=s.get("text-padding");k=this.collisionIndex.placeCollisionCircles(g,i,n.lineVertexArray,n.glyphOffsetArray,c,o,a,l,r,b,d.predicate,e.collisionCircleDiameter,h,F),x=_||k.circles.length>0&&!k.collisionDetected,I=I&&k.offscreen}if(u.iconFeatureIndex&&(B=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&A?Ct(t,A.x,A.y,v,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,y,c,o,d.predicate,F)};C&&C.box&&C.box.length&&u.verticalIconBox?(P=t(u.verticalIconBox),T=P.box.length>0):(P=t(u.iconBox),T=P.box.length>0),I=I&&P.offscreen}const U=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,V=f||0===e.numIconVertices;if(U||V?V?U||(T=T&&x):x=T&&x:T=x=T&&x,x&&M&&M.box&&this.collisionIndex.insertCollisionBox(M.box,g,s.get("text-ignore-placement"),n.bucketInstanceId,C&&C.box&&L?L:D,d.ID),T&&P&&this.collisionIndex.insertCollisionBox(P.box,y,s.get("icon-ignore-placement"),n.bucketInstanceId,B,d.ID),k&&(x&&this.collisionIndex.insertCollisionCircles(k.circles,g,s.get("text-ignore-placement"),n.bucketInstanceId,D,d.ID),r)){const t=n.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new St);for(let t=0;t=0;--e){const i=t[e];I(n.symbolInstances.get(i),n.collisionArrays[i])}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=s>=0&&t!==s?0:r.crossTileID)}markUsedOrientation(e,i,r){const n=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,s=i===t.WritingMode.vertical?i:0,o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(const t of o)e.text.placedSymbolArray.get(t).placedOrientation=n;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=s)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const r=e?e.symbolFadeChange(t):1,n=e?e.opacities:{},s=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],s=n[t];s?(this.opacities[t]=new Tt(s,r,e.text,e.icon),i=i||e.text!==s.text.placed||e.icon!==s.icon.placed):(this.opacities[t]=new Tt(null,r,e.text,e.icon,e.skipFade),i=i||e.text||e.icon)}for(const t in n){const e=n[t];if(!this.opacities[t]){const n=new Tt(e,r,!1,!1);n.isHidden()||(this.opacities[t]=n,i=i||e.text.placed||e.icon.placed)}}for(const t in s)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=s[t]);for(const t in o)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=o[t]);i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const i={};for(const r of e){const e=r.getBucket(t);e&&r.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,r.collisionBoxArray)}}updateBucketOpacities(e,i,r){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const n=e.layers[0].layout,s=new Tt(null,0,!1,!1,!0),o=n.get("text-allow-overlap"),a=n.get("icon-allow-overlap"),l=n.get("text-variable-anchor"),c="map"===n.get("text-rotation-alignment"),h="map"===n.get("text-pitch-alignment"),u="none"!==n.get("icon-text-fit"),p=new Tt(null,0,o&&(a||!e.hasIconData()||n.get("icon-optional")),a&&(o||!e.hasTextData()||n.get("text-optional")),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);const d=(t,e,i)=>{for(let r=0;r0,_=this.placedOrientations[n.crossTileID],y=_===t.WritingMode.vertical,x=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(o>0||a>0){const t=Ut(f.text);d(e.text,o,y?Vt:t),d(e.text,a,x?Vt:t);const i=f.text.isHidden();[n.rightJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||y?1:0)})),n.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).hidden=i||x?1:0);const r=this.variableOffsets[n.crossTileID];r&&this.markUsedJustification(e,r.anchor,n,_);const s=this.placedOrientations[n.crossTileID];s&&(this.markUsedJustification(e,"left",n,s),this.markUsedOrientation(e,s,n))}if(g){const t=Ut(f.icon),i=!(u&&n.verticalPlacedIconSymbolIndex&&y);n.placedIconSymbolIndex>=0&&(d(e.icon,n.numIconVertices,i?t:Vt),e.icon.placedSymbolArray.get(n.placedIconSymbolIndex).hidden=f.icon.isHidden()),n.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,n.numVerticalIconVertices,i?Vt:t),e.icon.placedSymbolArray.get(n.verticalPlacedIconSymbolIndex).hidden=f.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[r];if(i){let r=new t.pointGeometry(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(l){const e=this.variableOffsets[m];e?(r=zt(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),c&&r._rotate(h?this.transform.angle:-this.transform.angle)):t=!1}i.textBox&&kt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||y,r.x,r.y),i.verticalTextBox&&kt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||x,r.x,r.y)}const n=Boolean(!x&&i.verticalIconBox);i.iconBox&&kt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,n,u?r.x:0,u?r.y:0),i.verticalIconBox&&kt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,!n,u?r.x:0,u?r.y:0)}}}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){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function kt(t,e,i,r,n){t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0)}const Pt=Math.pow(2,25),Dt=Math.pow(2,24),Lt=Math.pow(2,17),Bt=Math.pow(2,16),Rt=Math.pow(2,9),Ft=Math.pow(2,8),Ot=Math.pow(2,1);function Ut(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Pt+e*Dt+i*Lt+e*Bt+i*Rt+e*Ft+i*Ot+e}const Vt=0;class Nt{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,i,r,n){const s=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-n;return!this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],n=this.placement.collisionIndex.transform.zoom;if("symbol"===t.type&&(!t.minzoom||t.minzoom<=n)&&(!t.maxzoom||t.maxzoom>n)){if(this._inProgressLayer||(this._inProgressLayer=new Nt(t)),this._inProgressLayer.continuePlacement(r[t.source],this.placement,this._showCollisionBoxes,t,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const $t=512/t.EXTENT/2;class qt{constructor(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(let i=0;it.overscaledZ)for(const i in n){const s=n[i];s.tileID.isChildOf(t)&&s.findMatches(e.symbolInstances,t,r)}else{const s=n[t.scaledTo(Number(i)).key];s&&s.findMatches(e.symbolInstances,t,r)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}var Wt=t.createLayout([{name:"a_pos",type:"Int16",components:2}]);class Ht extends t.Evented{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.renderHistory=[],this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,this.renderHistorySize=t._cache.max,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;for(const t in this._tiles){const e=this._tiles[t];e.textures.forEach((t=>t.destroy())),e.textures=[]}}update(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];for(const r of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))this._renderableTilesKeys.push(r.key),this._tiles[r.key]||(r.posMatrix=new Float64Array(16),t.ortho(r.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[r.key]=new B(r,this.tileSize))}removeOutdated(t){const e={};this.renderHistory=this.renderHistory.filter(((t,e)=>this.renderHistory.indexOf(t)===e)).slice(0,this.renderHistorySize);for(const t of this._renderableTilesKeys)e[t]=!0;for(const t of this.renderHistory)e[t]=!0;for(const i in this._tiles)e[i]||(this._tiles[i].clearTextures(t),delete this._tiles[i])}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(e){const i={};for(const r of this._renderableTilesKeys){const n=this._tiles[r].tileID;if(n.canonical.equals(e.canonical)){const n=e.clone();n.posMatrix=new Float64Array(16),t.ortho(n.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[r]=n}else if(n.canonical.isChildOf(e.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const o=n.canonical.z-e.canonical.z,a=n.canonical.x-(n.canonical.x>>o<>o<>o;t.ortho(s.posMatrix,0,c,0,c,0,1),t.translate(s.posMatrix,s.posMatrix,[-a*c,-l*c,0]),i[r]=s}else if(e.canonical.isChildOf(n.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const o=e.canonical.z-n.canonical.z,a=e.canonical.x-(e.canonical.x>>o<>o<>o;t.ortho(s.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(s.posMatrix,s.posMatrix,[a*c,l*c,0]),t.scale(s.posMatrix,s.posMatrix,[1/2**o,1/2**o,0]),i[r]=s}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let r=t.overscaledZ-this.deltaZoom;if(r>i.maxzoom&&(r=i.maxzoom),r=i.minzoom&&(!n||!n.dem);)n=this.sourceCache.getTileByID(t.scaledTo(r--).key);return n}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeLoaded>=t))}}class Kt{constructor(t,e,i){this.style=t,this.sourceCache=new Ht(e),this.options=i,this.exaggeration="number"==typeof i.exaggeration?i.exaggeration:1,this.elevationOffset="number"==typeof i.elevationOffset?i.elevationOffset:450,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024,this.clearRerenderCache()}getDEMElevation(e,i,r,n=t.EXTENT){if(!(i>=0&&i=0&&re.canonical.z&&(e.canonical.z>=r?n=e.canonical.z-r:t.warnOnce("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const s=e.canonical.x-(e.canonical.x>>n<>n<>8<<4|t>>8,i[e+3]=0;const r=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),n=new l(e,r,e.gl.RGBA,{premultiply:!1});return n.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(e){const i=new Uint8Array(4),r=this.style.map.painter,n=r.context,s=n.gl;n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),s.readPixels(e.x,r.height/devicePixelRatio-e.y-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),n.bindFramebuffer.set(null);const o=i[0]+(i[2]>>4<<8),a=i[1]+((15&i[2])<<8),l=this.coordsIndex[255-i[3]],c=l&&this.sourceCache.getTileByID(l);if(!c)return null;const h=this._coordsTextureSize,u=(1<t.emitValidationErrors(e,i&&i.filter((t=>"source.canvas"!==t.identifier))),Yt=t.pick(W,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),Qt=t.pick(W,["setCenter","setZoom","setBearing","setPitch"]),te=function(){const e={},i=t.spec.$version;for(const r in t.spec.$root){const n=t.spec.$root[r];if(n.required){let t=null;t="version"===r?i:"array"===n.type?[]:{},null!=t&&(e[r]=t)}}return e}();class ee extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new x(j(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new m(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new y(256,512),this.crossTileSymbolIndex=new Xt,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());const r=this;this._rtlTextPluginCallback=ee.registerForPluginStateChange((e=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in r.sourceCaches)r.sourceCaches[t].reload()}))})),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e)}}))}loadURL(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"}));const r="boolean"!=typeof i.validate||i.validate,n=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(n,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,r)}))}loadJSON(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate)}))}loadEmpty(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(te,!1)}_load(e,i){if(i&&Jt(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=e;for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);const r=X(this.stylesheet.layers);this._order=r.map((t=>t.id)),this._layers={},this._serializedLayers={};for(let e of r)e=t.createStyleLayer(e),e.setEventedParent(this,{layer:{id:e.id}}),this._layers[e.id]=e,this._serializedLayers[e.id]=e.serialize();this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new _(this.stylesheet.light),this.setTerrain(this.stylesheet.terrain),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}_loadSprite(e){this._spriteRequest=function(e,i,r,n){let s,o,a;const l=r>1?"@2x":"";let c=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,l,".json"),t.ResourceType.SpriteJSON),((t,e)=>{c=null,a||(a=t,s=e,u())})),h=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,l,".png"),t.ResourceType.SpriteImage),((t,e)=>{h=null,a||(a=t,o=e,u())}));function u(){if(a)n(a);else if(s&&o){const e=t.exported.getImageData(o),i={};for(const r in s){const{width:n,height:o,x:a,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:p,content:d}=s[r],m=new t.RGBAImage({width:n,height:o});t.RGBAImage.copy(e,m,{x:a,y:l},{x:0,y:0},{width:n,height:o}),i[r]={data:m,pixelRatio:h,sdf:c,stretchX:u,stretchY:p,content:d}}n(null,i)}}return{cancel(){c&&(c.cancel(),c=null),h&&(h.cancel(),h=null)}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}))}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const r=e.sourceLayer;if(!r)return;const n=i.getSource();("geojson"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(new t.ErrorEvent(new Error(`Source layer "${r}" does not exist on source "${n.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];"custom"!==t.type&&e.push(t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];"reload"===e?this._reloadSource(t):"clear"===e&&this._clearSource(t)}this._updateTilesForChangedImages();for(const t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}const r={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];r[t]=e.used,e.used=!1}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0)}for(const e in r){const i=this.sourceCaches[e];r[e]!==i.used&&i.fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:e}))}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setTerrain(e){if(this._checkLoaded(),this._terrainDataCallback&&this.off("data",this._terrainDataCallback),this._terrainfreezeElevationCallback&&this.map.off("freezeElevation",this._terrainfreezeElevationCallback),e){const t=this.sourceCaches[e.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain=new Kt(this,t,e),this.map.transform.updateElevation(this.terrain),this._terrainfreezeElevationCallback=t=>{t.freeze?this.map.transform.freezeElevation=!0:(this.map.transform.freezeElevation=!1,this.map.transform.recalculateZoom(this.terrain))},this._terrainDataCallback=t=>{t.tile&&(t.sourceId===e.source?(this.map.transform.updateElevation(this.terrain),this.terrain.rememberForRerender(t.sourceId,t.tile.tileID)):"geojson"===t.source.type&&this.terrain.rememberForRerender(t.sourceId,t.tile.tileID))},this.on("data",this._terrainDataCallback),this.map.on("freezeElevation",this._terrainfreezeElevationCallback)}else this.terrain=null,this.map.transform.updateElevation(this.terrain);this.map.fire(new t.Event("terrain",{terrain:e}))}setState(e){if(this._checkLoaded(),Jt(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=X(e.layers);const i=function(t,e){if(!t)return[{command:W.setStyle,args:[e]}];let i=[];try{if(!n(t.version,e.version))return[{command:W.setStyle,args:[e]}];n(t.center,e.center)||i.push({command:W.setCenter,args:[e.center]}),n(t.zoom,e.zoom)||i.push({command:W.setZoom,args:[e.zoom]}),n(t.bearing,e.bearing)||i.push({command:W.setBearing,args:[e.bearing]}),n(t.pitch,e.pitch)||i.push({command:W.setPitch,args:[e.pitch]}),n(t.sprite,e.sprite)||i.push({command:W.setSprite,args:[e.sprite]}),n(t.glyphs,e.glyphs)||i.push({command:W.setGlyphs,args:[e.glyphs]}),n(t.transition,e.transition)||i.push({command:W.setTransition,args:[e.transition]}),n(t.light,e.light)||i.push({command:W.setLight,args:[e.light]});const r={},s=[];!function(t,e,i,r){let s;for(s in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,s)&&(Object.prototype.hasOwnProperty.call(e,s)||K(s,i,r));for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&(Object.prototype.hasOwnProperty.call(t,s)?n(t[s],e[s])||("geojson"===t[s].type&&"geojson"===e[s].type&&Y(t,e,s)?i.push({command:W.setGeoJSONSourceData,args:[s,e[s].data]}):J(s,e,i,r)):H(s,e,i))}(t.sources,e.sources,s,r);const o=[];t.layers&&t.layers.forEach((t=>{r[t.source]?i.push({command:W.removeLayer,args:[t.id]}):o.push(t)})),i=i.concat(s),function(t,e,i){e=e||[];const r=(t=t||[]).map(tt),s=e.map(tt),o=t.reduce(et,{}),a=e.reduce(et,{}),l=r.slice(),c=Object.create(null);let h,u,p,d,m,f,g;for(h=0,u=0;h!(t.command in Qt)));if(0===i.length)return!1;const r=i.filter((t=>!(t.command in Yt)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((t=>t.command)).join(", ")}.`);return i.forEach((t=>{"setTransition"!==t.command&&this[t.command].apply(this,t.args)})),this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(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"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,r={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);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,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=this.sourceCaches[e]=new O(e,i,this.dispatcher);n.style=this,n.setEventedParent(this,(()=>({isSourceLoaded:this.loaded(),source:n.serialize(),sourceId:e}))),n.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(const 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.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(e,i,r={}){this._checkLoaded();const n=e.id;if(this.getLayer(n))return void this.fire(new t.ErrorEvent(new Error(`Layer "${n}" already exists on this map.`)));let s;if("custom"===e.type){if(Jt(this,t.validateCustomStyleLayer(e)))return;s=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(n,e.source),e=t.clone$1(e),e=t.extend(e,{source:n})),this._validate(t.validateStyle.layer,`layers.${n}`,e,{arrayIndex:-1},r))return;s=t.createStyleLayer(e),this._validateLayer(s),s.setEventedParent(this,{layer:{id:n}}),this._serializedLayers[s.id]=s.serialize()}const o=i?this._order.indexOf(i):this._order.length;if(i&&-1===o)this.fire(new t.ErrorEvent(new Error(`Cannot add layer "${n}" before non-existing layer "${i}".`)));else{if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=s,this._removedLayers[n]&&s.source&&"custom"!==s.type){const t=this._removedLayers[n];delete this._removedLayers[n],t.type!==s.type?this._updatedSources[s.source]="clear":(this._updatedSources[s.source]="reload",this.sourceCaches[s.source].pause())}this._updateLayer(s),s.onAdd&&s.onAdd(this.map)}}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const r=this._order.indexOf(e);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new t.ErrorEvent(new Error(`Cannot move layer "${e}" before non-existing layer "${i}".`))):(this._order.splice(n,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer "${e}".`)));i.setEventedParent(null);const r=this._order.indexOf(e);this._order.splice(r,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)}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,r){this._checkLoaded();const n=this.getLayer(e);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,i,r={}){this._checkLoaded();const s=this.getLayer(e);if(s){if(!n(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(t.validateStyle.filter,`layers.${s.id}.filter`,i,null,r)||(s.filter=t.clone$1(i),this._updateLayer(s)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,r,s={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getLayoutProperty(i),r)||(o.setLayoutProperty(i,r,s),this._updateLayer(o)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,i){const r=this.getLayer(e);if(r)return r.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,i,r,s={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getPaintProperty(i),r)||(o.setPaintProperty(i,r,s)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const r=e.source,n=e.sourceLayer,s=this.sourceCaches[r];if(void 0===s)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const o=s.getSource().type;"geojson"===o&&n?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||n?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),s.setFeatureState(n,e.id,i)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,i){this._checkLoaded();const r=e.source,n=this.sourceCaches[r];if(void 0===n)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const s=n.getSource().type,o="vector"===s?e.sourceLayer:void 0;"vector"!==s||o?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."))):n.removeFeatureState(o,e.id,i):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const i=e.source,r=e.sourceLayer,n=this.sourceCaches[i];if(void 0!==n)return"vector"!==n.getSource().type||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),n.getFeatureState(r,e.id)):void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){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,(t=>t.serialize())),layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(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}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,i={},r=[];for(let n=this._order.length-1;n>=0;n--){const s=this._order[n];if(e(s)){i[s]=n;for(const e of t){const t=e[s];if(t)for(const e of t)r.push(e)}}}r.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const n=[];for(let s=this._order.length-1;s>=0;s--){const o=this._order[s];if(e(o))for(let t=r.length-1;t>=0;t--){const e=r[t].feature;if(i[e.layer.id]{const r=i.featureSortOrder;if(r){const i=r.indexOf(t.featureIndex);return r.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of n)e.push(t)}}for(const e in a)a[e].forEach((r=>{const n=r.feature,s=i[t[e].source].getFeatureState(n.layer["source-layer"],n.id);n.source=n.layer.source,n.layer["source-layer"]&&(n.sourceLayer=n.layer["source-layer"]),n.state=s}));return a}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i);const r=this.sourceCaches[e];return r?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),r=[],n={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const r=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);o=o||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new Gt(e,this.terrain,this._order,s,i,r,n,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.exported.now()),a=!0),o&&this.pauseablePlacement.placement.setStale()),a||o)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const r=this.sourceCaches[e.source];r&&r.setDependencies(e.tileID.key,e.type,e.icons)}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i)}getResource(e,i,r){return t.makeRequest(i,r)}}ee.getSourceType=function(t){return k[t]},ee.setSourceType=function(t,e){k[t]=e},ee.registerForPluginStateChange=t.registerForPluginStateChange;var ie="attribute vec2 a_pos;uniform mat4 u_matrix;varying vec2 v_texture_pos;varying float v_depth;void main() {v_texture_pos=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);v_depth=gl_Position.z/gl_Position.w;}";const re={prelude:ne("#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;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_offset;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return (elevation+u_terrain_offset)*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:ne("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);}"),backgroundPattern:ne("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);}"),circle:ne("varying vec3 v_data;varying float v_visibility;\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=v_visibility*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;varying float v_visibility;\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);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));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,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,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);}"),clippingMask:ne("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);}"),heatmap:ne("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;}"),heatmapTexture:ne("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;}"),collisionBox:ne("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,get_elevation(a_pos),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;}"),collisionCircle:ne("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);}"),debug:ne("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,get_elevation(a_pos),1);}"),fill:ne("#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);}"),fillOutline:ne("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;}"),fillOutlinePattern:ne("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;}"),fillPattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform 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);}"),fillExtrusion:ne("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;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying 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;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+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;}"),fillExtrusionPattern:ne("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;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying 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;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+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;}"),hillshadePrepare:ne("#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;}"),hillshade:ne("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;}"),line:ne("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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_width2=vec2(outset,inset);}"),lineGradient:ne("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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_width2=vec2(outset,inset);}"),linePattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform 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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:ne("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;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat 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;\n#endif\nv_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);}"),raster:ne("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;}"),symbolIcon:ne("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;float ele=get_elevation(a_pos);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,ele,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),ele,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,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;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),z,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;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:ne("#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;float ele=get_elevation(a_pos);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,ele,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),ele,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,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:ne("#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;float ele=get_elevation(a_pos);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,ele,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),ele,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,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,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);}"),terrain:ne("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",ie),terrainDepth:ne("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}",ie),terrainCoords:ne("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}",ie)};function ne(t,e){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=e.match(/attribute ([\w]+) ([\w]+)/g),n=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),s=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=s?s.concat(n):n,a={};return{fragmentSource:t=t.replace(i,((t,e,i,r,n)=>(a[n]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = u_${n};\n#endif\n`))),vertexSource:e=e.replace(i,((t,e,i,r,n)=>{const s="float"===r?"vec2":"vec4",o=n.match(/color/)?"color":s;return a[n]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`})),staticAttributes:r,staticUniforms:o}}class se{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,i,r,n,s,o,a,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==r.length;for(let t=0;!c&&t({u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_offset:new t.Uniform1f(e,i.u_terrain_offset),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,w),this.binderUniforms=n?n.getUniforms(e,w):[]}draw(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_){const y=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(r),t.setColorMode(n),t.setCullFace(s),a){t.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,a.depthTexture),t.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,a.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(a[t])}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(o[t]);m&&m.setUniforms(t,this.binderUniforms,p,{zoom:d});const x={[y.LINES]:2,[y.TRIANGLES]:3,[y.LINE_STRIP]:1}[e];for(const i of u.get()){const r=i.vaos||(i.vaos={});(r[l]||(r[l]=new se)).bind(t,this,c,m?m.getPaintVertexBuffers():[],h,i.vertexOffset,f,g,_),y.drawElements(e,i.primitiveLength*x,y.UNSIGNED_SHORT,i.primitiveOffset*x*2)}}}function le(t,e,i){const r=1/bt(i,1,e.transform.tileZoom),n=Math.pow(2,i.tileID.overscaledZ),s=i.tileSize*Math.pow(2,e.transform.tileZoom)/n,o=s*(i.tileID.canonical.x+i.tileID.wrap*n),a=s*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[r,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,a>>16],u_pixel_coord_lower:[65535&o,65535&a]}}const ce=(e,i,r,n)=>{const s=i.style.light,o=s.properties.get("position"),a=[o.x,o.y,o.z],l=t.create$1();"viewport"===s.properties.get("anchor")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(a,a,l);const c=s.properties.get("color");return{u_matrix:e,u_lightpos:a,u_lightintensity:s.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:n}},he=(e,i,r,n,s,o,a)=>t.extend(ce(e,i,r,n),le(o,i,a),{u_height_factor:-Math.pow(2,s.overscaledZ)/a.tileSize/8}),ue=t=>({u_matrix:t}),pe=(e,i,r,n)=>t.extend(ue(e),le(r,i,n)),de=(t,e)=>({u_matrix:t,u_world:e}),me=(e,i,r,n,s)=>t.extend(pe(e,i,r,n),{u_world:s}),fe=(t,e,i,r)=>{const n=t.transform;let s,o;if("map"===r.paint.get("circle-pitch-alignment")){const t=bt(i,1,n.zoom);s=!0,o=[t,t]}else s=!1,o=n.pixelsToGLUnits;return{u_camera_to_center_distance:n.cameraToCenterDistance,u_scale_with_map:+("map"===r.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,i,r.paint.get("circle-translate"),r.paint.get("circle-translate-anchor")),u_pitch_with_map:+s,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:o}},ge=(t,e,i)=>{const r=bt(i,1,e.zoom),n=Math.pow(2,e.zoom-i.tileID.overscaledZ),s=i.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:r,u_extrude_scale:[e.pixelsToGLUnits[0]/(r*n),e.pixelsToGLUnits[1]/(r*n)],u_overscale_factor:s}},_e=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),ye=t=>({u_matrix:t}),xe=(t,e,i,r)=>({u_matrix:t,u_extrude_scale:bt(e,1,i),u_intensity:r});function ve(e,i){const r=Math.pow(2,i.canonical.z),n=i.canonical.y;return[new t.MercatorCoordinate(0,n/r).toLngLat().lat,new t.MercatorCoordinate(0,(n+1)/r).toLngLat().lat]}const be=(t,e,i,r)=>{const n=t.transform;return{u_matrix:Ie(t,e,i,r),u_ratio:1/bt(e,1,n.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]]}},we=(e,i,r,n,s)=>t.extend(be(e,i,r,s),{u_image:0,u_image_height:n}),Te=(t,e,i,r,n)=>{const s=t.transform,o=Se(e,s);return{u_matrix:Ie(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_ratio:1/bt(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[o,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Ee=(e,i,r,n,s,o)=>{const a=e.lineAtlas,l=Se(i,e.transform),c="round"===r.layout.get("line-cap"),h=a.getDash(n.from,c),u=a.getDash(n.to,c),p=h.width*s.fromScale,d=u.width*s.toScale;return t.extend(be(e,i,r,o),{u_patternscale_a:[l/p,-h.height/2],u_patternscale_b:[l/d,-u.height/2],u_sdfgamma:a.width/(256*Math.min(p,d)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:s.t})};function Se(t,e){return 1/bt(t,1,e.tileZoom)}function Ie(t,e,i,r){return t.translatePosMatrix(r?r.posMatrix:e.tileID.posMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}const Ae=(t,e,i,r,n)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:r.mix,u_opacity:r.opacity*n.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:n.paint.get("raster-brightness-min"),u_brightness_high:n.paint.get("raster-brightness-max"),u_saturation_factor:(o=n.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(s=n.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:ze(n.paint.get("raster-hue-rotate"))};var s,o};function ze(t){t*=Math.PI/180;const 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]}const Ce=(t,e,i,r,n,s,o,a,l,c)=>{const h=n.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:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:n.options.fadeDuration?n.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:o,u_coord_matrix:a,u_is_text:+l,u_pitch_with_map:+r,u_texsize:c,u_texture:0}},Me=(e,i,r,n,s,o,a,l,c,h,u)=>{const p=s.transform;return t.extend(Ce(e,i,r,n,s,o,a,l,c,h),{u_gamma_scale:n?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+u})},ke=(e,i,r,n,s,o,a,l,c,h)=>t.extend(Me(e,i,r,n,s,o,a,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Pe=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),De=(e,i,r,n,s,o)=>t.extend(function(t,e,i,r){const n=i.imageManager.getPattern(t.from.toString()),s=i.imageManager.getPattern(t.to.toString()),{width:o,height:a}=i.imageManager.getPixelSize(),l=Math.pow(2,r.tileID.overscaledZ),c=r.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(r.tileID.canonical.x+r.tileID.wrap*l),u=c*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:n.tl,u_pattern_br_a:n.br,u_pattern_tl_b:s.tl,u_pattern_br_b:s.br,u_texsize:[o,a],u_mix:e.t,u_pattern_size_a:n.displaySize,u_pattern_size_b:s.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/bt(r,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(n,o,r,s),{u_matrix:e,u_opacity:i}),Le={fillExtrusion:(e,i)=>({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:(e,i)=>({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:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({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:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id)})};class Be{constructor(t,e,i){this.context=t;const r=t.gl;this.buffer=r.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const Re={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Fe{constructor(t,e,i,r){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.context=t;const n=t.gl;this.buffer=n.createBuffer(),t.bindVertexBuffer.set(this.buffer),n.bufferData(n.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let i=0;i0){const i=t.create(),r=y;t.mul(i,_.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,_.placementViewportMatrix),u.push({circleArray:v,circleOffset:d,transform:r,invTransform:i,coord:f}),p+=v.length/4,d=p}x&&h.draw(l,c.LINES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Si.disabled,ge(y,e.transform,g),e.style.terrain&&e.style.terrain.getTerrainData(f),r.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}if(!a||!u.length)return;const m=e.useProgram("collisionCircle"),f=new t.CollisionCircleLayoutArray;f.resize(4*p),f._trim();let g=0;for(const t of u)for(let e=0;e=0&&(f[g.associatedIconIndex]={shiftedAnchor:S,angle:I})}else _t(g.numGlyphs,d)}if(h){m.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.terrain.getElevation(l,t,i):null,i="map"===r.layout.get("text-rotation-alignment");ht(c,l.posMatrix,e,s,R,F,_,h,i,t)}const V=e.translatePosMatrix(l.posMatrix,n,o,a),N=y||s&&T||U?zi:R,G=e.translatePosMatrix(F,n,o,a,!0),$=d&&0!==r.paint.get(s?"text-halo-width":"icon-halo-width").constantOr(1);let q;q=d?c.iconsInText?ke(w.kind,A,x,_,e,V,N,G,C,D):Me(w.kind,A,x,_,e,V,N,G,s,C,!0):Ce(w.kind,A,x,_,e,V,N,G,s,C);const j={program:I,buffers:u,uniformValues:q,atlasTexture:M,atlasTextureIcon:L,atlasInterpolation:k,atlasInterpolationIcon:P,isSDF:d,hasHalo:$};if(v&&c.canOverlap){b=!0;const e=u.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:j,terrainData:z})}else E.push({segments:u.segments,sortKey:0,state:j,terrainData:z})}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(d.activeTexture.set(m.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,m.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(m.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,m.CLAMP_TO_EDGE)),i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,Di(i.buffers,t.segments,r,e,i.program,w,u,p,n,t.terrainData)),n.u_is_halo=0}Di(i.buffers,t.segments,r,e,i.program,w,u,p,i.uniformValues,t.terrainData)}}function Di(t,e,i,r,n,s,o,a,l,c){const h=r.context;n.draw(h,h.gl.TRIANGLES,s,o,a,Si.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,r.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Li(t,e,i,r,n,s,o){const a=t.context.gl,l=i.paint.get("fill-pattern"),c=l&&l.constantOr(1),h=i.getCrossfadeParameters();let u,p,d,m,f;o?(p=c&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",u=a.LINES):(p=c?"fillPattern":"fill",u=a.TRIANGLES);for(const g of r){const r=e.getTile(g);if(c&&!r.patternsLoaded())continue;const _=r.getBucket(i);if(!_)continue;const y=_.programConfigurations.get(i.id),x=t.useProgram(p,y),v=t.style.terrain&&t.style.terrain.getTerrainData(g);c&&(t.context.activeTexture.set(a.TEXTURE0),r.imageAtlasTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),y.updatePaintBuffers(h));const b=l.constantOr(null);if(b&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[b.to.toString()],i=t.patternPositions[b.from.toString()];e&&i&&y.setConstantPatternPositions(e,i)}const w=v?g:null,T=t.translatePosMatrix(w?w.posMatrix:g.posMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));if(o){m=_.indexBuffer2,f=_.segments2;const e=[a.drawingBufferWidth,a.drawingBufferHeight];d="fillOutlinePattern"===p&&c?me(T,t,h,r,e):de(T,e)}else m=_.indexBuffer,f=_.segments,d=c?pe(T,t,h,r):ue(T);x.draw(t.context,u,n,t.stencilModeForClipping(g),s,Si.disabled,d,v,i.id,_.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,y)}}function Bi(t,e,i,r,n,s,o){const a=t.context,l=a.gl,c=i.paint.get("fill-extrusion-pattern"),h=c.constantOr(1),u=i.getCrossfadeParameters(),p=i.paint.get("fill-extrusion-opacity");for(const d of r){const r=e.getTile(d),m=r.getBucket(i);if(!m)continue;const f=t.style.terrain&&t.style.terrain.getTerrainData(d),g=m.programConfigurations.get(i.id),_=t.useProgram(h?"fillExtrusionPattern":"fillExtrusion",g);h&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(u));const y=c.constantOr(null);if(y&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[y.to.toString()],i=t.patternPositions[y.from.toString()];e&&i&&g.setConstantPatternPositions(e,i)}const x=t.translatePosMatrix(d.posMatrix,r,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),v=i.paint.get("fill-extrusion-vertical-gradient"),b=h?he(x,t,v,p,d,u,r):ce(x,t,v,p);_.draw(a,a.gl.TRIANGLES,n,s,o,Si.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.terrain&&m.centroidVertexBuffer)}}function Ri(t,e,i,r,n,s,o){const a=t.context,l=a.gl,c=i.fbo;if(!c)return;const h=t.useProgram("hillshade"),u=t.style.terrain&&t.style.terrain.getTerrainData(e);a.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(a,l.TRIANGLES,n,s,o,Si.disabled,((t,e,i,r)=>{const n=i.paint.get("hillshade-shadow-color"),s=i.paint.get("hillshade-highlight-color"),o=i.paint.get("hillshade-accent-color");let a=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(a-=t.transform.angle);const l=!t.options.moving;return{u_matrix:r?r.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:ve(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),a],u_shadow:n,u_highlight:s,u_accent:o}})(t,i,r,u?e:null),u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}function Fi(e,i,r,n,s,o){const a=e.context,c=a.gl,h=i.dem;if(h&&h.data){const u=h.dim,p=h.stride,d=h.getPixels();if(a.activeTexture.set(c.TEXTURE1),a.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(p),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else i.demTexture=new l(a,d,c.RGBA,{premultiply:!1}),i.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);a.activeTexture.set(c.TEXTURE0);let m=i.fbo;if(!m){const t=new l(a,{width:u,height:u,data:null},c.RGBA);t.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=i.fbo=a.createFramebuffer(u,u,!0),m.colorAttachment.set(t.texture)}a.bindFramebuffer.set(m.framebuffer),a.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(a,c.TRIANGLES,n,s,o,Si.disabled,((e,i)=>{const r=i.stride,n=t.create();return t.ortho(n,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(n,n,[0,-t.EXTENT,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1}}function Oi(e,i,r,n,s,o){const a=n.paint.get("raster-fade-duration");if(!o&&a>0){const n=t.exported.now(),o=(n-e.timeAdded)/a,l=i?(n-i.timeAdded)/a:-1,c=r.getSource(),h=s.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=u&&e.refreshedUponExpiration?1:t.clamp(u?o:1-l,0,1);return e.refreshedUponExpiration&&o>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const Ui=new t.Color(1,0,0,1),Vi=new t.Color(0,1,0,1),Ni=new t.Color(0,0,1,1),Gi=new t.Color(1,0,1,1),$i=new t.Color(0,1,1,1);function qi(t,e,i,r){Zi(t,0,e+i/2,t.transform.width,i,r)}function ji(t,e,i,r){Zi(t,e-i/2,0,i,t.transform.height,r)}function Zi(t,e,i,r,n,s){const o=t.context,a=o.gl;a.enable(a.SCISSOR_TEST),a.scissor(e*t.pixelRatio,i*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio),o.clear({color:s}),a.disable(a.SCISSOR_TEST)}function Xi(e,i,r){const n=e.context,s=n.gl,o=r.posMatrix,a=e.useProgram("debug"),l=wi.disabled,c=Ei.disabled,h=e.colorModeForRenderPass(),u="$debug",p=e.style.terrain&&e.style.terrain.getTerrainData(r);n.activeTexture.set(s.TEXTURE0),e.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE);const d=i.getTileByID(r.key).latestRawTileData,m=Math.floor((d&&d.byteLength||0)/1024),f=i.getTile(r).tileSize,g=512/Math.min(f,512)*(r.overscaledZ/e.transform.zoom)*.5;let _=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(_+=` => ${r.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,r=t.context.gl,n=t.debugOverlayCanvas.getContext("2d");n.clearRect(0,0,i.width,i.height),n.shadowColor="white",n.shadowBlur=2,n.lineWidth=1.5,n.strokeStyle="white",n.textBaseline="top",n.font="bold 36px Open Sans, sans-serif",n.fillText(e,5,5),n.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${_} ${m}kB`),a.draw(n,s.TRIANGLES,l,c,vi.alphaBlended,Si.disabled,_e(o,t.Color.transparent,g),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),a.draw(n,s.LINE_STRIP,l,c,h,Si.disabled,_e(o,t.Color.red),p,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function Wi(t,e,i){const r=t.context,n=r.gl,s=t.colorModeForRenderPass(),o=new wi(n.LEQUAL,wi.ReadWrite,t.depthRangeFor3D),a=t.useProgram("terrain"),l=e.getTerrainMesh(),c=e.getTerrainData(i.tileID);r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height]),r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,e.getRTTFramebuffer().colorAttachment.get());const h=t.transform.calculatePosMatrix(i.tileID.toUnwrapped());a.draw(r,n.TRIANGLES,o,Ei.disabled,s,Si.backCCW,{u_matrix:h,u_texture:0},c,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}function Hi(t,e,i,r){const n=t.context,s=i.tileSize*e.qualityFactor;i.textures[r]||(i.textures[r]=t.getTileTexture(s)||new l(n,{width:s,height:s,data:null},n.gl.RGBA),i.textures[r].bind(n.gl.LINEAR,n.gl.CLAMP_TO_EDGE),0===r&&e.sourceCache.renderHistory.unshift(i.tileID.key));const o=e.getRTTFramebuffer();o.colorAttachment.set(i.textures[r].texture),n.bindFramebuffer.set(o.framebuffer),n.viewport.set([0,0,s,s])}class Ki{constructor(t){this._coordsDescendingInv={},this._coordsDescendingInvStr={},this.painter=t,this._renderToTexture={background:!0,fill:!0,line:!0,raster:!0},this._coordsDescendingInv={},this._coordsDescendingInvStr={},this._stacks=[],this._prevType=null,this._rerender={},this._renderableTiles=t.style.terrain.sourceCache.getRenderableTiles(),this._init()}_init(){const t=this.painter.style,e=t.terrain;for(const i in t.sourceCaches){this._coordsDescendingInv[i]={};const r=t.sourceCaches[i].getVisibleCoordinates();for(const t of r){const r=e.sourceCache.getTerrainCoords(t);for(const t in r)this._coordsDescendingInv[i][t]||(this._coordsDescendingInv[i][t]=[]),this._coordsDescendingInv[i][t].push(r[t])}}for(const e of t._order){const i=t._layers[e],r=i.source;if(this._renderToTexture[i.type]&&!this._coordsDescendingInvStr[r]){this._coordsDescendingInvStr[r]={};for(const t in this._coordsDescendingInv[r])this._coordsDescendingInvStr[r][t]=this._coordsDescendingInv[r][t].map((t=>t.key)).sort().join()}}return this._renderableTiles.forEach((t=>{for(const i in this._coordsDescendingInvStr){const r=this._coordsDescendingInvStr[i][t.tileID.key];r&&r!==t.textureCoords[i]&&t.clearTextures(this.painter),e.needsRerender(i,t.tileID)&&t.clearTextures(this.painter)}this._rerender[t.tileID.key]=!t.textures.length})),e.clearRerenderCache(),e.sourceCache.removeOutdated(this.painter),this}renderLayer(e){const i=e.type,r=this.painter,n=r.style._order,s=r.currentLayer,o=s+1===n.length;if(this._renderToTexture[i]&&(this._prevType&&this._renderToTexture[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(n[s]),!o))return!0;if(this._renderToTexture[this._prevType]||"hillshade"===i||this._renderToTexture[i]&&o){this._prevType=i;const o=this._stacks.length-1,a=this._stacks[o]||[];for(const e of this._renderableTiles){if(Hi(r,r.style.terrain,e,o),this._rerender[e.tileID.key]){r.context.clear({color:t.Color.transparent});for(let t=0;ti.style.terrain.getElevation(s,t,e):null)}}}(n,e,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),s),0!==r.paint.get("icon-opacity").constantOr(1)&&Pi(e,i,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),o,a),0!==r.paint.get("text-opacity").constantOr(1)&&Pi(e,i,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),o,a),i.map.showCollisionBoxes&&(Ai(e,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),Ai(e,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))},circle:function(e,i,r,n){if("translucent"!==e.renderPass)return;const s=r.paint.get("circle-opacity"),o=r.paint.get("circle-stroke-width"),a=r.paint.get("circle-stroke-opacity"),l=!r.layout.get("circle-sort-key").isConstant();if(0===s.constantOr(1)&&(0===o.constantOr(1)||0===a.constantOr(1)))return;const c=e.context,h=c.gl,u=e.depthModeForSublayer(0,wi.ReadOnly),p=Ei.disabled,d=e.colorModeForRenderPass(),m=[];for(let s=0;st.sortKey-e.sortKey));for(const t of m){const{programConfiguration:i,program:n,layoutVertexBuffer:s,indexBuffer:o,uniformValues:a,terrainData:l}=t.state;n.draw(c,h.TRIANGLES,u,p,d,Si.disabled,a,l,r.id,s,o,t.segments,r.paint,e.transform.zoom,i)}},heatmap:function(e,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){const s=e.context,o=s.gl,a=Ei.disabled,l=new vi([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const r=t.gl;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let n=i.heatmapFbo;if(n)r.bindTexture(r.TEXTURE_2D,n.colorAttachment.get()),t.bindFramebuffer.set(n.framebuffer);else{const s=r.createTexture();r.bindTexture(r.TEXTURE_2D,s),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),n=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,r){const n=t.gl;n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e.width/4,e.height/4,0,n.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:n.UNSIGNED_BYTE,null),r.colorAttachment.set(i)}(t,e,s,n)}}(s,e,r),s.clear({color:t.Color.transparent});for(let t=0;t{const s=t.create();t.ortho(s,0,e.width,e.height,0,0,1);const o=e.context.gl;return{u_matrix:s,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom)}(e,r))},line:function(e,i,r,n){if("translucent"!==e.renderPass)return;const s=r.paint.get("line-opacity"),o=r.paint.get("line-width");if(0===s.constantOr(1)||0===o.constantOr(1))return;const a=e.depthModeForSublayer(0,wi.ReadOnly),c=e.colorModeForRenderPass(),h=r.paint.get("line-dasharray"),u=r.paint.get("line-pattern"),p=u.constantOr(1),d=r.paint.get("line-gradient"),m=r.getCrossfadeParameters(),f=p?"linePattern":h?"lineSDF":d?"lineGradient":"line",g=e.context,_=g.gl;let y=!0;for(const s of n){const n=i.getTile(s);if(p&&!n.patternsLoaded())continue;const o=n.getBucket(r);if(!o)continue;const x=o.programConfigurations.get(r.id),v=e.context.program.get(),b=e.useProgram(f,x),w=y||b.program!==v,T=e.style.terrain&&e.style.terrain.getTerrainData(s),E=u.constantOr(null);if(E&&n.imageAtlas){const t=n.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&x.setConstantPatternPositions(e,i)}const S=T?s:null,I=p?Te(e,n,r,m,S):h?Ee(e,n,r,h,m,S):d?we(e,n,r,o.lineClipsArray.length,S):be(e,n,r,S);if(p)g.activeTexture.set(_.TEXTURE0),n.imageAtlasTexture.bind(_.LINEAR,_.CLAMP_TO_EDGE),x.updatePaintBuffers(m);else if(h&&(w||e.lineAtlas.dirty))g.activeTexture.set(_.TEXTURE0),e.lineAtlas.bind(g);else if(d){const n=o.gradients[r.id];let a=n.texture;if(r.gradientVersion!==n.version){let c=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=s.canonical.z===r?Math.ceil(1<256&&this.clearStencil(),i.setColorMode(vi.disabled),i.setDepthMode(wi.disabled);const n=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,s=this.style.terrain&&this.style.terrain.getTerrainData(t);n.draw(i,r.TRIANGLES,wi.disabled,new Ei({func:r.ALWAYS,mask:0},e,255,r.KEEP,r.KEEP,r.REPLACE),vi.disabled,Si.disabled,ye(t.posMatrix),s,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Ei({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Ei({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),r=i[i.length-1].overscaledZ,n=i[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[r[this.currentLayer]],e=n[t.source],i=o[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer{i.source&&!i.isHidden(this.transform.zoom)&&(i.source!==(e&&e.id)&&(e=this.style.sourceCaches[i.source]),(!t||t.getSource().maxzoom0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return!e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.terrain?"/terrain":"");return this.cache[i]||(this.cache[i]=new ae(this.context,t,re[t],e,Le[t],this._showOverdrawInspector,this.style.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const 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)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new l(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}}class Qi{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(e,i,r){const n=Math.pow(2,r),s=[[-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((r=>{const s=1/(r=t.transformMat4([],r,e))[3]/i*n;return t.mul$1(r,r,[s,s,1/r[3],s])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const i=t.sub([],s[e[0]],s[e[1]]),r=t.sub([],s[e[2]],s[e[1]]),n=t.normalize([],t.cross([],i,r)),o=-t.dot(n,s[e[1]]);return n.concat(o)}));return new Qi(s,o)}}class tr{constructor(e,i){this.min=e,this.max=i,this.center=t.scale$1([],t.add([],this.min,this.max),.5)}quadrant(e){const i=[e%2==0,e<2],r=t.clone$2(this.min),n=t.clone$2(this.max);for(let t=0;t=0&&o++;if(0===o)return 0;o!==i.length&&(r=!1)}if(r)return 2;for(let t=0;t<3;t++){let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(let n=0;nthis.max[t]-this.min[t])return 0}return 1}}class er{constructor(t=0,e=0,i=0,r=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(r)||r<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=r}interpolate(e,i,r){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,r)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,r)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,r)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,r)),this}getCenter(e,i){const r=t.clamp((this.left+e-this.right)/2,0,e),n=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.pointGeometry(r,n)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new er(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class ir{constructor(e,i,r,n,s){this.tileSize=512,this.maxValidLatitude=85.051129,this.freezeElevation=!1,this._renderWorldCopies=void 0===s||!!s,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new er,this._posMatrixCache={},this._alignedPosMatrixCache={}}clone(){const t=new ir(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._elevation=this._elevation,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}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.pointGeometry(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;var r;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(r=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(r[1]=0,r[2]=0),r[0]=1,r[3]=1,r),function(t,e,i){var r=e[0],n=e[1],s=e[2],o=e[3],a=Math.sin(i),l=Math.cos(i);t[0]=r*l+s*a,t[1]=n*l+o*a,t[2]=r*-a+s*l,t[3]=n*-a+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const 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())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const r=this.pointCoordinate(new t.pointGeometry(0,0)),n=this.pointCoordinate(new t.pointGeometry(this.width,0)),s=this.pointCoordinate(new t.pointGeometry(this.width,this.height)),o=this.pointCoordinate(new t.pointGeometry(0,this.height)),a=Math.floor(Math.min(r.x,n.x,s.x,o.x)),l=Math.floor(Math.max(r.x,n.x,s.x,o.x)),c=1;for(let r=a-c;r<=l+c;r++)0!==r&&i.push(new t.UnwrappedTileID(r,e))}return i}coveringTiles(e){var i,r;let n=this.coveringZoomLevel(e);const s=n;if(void 0!==e.minzoom&&ne.maxzoom&&(n=e.maxzoom);const o=this.pointCoordinate(this.getCameraPoint()),a=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,n),c=[l*o.x,l*o.y,0],h=[l*a.x,l*a.y,0],u=Qi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,n);let p=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(p=n);const d=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,m=t=>({aabb:new tr([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),f=[],g=[],_=n,y=e.reparseOverscaled?s:n;if(this._renderWorldCopies)for(let t=1;t<=3;t++)f.push(m(-t)),f.push(m(t));for(f.push(m(0));f.length>0;){const n=f.pop(),s=n.x,o=n.y;let a=n.fullyVisible;if(!a){const t=n.aabb.intersects(u);if(0===t)continue;a=2===t}const l=e.terrain?c:h,m=n.aabb.distanceX(l),x=n.aabb.distanceY(l),v=Math.max(Math.abs(m),Math.abs(x)),b=d+(1<<_-n.zoom)-2;if(n.zoom===_||v>b&&n.zoom>=p){const e=_-n.zoom,i=c[0]-.5-(s<>1),u=n.zoom+1;let p=n.aabb.quadrant(l);if(e.terrain){const s=new t.OverscaledTileID(u,n.wrap,u,c,h),o=e.terrain.getMinMaxElevation(s),a=null!==(i=o.minElevation)&&void 0!==i?i:this.elevation,l=null!==(r=o.maxElevation)&&void 0!==r?r:this.elevation;p=new tr([p.min[0],p.min[1],a],[p.max[0],p.max[1],l])}f.push({aabb:p,zoom:u,x:c,y:h,wrap:n.wrap,fullyVisible:a})}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.pointGeometry(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}updateElevation(t){this.freezeElevation||(this.elevation=t?this.getElevation(this._center,t):0)}getElevation(e,i){const r=t.MercatorCoordinate.fromLngLat(e),n=(1<o&&(n=o-e)}if(this.lngRange){const e=(a+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),n=c.x/2;i-nl&&(r=l-n)}void 0===r&&void 0===n||(this.center=this.unproject(new t.pointGeometry(void 0!==r?r:u.x,void 0!==n?n:u.y)).wrap()),this._unmodified=h,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let n=t.identity(new Float64Array(16));t.scale(n,n,[this.width/2,-this.height/2,1]),t.translate(n,n,[1,-1,0]),this.labelPlaneMatrix=n,n=t.identity(new Float64Array(16)),t.scale(n,n,[1,-1,1]),t.translate(n,n,[-1,-1,0]),t.scale(n,n,[2/this.width,2/this.height,1]),this.glCoordMatrix=n,this.cameraToSeaLevelDistance=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch);const s=Math.PI/2+this._pitch,o=this._fov*(.5+e.y/this.height),a=Math.sin(o)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-o,.01,Math.PI-.01)),l=this.getHorizon(),c=2*Math.atan(l/this.cameraToCenterDistance)*(.5+e.y/(2*l)),h=Math.sin(c)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-c,.01,Math.PI-.01)),u=Math.cos(Math.PI/2-this._pitch)*a+this.cameraToSeaLevelDistance,p=Math.cos(Math.PI/2-this._pitch)*h+this.cameraToSeaLevelDistance,d=1.01*Math.min(u,p),m=this.height/50;n=new Float64Array(16),t.perspective(n,this._fov,this.width/this.height,m,d),n[8]=2*-e.x/this.width,n[9]=2*e.y/this.height,t.scale(n,n,[1,-1,1]),t.translate(n,n,[0,0,-this.cameraToCenterDistance]),t.rotateX(n,n,this._pitch),t.rotateZ(n,n,this.angle),t.translate(n,n,[-i,-r,0]),this.mercatorMatrix=t.scale([],n,[this.worldSize,this.worldSize,this.worldSize]),t.scale(n,n,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n),t.translate(n,n,[0,0,-this.elevation]),this.projMatrix=n,this.invProjMatrix=t.invert([],n),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n);const f=this.width%2/2,g=this.height%2/2,_=Math.cos(this.angle),y=Math.sin(this.angle),x=i-Math.round(i)+_*f+y*g,v=r-Math.round(r)+_*g+y*f,b=new Float64Array(n);if(t.translate(b,b,[x>.5?x-1:x,v>.5?v-1:v,0]),this.alignedProjMatrix=b,n=t.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.pointGeometry(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.pointGeometry(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return[e[0],i];{let r=i.x,n=i.y,s=i.x,o=i.y;for(const t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),s=Math.max(s,t.x),o=Math.max(o,t.y);return[new t.pointGeometry(r,n),new t.pointGeometry(s,n),new t.pointGeometry(s,o),new t.pointGeometry(r,o),new t.pointGeometry(r,n)]}}}class rr{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=function(t,e){let i=!1,r=null;const n=()=>{r=null,i&&(t(),r=setTimeout(n,300),i=!1)};return()=>(i=!0,r||n(),r)}(this._updateHashUnthrottled.bind(this))}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,r=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),n=Math.pow(10,r),s=Math.round(e.lng*n)/n,o=Math.round(e.lat*n)/n,a=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${s}/${o}/${i}`:`${i}/${o}/${s}`,(a||l)&&(c+="/"+Math.round(10*a)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split("&").map((i=>{const r=i.split("=")[0];return r===t?(e=!0,`${r}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join("&")}`}return`#${c}`}_getCurrentHash(){const t=window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((t=>t.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")}_onHashChange(){const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const 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}_updateHashUnthrottled(){const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t)}catch(t){}}}const nr={linearity:.3,easing:t.bezier(0,0,.3,1)},sr=t.extend({deceleration:2500,maxSpeed:1400},nr),or=t.extend({deceleration:20,maxSpeed:1400},nr),ar=t.extend({deceleration:1e3,maxSpeed:360},nr),lr=t.extend({deceleration:1e3,maxSpeed:90},nr);class cr{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.pointGeometry(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const s=ur(i.pan.mag(),r,t.extend({},sr,e||{}));n.offset=i.pan.mult(s.amount/i.pan.mag()),n.center=this._map.transform.center,hr(n,s)}if(i.zoom){const t=ur(i.zoom,r,or);n.zoom=this._map.transform.zoom+t.amount,hr(n,t)}if(i.bearing){const e=ur(i.bearing,r,ar);n.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),hr(n,e)}if(i.pitch){const t=ur(i.pitch,r,lr);n.pitch=this._map.transform.pitch+t.amount,hr(n,t)}if(n.zoom||n.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;n.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),t.extend(n,{noMoveStart:!0})}}function hr(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,r)=>t.add(e.div(r.length))),new t.pointGeometry(0,0));super(e,{points:o,point:l,lngLats:a,lngLat:i.unproject(l),originalEvent:r}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class mr extends t.Event{constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class fr{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new mr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new pr(t.type,this._map,t))}mouseup(t){this._map.fire(new pr(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new pr(t.type,this._map,t))}dblclick(t){return this._firePreventable(new pr(t.type,this._map,t))}mouseover(t){this._map.fire(new pr(t.type,this._map,t))}mouseout(t){this._map.fire(new pr(t.type,this._map,t))}touchstart(t){return this._firePreventable(new dr(t.type,this._map,t))}touchmove(t){this._map.fire(new dr(t.type,this._map,t))}touchend(t){this._map.fire(new dr(t.type,this._map,t))}touchcancel(t){this._map.fire(new dr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gr{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,delete this._contextMenuEvent}mousemove(t){this._map.fire(new pr(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new pr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new pr(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _r{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(s.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(r,n,this._map.getBearing(),{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair","mapboxgl-crosshair"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function yr(t,e){const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){const i=new t.pointGeometry(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=yr(r,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const r=yr(i,e);for(const t in this.touches){const e=this.touches[t],i=r[t];(!i||i.dist(e)>30)&&(this.aborted=!0)}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class vr{constructor(t){this.singleTap=new xr(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,i){this.singleTap.touchstart(t,e,i)}touchmove(t,e,i){this.singleTap.touchmove(t,e,i)}touchend(t,e,i){const r=this.singleTap.touchend(t,e,i);if(r){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class br{constructor(){this._zoomIn=new vr({numTouches:1,numTaps:2}),this._zoomOut=new vr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i)}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i)}touchend(t,e,i){const r=this._zoomIn.touchend(t,e,i),n=this._zoomOut.touchend(t,e,i);return r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(r)},{originalEvent:t})}):n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(n)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const wr={0:1,2:2};class Tr{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1}reset(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton}_correctButton(t,e){return!1}_move(t,e){return{}}mousedown(t,e){if(this._lastPoint)return;const i=s.mouseButton(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i)}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){const i=wr[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i){this._cancelCooperativeMessage=!1}),200)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const n=yr(r,i),s=new t.pointGeometry(0,0),o=new t.pointGeometry(0,0);let a=0;for(const t in n){const e=n[t],i=this._touches[t];i&&(s._add(e),o._add(e.sub(i)),a++,n[t]=e)}if(this._touches=n,aMath.abs(t.x)}class Br extends zr{constructor(t){super(),this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length}_start(t){this._lastPoints=t,Lr(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const r=t[0].sub(this._lastPoints[0]),n=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,n,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(r.y+n.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const r=t.mag()>=2,n=e.mag()>=2;if(!r&&!n)return;if(!r||!n)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const s=t.y>0==e.y>0;return Lr(t)&&Lr(e)&&s}}const Rr={panStep:100,bearingStep:15,pitchStep:10};class Fr{constructor(){const t=Rr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,r=0,n=0,s=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),n=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),n=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),s=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),s=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:o=>{const a=o.getZoom();o.easeTo({duration:300,easeId:"keyboardHandler",easing:Or,zoom:e?Math.round(a)+e*(t.shiftKey?2:1):a,bearing:o.getBearing()+i*this._bearingStep,pitch:o.getPitch()+r*this._pitchStep,offset:[-n*this._panStep,-s*this._panStep],center:o.getCenter()},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Or(t){return t*(2-t)}const Ur=4.000244140625;class Vr{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!this._map._metaPress)return;e.preventDefault()}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const r=t.exported.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Ur==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(n*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()}_onTimeout(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const i=s.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;if(0!==this._delta){const t="wheel"===this._type&&Math.abs(this._delta)>Ur?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const r="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const i="number"==typeof this._targetZoom?this._targetZoom:e.zoom,r=this._startZoom,n=this._easing;let s,o=!1;if("wheel"===this._type&&r&&n){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),a=n(e);s=t.number(r,i,a),e<1?this._frameId||(this._frameId=!0):o=!0}else s=i,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!o,zoomDelta:s-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,r=(t.exported.now()-e.start)/e.duration,n=e.easing(r+.01)-e.easing(r),s=.27/Math.sqrt(n*n+1e-4)*.01,o=Math.sqrt(.0729-s*s);i=t.bezier(s,o,.25,1)}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}reset(){this._active=!1}}class Nr{constructor(t,e){this._clickZoom=t,this._tapZoom=e}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Gr{constructor(){this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class $r{constructor(){this._tap=new vr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()}touchstart(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))}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=e[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,t.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(t,e,i)}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class qr{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class jr{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Zr{constructor(t,e,i,r){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const Xr=t=>t.zoom||t.drag||t.pitch||t.rotate;class Wr extends t.Event{}function Hr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Kr{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new cr(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(i),t.bindAll(["handleEvent","handleWindowEvent"],this);const 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],[document,"mousemove",{capture:!0}],[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],[window,"blur",void 0]];for(const[t,e,i]of this._listeners)s.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}destroy(){for(const[t,e,i]of this._listeners)s.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new fr(e,t));const r=e.boxZoom=new _r(e,t);this._add("boxZoom",r);const n=new br,s=new Gr;e.doubleClickZoom=new Nr(s,n),this._add("tapZoom",n),this._add("clickZoom",s);const o=new $r;this._add("tapDragZoom",o);const a=e.touchPitch=new Br(e);this._add("touchPitch",a);const l=new Sr(t),c=new Ir(t);e.dragRotate=new jr(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new Er(t),u=new Ar(t,e);e.dragPan=new qr(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const p=new Dr,d=new kr;e.touchZoomRotate=new Zr(i,d,p,o),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]);const m=e.scrollZoom=new Vr(e,this);this._add("scrollZoom",m,["mousePan"]);const f=e.keyboard=new Fr;this._add("keyboard",f),this._add("blockableMapEvent",new gr(e));for(const i of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])t.interactive&&t[i]&&e[i].enable(t[i])}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(Xr(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const r in t)if(r!==i&&(!e||e.indexOf(r)<0))return!0;return!1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`)}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){if("blur"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i="renderFrame"===t.type?void 0:t,r={needsRenderFrame:!1},n={},o={},a=t.touches,l=a?this._getMapTouches(a):void 0,c=l?s.touchPos(this._el,l):s.mousePos(this._el,t);for(const{handlerName:s,handler:a,allowed:h}of this._handlers){if(!a.isEnabled())continue;let u;this._blockedByActive(o,h,s)?a.reset():a[e||t.type]&&(u=a[e||t.type](t,c,l),this.mergeHandlerResult(r,n,u,s,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||a.isActive())&&(o[s]=a)}const h={};for(const t in this._previousActiveHandlers)o[t]||(h[t]=i);this._previousActiveHandlers=o,(Object.keys(h).length||Hr(r))&&(this._changes.push([r,n,h]),this._triggerRenderFrame()),(Object.keys(o).length||Hr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))}mergeHandlerResult(e,i,r,n,s){if(!r)return;t.extend(e,r);const o={handlerName:n,originalEvent:r.originalEvent||s};void 0!==r.zoomDelta&&(i.zoom=o),void 0!==r.panDelta&&(i.drag=o),void 0!==r.pitchDelta&&(i.pitch=o),void 0!==r.bearingDelta&&(i.rotate=o)}_applyChanges(){const e={},i={},r={};for(const[n,s,o]of this._changes)n.panDelta&&(e.panDelta=(e.panDelta||new t.pointGeometry(0,0))._add(n.panDelta)),n.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(e.around=n.around),void 0!==n.pinchAround&&(e.pinchAround=n.pinchAround),n.noInertia&&(e.noInertia=n.noInertia),t.extend(i,s),t.extend(r,o);this._updateMapTransform(e,i,r),this._changes=[]}_updateMapTransform(e,i,r){const n=this._map,s=n.transform,o=n.style&&n.style.terrain;if(!(Hr(e)||o&&this._drag))return this._fireEvents(i,r,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,pinchAround:p}=e;void 0!==p&&(u=p),n._stop(!0),u=u||n.transform.centerPoint;const d=s.pointLocation(a?u.sub(a):u);c&&(s.bearing+=c),h&&(s.pitch+=h),l&&(s.zoom+=l),o?i.drag&&!this._drag?(this._drag={center:s.centerPoint,lngLat:s.pointLocation(u),point:u,handlerName:i.drag.handlerName},n.fire(new t.Event("freezeElevation",{freeze:!0}))):this._drag&&r[this._drag.handlerName]?(n.fire(new t.Event("freezeElevation",{freeze:!1})),this._drag=null):i.drag&&this._drag&&(s.center=s.pointLocation(s.centerPoint.sub(a))):s.setLocationAtPoint(d,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,r,!0)}_fireEvents(e,i,r){const n=Xr(this._eventsInProgress),s=Xr(e),o={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(o[`${t}start`]=i),this._eventsInProgress[t]=e[t]}!n&&s&&this._fireEvent("movestart",s.originalEvent);for(const t in o)this._fireEvent(t,o[t]);s&&this._fireEvent("move",s.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i)}const a={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:r}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||r,a[`${t}end`]=l)}for(const t in a)this._fireEvent(t,a[t]);const c=Xr(this._eventsInProgress);if(r&&(n||s)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Wr("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Jr={extend:(e,...i)=>t.extend(e,...i),run(t){t()},logToElement(t,e=!1,i="log"){const r=window.document.getElementById(i);r&&(e&&(r.innerHTML=""),r.innerHTML+=`
${t}`)}};class Yr extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,r){return e=t.pointGeometry.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),r)}panTo(e,i,r){return this.easeTo(t.extend({center:e},i),r)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,r){return this.easeTo(t.extend({zoom:e},i),r)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,r){return this.easeTo(t.extend({bearing:e},i),r)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(r.zoom=t.number(n,l,e)),this._rotating&&(r.bearing=t.number(s,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(a,u,e),d=r.centerPoint.add(p)),x)r.setLocationAtPoint(x,v);else{const t=r.zoomScale(r.zoom-n),i=l>n?Math.min(2,y):Math.max(.5,y),s=Math.pow(i,1-e),o=r.unproject(g.add(_.mult(e*s)).mult(t));r.setLocationAtPoint(r.renderWorldCopies?o.wrap():o,d)}this._fireMoveEvents(i)}),(t=>{this._afterEase(i,t)}),e),this}_prepareEase(e,i,r={}){this._moving=!0,this.fire(new t.Event("freezeElevation",{freeze:!0})),i||r.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!r.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!r.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!r.pitching&&this.fire(new t.Event("pitchstart",e))}_fireMoveEvents(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))}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId,this.fire(new t.Event("freezeElevation",{freeze:!1}));const r=this._zooming,n=this._rotating,s=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),s&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}flyTo(e,i){if(!e.essential&&t.exported.prefersReducedMotion){const 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);const r=this.transform,n=this.getZoom(),s=this.getBearing(),o=this.getPitch(),a=this.getPadding(),l="zoom"in e?t.clamp(+e.zoom,r.minZoom,r.maxZoom):n,c="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:o,u="padding"in e?e.padding:r.padding,p=r.zoomScale(l-n),d=t.pointGeometry.convert(e.offset);let m=r.centerPoint.add(d);const f=r.pointLocation(m),g=t.LngLat.convert(e.center||f);this._normalizeCenter(g);const _=r.project(f),y=r.project(g).sub(_);let x=e.curve;const v=Math.max(r.width,r.height),b=v/p,w=y.mag();if("minZoom"in e){const i=t.clamp(Math.min(e.minZoom,n,l),r.minZoom,r.maxZoom),s=v/r.zoomScale(i-n);x=Math.sqrt(s/w*2)}const T=x*x;function E(t){const e=(b*b-v*v+(t?-1:1)*T*T*w*w)/(2*(t?b:v)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function I(t){return(Math.exp(t)+Math.exp(-t))/2}const A=E(0);let z=function(t){return I(A)/I(A+x*t)},C=function(t){return v*((I(A)*(S(e=A+x*t)/I(e))-S(A))/T)/w;var e},M=(E(1)-A)/x;if(Math.abs(w)<1e-6||!isFinite(M)){if(Math.abs(v-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==c,this._pitching=h!==o,this._padding=!r.isPaddingEqual(u),this._prepareEase(i,!1),this._ease((e=>{const p=e*M,f=1/z(p);r.zoom=1===e?l:n+r.scaleZoom(f),this._rotating&&(r.bearing=t.number(s,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(a,u,e),m=r.centerPoint.add(d));const x=1===e?g:r.unproject(_.add(y.mult(C(p))).mult(f));r.setLocationAtPoint(r.renderWorldCopies?x.wrap():x,m),this._fireMoveEvents(i)}),(()=>this._afterEase(i)),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}if(!t){const t=this.handlers;t&&t.stop(!1)}return this}_ease(e,i,r){!1===r.animate||0===r.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const r=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0}}class Qr{constructor(e={}){this.options=e,t.bindAll(["_toggleAttribution","_updateData","_updateCompact","_updateCompactMinimize"],this)}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create("details","maplibregl-ctrl maplibregl-ctrl-attrib mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=s.create("summary","maplibregl-ctrl-attrib-button mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=s.create("div","maplibregl-ctrl-attrib-inner mapboxgl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){s.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}_toggleAttribution(){this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")):(this._container.classList.add("maplibregl-compact-show","mapboxgl-compact-show"),this._container.removeAttribute("open")))}_updateData(t){!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType||this._updateAttributions()}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>"string"!=typeof t?"":t))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const i in e){const r=e[i];if(r.used){const e=r.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let r=i+1;r=0)return!1;return!0}));const i=t.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("maplibregl-attrib-empty","mapboxgl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty","mapboxgl-attrib-empty"),this._updateCompact(),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","mapboxgl-compact","maplibregl-compact-show","mapboxgl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show","mapboxgl-compact","mapboxgl-compact-show"))}_updateCompactMinimize(){this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")}}class tn{constructor(e={}){this.options=e,t.bindAll(["_updateCompact"],this)}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create("div","maplibregl-ctrl mapboxgl-ctrl");const e=s.create("a","maplibregl-ctrl-logo mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){s.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact","mapboxgl-compact"):e.classList.remove("maplibregl-compact","mapboxgl-compact")}}}class en{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}const rn={"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","TerrainControl.enableTerrain":"Enable terrain","TerrainControl.disableTerrain":"Disable terrain"},nn={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,cooperativeGestures:void 0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},sn={showCompass:!0,showZoom:!0,visualizePitch:!1};class on{constructor(e,i,r=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new Sr({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ir({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),s.addEventListener(i,"mousedown",this.mousedown),s.addEventListener(i,"touchstart",this.touchstart,{passive:!1}),s.addEventListener(i,"touchmove",this.touchmove),s.addEventListener(i,"touchend",this.touchend),s.addEventListener(i,"touchcancel",this.reset)}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),s.disableDrag()}move(t,e){const i=this.map,r=this.mouseRotate.mousemoveWindow(t,e);if(r&&r.bearingDelta&&i.setBearing(i.getBearing()+r.bearingDelta),this.mousePitch){const r=this.mousePitch.mousemoveWindow(t,e);r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta)}}off(){const t=this.element;s.removeEventListener(t,"mousedown",this.mousedown),s.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),s.removeEventListener(t,"touchmove",this.touchmove),s.removeEventListener(t,"touchend",this.touchend),s.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){s.enableDrag(),s.removeEventListener(window,"mousemove",this.mousemove),s.removeEventListener(window,"mouseup",this.mouseup)}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),s.mousePos(this.element,e)),s.addEventListener(window,"mousemove",this.mousemove),s.addEventListener(window,"mouseup",this.mouseup)}mousemove(t){this.move(t,s.mousePos(this.element,t))}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos))}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos))}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)180;){const t=r.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e}const ln={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 cn(t,e,i){const r=t.classList;for(const t in ln)r.remove(`maplibregl-${i}-anchor-${t}`,`mapboxgl-${i}-anchor-${t}`);r.add(`maplibregl-${i}-anchor-${e}`,`mapboxgl-${i}-anchor-${e}`)}class hn extends t.Evented{constructor(e,i){if(super(),(e instanceof HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.pointGeometry.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create("div"),this._element.setAttribute("aria-label","Map marker");const i=s.createNS("http://www.w3.org/2000/svg","svg"),r=41,n=27;i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height",`${r}px`),i.setAttributeNS(null,"width",`${n}px`),i.setAttributeNS(null,"viewBox",`0 0 ${n} ${r}`);const o=s.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");const a=s.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"fill-rule","nonzero");const l=s.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");const c=[{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"}];for(const t of c){const e=s.createNS("http://www.w3.org/2000/svg","ellipse");e.setAttributeNS(null,"opacity","0.04"),e.setAttributeNS(null,"cx","10.5"),e.setAttributeNS(null,"cy","5.80029008"),e.setAttributeNS(null,"rx",t.rx),e.setAttributeNS(null,"ry",t.ry),l.appendChild(e)}const h=s.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"fill",this._color);const u=s.createNS("http://www.w3.org/2000/svg","path");u.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"),h.appendChild(u);const p=s.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"opacity","0.25"),p.setAttributeNS(null,"fill","#000000");const d=s.createNS("http://www.w3.org/2000/svg","path");d.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"),p.appendChild(d);const m=s.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");const f=s.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"transform","translate(8.0, 8.0)");const g=s.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");const _=s.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),f.appendChild(g),f.appendChild(_),a.appendChild(l),a.appendChild(h),a.appendChild(p),a.appendChild(m),a.appendChild(f),i.appendChild(a),i.setAttributeNS(null,"height",r*this._scale+"px"),i.setAttributeNS(null,"width",n*this._scale+"px"),this._element.appendChild(i),this._offset=t.pointGeometry.convert(e&&e.offset||[0,-14])}this._element.classList.add("maplibregl-marker","mapboxgl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),cn(this._element,this._anchor,"marker"),this._popup=null}addTo(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}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),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),s.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(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)){const e=38.1,i=13.5,r=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[r,-1*(e-i+r)],"bottom-right":[-r,-1*(e-i+r)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}: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}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}_update(t){if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=an(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),t&&"moveend"!==t.type||(this._pos=this._pos.round()),s.setTransform(this._element,`${ln[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${e}`),this._map.style&&this._map.style.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?"0.2":"1.0",this._opacityTimeout=null}),100))}getOffset(){return this._offset}setOffset(e){return this._offset=t.pointGeometry.convert(e),this._update(),this}_onMove(e){if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}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")))}_onUp(){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"}_addDragHandler(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))}setDraggable(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}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}const un={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let pn,dn=0,mn=!1;const fn={maxWidth:100,unit:"metric"};function gn(t,e,i){const r=i&&i.maxWidth||100,n=t._container.clientHeight/2,s=t.unproject([0,n]),o=t.unproject([r,n]),a=s.distanceTo(o);if(i&&"imperial"===i.unit){const i=3.2808*a;i>5280?_n(e,r,i/5280,t._getUIString("ScaleControl.Miles")):_n(e,r,i,t._getUIString("ScaleControl.Feet"))}else i&&"nautical"===i.unit?_n(e,r,a/1852,t._getUIString("ScaleControl.NauticalMiles")):a>=1e3?_n(e,r,a/1e3,t._getUIString("ScaleControl.Kilometers")):_n(e,r,a,t._getUIString("ScaleControl.Meters"))}function _n(t,e,i,r){const n=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(n/i)+"px",t.innerHTML=`${n} ${r}`}const yn={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},xn=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function vn(e){if(e){if("number"==typeof e){const i=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.pointGeometry(0,0),top:new t.pointGeometry(0,e),"top-left":new t.pointGeometry(i,i),"top-right":new t.pointGeometry(-i,i),bottom:new t.pointGeometry(0,-e),"bottom-left":new t.pointGeometry(i,-i),"bottom-right":new t.pointGeometry(-i,-i),left:new t.pointGeometry(e,0),right:new t.pointGeometry(-e,0)}}if(e instanceof t.pointGeometry||Array.isArray(e)){const i=t.pointGeometry.convert(e);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.pointGeometry.convert(e.center||[0,0]),top:t.pointGeometry.convert(e.top||[0,0]),"top-left":t.pointGeometry.convert(e["top-left"]||[0,0]),"top-right":t.pointGeometry.convert(e["top-right"]||[0,0]),bottom:t.pointGeometry.convert(e.bottom||[0,0]),"bottom-left":t.pointGeometry.convert(e["bottom-left"]||[0,0]),"bottom-right":t.pointGeometry.convert(e["bottom-right"]||[0,0]),left:t.pointGeometry.convert(e.left||[0,0]),right:t.pointGeometry.convert(e.right||[0,0])}}return vn(new t.pointGeometry(0,0))}const bn={supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:class extends Yr{constructor(e){var i;if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},nn,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>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new ir(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,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 en,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},rn,e.locale),this._clickTolerance=e.clickTolerance,this._pixelRatio=null!==(i=e.pixelRatio)&&void 0!==i?i:devicePixelRatio,this._requestManager=new o(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))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",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),this.on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})),"undefined"!=typeof window&&(addEventListener("online",this._onWindowOnline,!1),addEventListener("resize",this._onWindowResize,!1),addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Kr(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new rr("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 Qr({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new tn,e.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.Event("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(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.")));const r=e.onAdd(this);this._controls.push(e);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(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.")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}resize(e){const i=this._containerDimensions(),r=i[0],n=i[1];this._resizeCanvas(r,n,this.getPixelRatio()),this.transform.resize(r,n),this.painter.resize(r,n,this.getPixelRatio());const s=!this._moving;return s&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),s&&this.fire(new t.Event("moveend",e)),this}getPixelRatio(){return this._pixelRatio}setPixelRatio(t){const[e,i]=this._containerDimensions();this._pixelRatio=t,this._resizeCanvas(e,i,t),this.painter.resize(e,i,t)}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=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")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(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()85)throw new Error("maxPitch must be less than or equal to 85");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")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.style.terrain)}unproject(e){return this.transform.pointLocation(t.pointGeometry.convert(e),this.style&&this.style.terrain)}isMoving(){return this._moving||this.handlers.isMoving()}isZooming(){return this._zooming||this.handlers.isZooming()}isRotating(){return this._rotating||this.handlers.isRotating()}_createDelegatedListener(t,e,i){if("mouseenter"===t||"mouseover"===t){let r=!1;const n=n=>{const s=this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[];s.length?r||(r=!0,i.call(this,new pr(t,this,n.originalEvent,{features:s}))):r=!1};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:()=>{r=!1}}}}if("mouseleave"===t||"mouseout"===t){let r=!1;const n=n=>{(this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?r=!0:r&&(r=!1,i.call(this,new pr(t,this,n.originalEvent)))},s=e=>{r&&(r=!1,i.call(this,new pr(t,this,e.originalEvent)))};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:s}}}{const r=t=>{const r=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,i.call(this,t),delete t.features)};return{layer:e,listener:i,delegates:{[t]:r}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const r=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r);for(const t in r.delegates)this.on(t,r.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const r=this._createDelegatedListener(t,e,i);for(const t in r.delegates)this.once(t,r.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(r=>{const n=this._delegatedListeners[t];for(let t=0;t{e?this.fire(new t.ErrorEvent(e)):r&&this._updateDiff(r,i)}))}else"object"==typeof e&&this._updateDiff(e,i)}_updateDiff(e,i){try{this.style.setState(e)&&this._update(!0)}catch(r){t.warnOnce(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(e,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const 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}'`)))}setTerrain(t){return this.style.setTerrain(t),this}getTerrain(){return this.style.terrain&&this.style.terrain.options}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:r=1,sdf:n=!1,stretchX:s,stretchY:o,content:a}={}){if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||t.isImageBitmap(i)){const{width:l,height:c,data:h}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},h),pixelRatio:r,stretchX:s,stretchY:o,content:a,sdf:n,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`")));{const{width:l,height:c,data:h}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(h)),pixelRatio:r,stretchX:s,stretchY:o,content:a,sdf:n,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}}}updateImage(e,i){const r=this.style.getImage(e);if(!r)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.")));const n=i instanceof HTMLImageElement||t.isImageBitmap(i)?t.exported.getImageData(i):i,{width:s,height:o,data:a}=n;if(void 0===s||void 0===o)return 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`")));if(s!==r.data.width||o!==r.data.height)return 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")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));r.data.replace(a,l),this.style.updateImage(e,r)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,r={}){return this.style.setPaintProperty(t,e,i,r),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,r={}){return this.style.setLayoutProperty(t,e,i,r),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add("maplibregl-map","mapboxgl-map");const e=this._canvasContainer=s.create("div","maplibregl-canvas-container mapboxgl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive","mapboxgl-interactive"),this._canvas=s.create("canvas","maplibregl-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");const i=this._containerDimensions();this._resizeCanvas(i[0],i[1],this.getPixelRatio());const r=this._controlContainer=s.create("div","maplibregl-control-container mapboxgl-control-container",t),n=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{n[t]=s.create("div",`maplibregl-ctrl-${t} mapboxgl-ctrl-${t}`,r)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_setupCooperativeGestures(){const t=this._container;this._metaPress=!1,this._cooperativeGesturesScreen=s.create("div","maplibregl-cooperative-gesture-screen",t);let e="Control",i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:"Use Ctrl + scroll to zoom the map";0===navigator.platform.indexOf("Mac")&&(i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:"Use ⌘ + scroll to zoom the map",e="Meta"),this._cooperativeGesturesScreen.innerHTML=`\n
${i}
\n
${"boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:"Use two fingers to move the map"}
\n `,document.addEventListener("keydown",(t=>{t.key===e&&(this._metaPress=!0)})),document.addEventListener("keyup",(t=>{t.key===e&&(this._metaPress=!1)})),this._canvasContainer.addEventListener("wheel",(t=>{this._onCooperativeGesture(t,this._metaPress,1)}),!1),this._canvasContainer.classList.remove("mapboxgl-touch-drag-pan","maplibregl-touch-drag-pan")}_resizeCanvas(t,e,i){this._canvas.width=i*t,this._canvas.height=i*e,this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._canvas.getContext("webgl",i)||this._canvas.getContext("experimental-webgl",i);r?(this.painter=new Yi(r,this.transform),t.exported$1.testSupport(r)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}_onCooperativeGesture(t,e,i){return!e&&i<2&&(this._cooperativeGesturesScreen.classList.add("maplibregl-show"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove("maplibregl-show")}),100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(e){let i,r=0;const n=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(i=n.createQueryEXT(),n.beginQueryEXT(n.TIME_ELAPSED_EXT,i),r=t.exported.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let s=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=t.exported.now();this.style.zoomHistory.update(e,i);const r=new t.EvaluationParameters(e,{now:i,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(s=!0,this._crossFadingFactor=n),this.style.update(r)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.style.terrain&&this.style.terrain.sourceCache.update(this.transform,this.style.terrain),this.transform.updateElevation(this.style.terrain),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,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||s)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){const e=t.exported.now()-r;n.endQueryEXT(n.TIME_ELAPSED_EXT,i),setTimeout((()=>{const r=n.getQueryObjectEXT(i,n.QUERY_RESULT_EXT)/1e6;n.deleteQueryEXT(i),this.fire(new t.Event("gpu-timing-frame",{cpuTime:e,gpuTime:r}))}),50)}if(this.listens("gpu-timing-layer")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event("gpu-timing-layer",{layerTimes:i}))}),50)}const o=this._sourcesDirty||this._styleDirty||this._placementDirty;return o||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),!this._loaded||this._fullyLoaded||o||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.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),"undefined"!=typeof window&&(removeEventListener("resize",this._onWindowResize,!1),removeEventListener("orientationchange",this._onWindowResize,!1),removeEventListener("online",this._onWindowOnline,!1));const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),s.remove(this._canvasContainer),s.remove(this._controlContainer),this._cooperativeGestures&&s.remove(this._cooperativeGesturesScreen),this._container.classList.remove("maplibregl-map","mapboxgl-map"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event("remove"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.exported.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e)})))}_onWindowOnline(){this._update()}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update()}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}_setCacheLimits(e,i){t.setCacheLimits(e,i)}get version(){return"2.3.0"}},NavigationControl:class{constructor(e){this.options=t.extend({},sn,e),this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in mapboxgl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out mapboxgl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("maplibregl-ctrl-compass mapboxgl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const 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())}_rotateCompassArrow(){const 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}onAdd(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 on(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){s.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}_createButton(t,e){const i=s.create("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}_setButtonTitle(t,e){const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({},un,e),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}onAdd(t){var e;return this._map=t,this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),e=this._setupUI,void 0!==pn?e(pn):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then((t=>{pn="denied"!==t.state,e(pn)})):(pn=!!window.navigator.geolocation,e(pn)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(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(),s.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,dn=0,mn=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(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("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","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("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,n=this._map.getBearing(),s=t.extend({bearing:n},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),s,{geolocateSource:!0})}_updateMarker(e){if(e){const 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()}_updateCircleRadius(){const t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),r=e.distanceTo(i),n=Math.ceil(2*this._accuracy/r);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&mn)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(e){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=s.create("button","maplibregl-ctrl-geolocate mapboxgl-ctrl-geolocate",this._container),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=s.create("div","maplibregl-user-location-dot mapboxgl-user-location-dot"),this._userLocationDotMarker=new hn(this._dotElement),this._circleElement=s.create("div","maplibregl-user-location-accuracy-circle mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new hn({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",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this.fire(new t.Event("trackuserlocationend")))}))}trigger(){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":dn--,mn=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","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("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),dn++,dn>1?(t={maximumAge:6e5,timeout:0},mn=!0):(t=this.options.positionOptions,mn=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Qr,LogoControl:tn,ScaleControl:class{constructor(e){this.options=t.extend({},fn,e),t.bindAll(["_onMove","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_onMove(){gn(this._map,this._container,this.options)}onAdd(t){return this._map=t,this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-scale mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){s.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}setUnit(t){this.options.unit=t,gn(this._map,this._container,this.options)}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=s.create("div","maplibregl-ctrl maplibregl-ctrl-group 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}onRemove(){s.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=s.create("button","maplibregl-ctrl-fullscreen mapboxgl-ctrl-fullscreen",this._controlContainer);s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&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()}},TerrainControl:class{constructor(e){this.options=e,t.bindAll(["_toggleTerrain","_updateTerrainIcon"],this)}onAdd(t){return this._map=t,this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._terrainButton=s.create("button","maplibregl-ctrl-terrain mapboxgl-ctrl-terrain",this._container),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){s.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}_toggleTerrain(){this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()}_updateTerrainIcon(){this._terrainButton.classList.remove("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._map.style.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.disableTerrain")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.enableTerrain"))}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(yn),e),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}addTo(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("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this}isOpen(){return!!this._map}remove(){return this._content&&s.remove(this._content),this._container&&(s.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}getLngLat(){return this._lngLat}setLngLat(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("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer","mapboxgl-track-pointer")),this}trackPointer(){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("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement("body");let r;for(i.innerHTML=t;r=i.firstChild,r;)e.appendChild(r);return this.setDOMContent(e)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=s.create("div","maplibregl-popup-content mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t)}removeClassName(t){this._container&&this._container.classList.remove(t)}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=s.create("button","maplibregl-popup-close-button mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_onMouseUp(t){this._update(t.point)}_onMouseMove(t){this._update(t.point)}_onDrag(t){this._update(t.point)}_update(t){if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(this._container||(this._container=s.create("div","maplibregl-popup mapboxgl-popup",this._map.getContainer()),this._tip=s.create("div","maplibregl-popup-tip mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((t=>this._container.classList.add(t))),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer","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=an(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let i=this.options.anchor;const r=vn(this.options.offset);if(!i){const t=this._container.offsetWidth,n=this._container.offsetHeight;let s;s=e.y+r.bottom.ythis._map.transform.height-n?["bottom"]:[],e.xthis._map.transform.width-t/2&&s.push("right"),i=0===s.length?"bottom":s.join("-")}const n=e.add(r[i]).round();s.setTransform(this._container,`${ln[i]} translate(${n.x}px,${n.y}px)`),cn(this._container,i,"popup")}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(xn);t&&t.focus()}_onClose(){this.remove()}},Marker:hn,Style:ee,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.pointGeometry,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,AJAXError:t.AJAXError,config:t.config,CanvasSource:M,GeoJSONSource:I,ImageSource:z,RasterDEMTileSource:S,RasterTileSource:T,VectorTileSource:w,VideoSource:C,prewarm:function(){j().acquire(N)},clearPrewarmedResources:function(){const t=q;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(N),q=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 version(){return"2.3.0"},get workerCount(){return G.workerCount},set workerCount(t){G.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage(e){t.clearTileCache(e)},workerUrl:"",addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i},removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e]}};return Jr.extend(bn,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),bn}));var n=i;return n}()}({get exports(){return m},set exports(t){m=t}});var f=m,g=i.Layer.extend({options:{updateInterval:32,padding:.1,interactive:!1,pane:"tilePane"},initialize:function(t){i.setOptions(this,t),this._throttledUpdate=i.Util.throttle(this._update,this.options.updateInterval,this)},onAdd:function(t){this._container||this._initContainer();const e=this.getPaneName();t.getPane(e).appendChild(this._container),this._initGL(),this._offset=this._map.containerPointToLayerPoint([0,0]),t.options.zoomAnimation&&i.DomEvent.on(t._proxy,i.DomUtil.TRANSITION_END,this._transitionEnd,this)},onRemove:function(t){this._map._proxy&&this._map.options.zoomAnimation&&i.DomEvent.off(this._map._proxy,i.DomUtil.TRANSITION_END,this._transitionEnd,this);const e=this.getPaneName();t.getPane(e).removeChild(this._container),this._container=null,this._glMap.remove(),this._glMap=null},getEvents:function(){return{move:this._throttledUpdate,zoomanim:this._animateZoom,zoom:this._pinchZoom,zoomstart:this._zoomStart,zoomend:this._zoomEnd,resize:this._resize}},getMaplibreMap:function(){return this._glMap},getCanvas:function(){return this._glMap.getCanvas()},getSize:function(){return this._map.getSize().multiplyBy(1+2*this.options.padding)},getOpacity:function(){return this.options.opacity},setOpacity:function(t){this.options.opacity=t,this._container.style.opacity=t},getBounds:function(){const t=this.getSize().multiplyBy(.5),e=this._map.latLngToContainerPoint(this._map.getCenter());return i.latLngBounds(this._map.containerPointToLatLng(e.subtract(t)),this._map.containerPointToLatLng(e.add(t)))},getContainer:function(){return this._container},getPaneName:function(){return this._map.getPane(this.options.pane)?this.options.pane:"tilePane"},_initContainer:function(){if(this._container)return;this._container=i.DomUtil.create("div","leaflet-gl-layer");const t=this.getSize(),e=this._map.getSize().multiplyBy(this.options.padding);this._container.style.width=t.x+"px",this._container.style.height=t.y+"px";const r=this._map.containerPointToLayerPoint([0,0]).subtract(e);i.DomUtil.setPosition(this._container,r)},_initGL:function(){if(this._glMap)return;const t=this._map.getCenter(),e=i.extend({},this.options,{container:this._container,center:[t.lng,t.lat],zoom:this._map.getZoom()-1,attributionControl:!1});this._glMap=new f.Map(e),this._glMap.once("styledata",function(t){this.fire("styleLoaded")}.bind(this)),this._glMap.transform.latRange=null,this._glMap.transform.maxValidLatitude=1/0,this._transformGL(this._glMap),this._glMap._canvas.canvas?this._glMap._actualCanvas=this._glMap._canvas.canvas:this._glMap._actualCanvas=this._glMap._canvas;const r=this._glMap._actualCanvas;i.DomUtil.addClass(r,"leaflet-image-layer"),i.DomUtil.addClass(r,"leaflet-zoom-animated"),this.options.interactive&&i.DomUtil.addClass(r,"leaflet-interactive"),this.options.className&&i.DomUtil.addClass(r,this.options.className)},_update:function(t){if(this._offset=this._map.containerPointToLayerPoint([0,0]),this._zooming)return;const e=this.getSize(),r=this._container,n=this._glMap,s=this._map.getSize().multiplyBy(this.options.padding),o=this._map.containerPointToLayerPoint([0,0]).subtract(s);i.DomUtil.setPosition(r,o),this._transformGL(n),n.transform.width!==e.x||n.transform.height!==e.y?(r.style.width=e.x+"px",r.style.height=e.y+"px",null!==n._resize&&void 0!==n._resize?n._resize():n.resize()):null!==n._update&&void 0!==n._update?n._update():n.update()},_transformGL:function(t){const e=this._map.getCenter(),i=t.transform;i.center=f.LngLat.convert([e.lng,e.lat]),i.zoom=this._map.getZoom()-1},_pinchZoom:function(t){this._glMap.jumpTo({zoom:this._map.getZoom()-1,center:this._map.getCenter()})},_animateZoom:function(t){const e=this._map.getZoomScale(t.zoom),r=this._map.getSize().multiplyBy(this.options.padding*e),n=this.getSize()._divideBy(2),s=this._map.project(t.center,t.zoom)._subtract(n)._add(this._map._getMapPanePos().add(r))._round(),o=this._map.project(this._map.getBounds().getNorthWest(),t.zoom)._subtract(s);i.DomUtil.setTransform(this._glMap._actualCanvas,o.subtract(this._offset),e)},_zoomStart:function(t){this._zooming=!0},_zoomEnd:function(){const t=this._map.getZoomScale(this._map.getZoom());i.DomUtil.setTransform(this._glMap._actualCanvas,null,t),this._zooming=!1,this._update()},_transitionEnd:function(t){i.Util.requestAnimFrame((function(){const t=this._map.getZoom(),e=this._map.getCenter(),r=this._map.latLngToContainerPoint(this._map.getBounds().getNorthWest());i.DomUtil.setTransform(this._glMap._actualCanvas,r,1),this._glMap.once("moveend",i.Util.bind((function(){this._zoomEnd()}),this)),this._glMap.jumpTo({center:e,zoom:t-1})}),this)}});function _(t){return new g(t)}var y=i.Layer.extend({options:{portalUrl:"https://www.arcgis.com",preserveDrawingBuffer:!1},initialize:function(t,e){if(e&&i.setOptions(this,e),this.options.apiKey&&(this.options.apikey=this.options.apiKey),this.options.apikey?this.options.token=this.options.apikey:this.options.token&&(this.options.apikey=this.options.token),!t)throw new Error("An ITEM ID or SERVICE URL is required for vectorTileLayer.");t&&(this.options.key=t),this._createLayer()},_createLayer:function(){n(this.options.key,this.options,function(t,e,i,r){var n;t?this.fire("load-error",{value:t}):(n=r.tileInfo.spatialReference.wkid,p.indexOf(n)>=0||console.warn('This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:',r.tileInfo.spatialReference,"\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94."),e=h(e,i,r,this.options.token),this._createMaplibreLayer(e))}.bind(this))},_setupAttribution:function(){if(!this.getAttribution()){const t=this._maplibreGL.getMaplibreMap().style.stylesheet.sources,e=Object.keys(t);this.options.attribution=t[e[e.length-1]].attribution,this._map&&this._map.attributionControl&&this._map.attributionControl.addAttribution(this.getAttribution())}},_createMaplibreLayer:function(t){this._maplibreGL=_({style:t,pane:this.options.pane,opacity:this.options.opacity,preserveDrawingBuffer:this.options.preserveDrawingBuffer}),this._ready=!0,this.fire("ready",{},!0),this._maplibreGL.on("styleLoaded",function(){this._setupAttribution(),this.options.style&&"function"==typeof this.options.style&&this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()))}.bind(this))},onAdd:function(t){this._map=t,this._ready?this._asyncAdd():this.once("ready",(function(){this._asyncAdd()}),this)},onRemove:function(t){t.removeLayer(this._maplibreGL)},_asyncAdd:function(){const t=this._map;this._maplibreGL.addTo(t,this)}});var x=y.extend({initialize:function(t,e){if(e.version||(t.includes("/")?e.version=2:e.version=1),t||(t=1===e.version?"ArcGIS:Streets":"arcgis/streets"),!(e.apikey||e.apiKey||e.token))throw new Error("An API Key or token is required for vectorBasemapLayer.");if(e.language&&2!==e.version)throw new Error("The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.");e.pane||(t.includes(":Label")||t.includes("/label")?e.pane="esri-labels":t.includes(":Detail")||t.includes("/detail")?e.pane="esri-detail":e.pane="tilePane"),y.prototype.initialize.call(this,t,e)},_createLayer:function(){let t;t=this.options.version&&2===this.options.version?function(t,e,i){if(t.includes(":"))throw new Error(t+" is a v1 style enumeration. Set version:1 to request this style");let r="https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/";if(t.startsWith("osm/")||t.startsWith("arcgis/")||32!==t.length)r+=t;else if(r=r+"items/"+t,i)throw new Error("The 'language' parameter is not supported for custom basemap styles");return e&&(r=r+"?token="+e,i&&(r=r+"&language="+i)),r}(this.options.key,this.options.apikey,this.options.language):function(t,e){if(t.includes("/"))throw new Error(t+" is a v2 style enumeration. Set version:2 to request this style");let i="https://basemaps-api.arcgis.com/arcgis/rest/services/styles/"+t+"?type=style";return e&&(i=i+"&token="+e),i}(this.options.key,this.options.apikey),this._createMaplibreLayer(t)},_setupAttribution:function(){if(e.Util.setEsriAttribution(this._map),32===this.options.key.length){const t=this._maplibreGL.getMaplibreMap().style.stylesheet.sources,e=[];Object.keys(t).forEach((function(i){e.push(t[i].attribution),t[i].copyrightText&&t[i].copyrightText&&""!==t[i].copyrightText&&t[i].attribution!==t[i].copyrightText&&e.push(t[i].copyrightText)})),this._map.attributionControl.addAttribution(''+e.join(", ")+"")}else if(this.options.attributionUrls||(this.options.attributionUrls=this._getAttributionUrls(this.options.key)),this._map&&this.options.attributionUrls){if(this._map.attributionControl){for(let t=0;t')}e.Util._updateMapAttribution({target:this._map})}},_getAttributionUrls:function(t){return 0===t.indexOf("OSM:")||0===t.indexOf("osm/")?["https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2"]:0===t.indexOf("ArcGIS:Imagery")||0===t.indexOf("arcgis/imagery")?["https://static.arcgis.com/attribution/World_Imagery","https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]:["https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]},_initPane:function(){if(!this._map.getPane(this.options.pane)){const t=this._map.createPane(this.options.pane);t.style.pointerEvents="none";let e=500;"esri-detail"===this.options.pane?e=250:"esri-labels"===this.options.pane&&(e=300),t.style.zIndex=e}},onRemove:function(t){if(t.off("moveend",e.Util._updateMapAttribution),t.removeLayer(this._maplibreGL),t.attributionControl){const e=document.getElementsByClassName("esri-dynamic-attribution");if(e&&e.length>0){const i=e[0].outerHTML;t.attributionControl.removeAttribution(i)}}},_asyncAdd:function(){const t=this._map;this._initPane(),t.on("moveend",e.Util._updateMapAttribution),this._maplibreGL.addTo(t,this)}});const v=r;t.MaplibreGLJSLayer=g,t.Util=d,t.VERSION=v,t.VectorBasemapLayer=x,t.VectorTileLayer=y,t.maplibreGLJSLayer=_,t.vectorBasemapLayer=function(t,e){return new x(t,e)},t.vectorTileLayer=function(t,e){return new y(t,e)},Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=esri-leaflet-vector.js.map diff --git a/dist/esri-leaflet-vector.js.map b/dist/esri-leaflet-vector.js.map new file mode 100644 index 0000000..e35ce29 --- /dev/null +++ b/dist/esri-leaflet-vector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector.js","sources":["../src/Util.js","../node_modules/maplibre-gl/dist/maplibre-gl.js","../src/MaplibreGLLayer.js","../src/VectorTileLayer.js","../src/VectorBasemapLayer.js","../src/EsriLeafletVector.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (style, apikey) {\r\n if (style.includes('/')) {\r\n throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style');\r\n }\r\n\r\n let url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n style +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&token=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\nexport function getBasemapStyleV2Url (style, apikey, language) {\r\n if (style.includes(':')) {\r\n throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style');\r\n }\r\n\r\n let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/';\r\n if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) {\r\n // style is an itemID\r\n url = url + 'items/' + style;\r\n\r\n if (language) {\r\n throw new Error('The \\'language\\' parameter is not supported for custom basemap styles');\r\n }\r\n } else {\r\n url = url + style;\r\n }\r\n\r\n if (apikey) {\r\n url = url + '?token=' + apikey;\r\n\r\n if (language) {\r\n url = url + '&language=' + language;\r\n }\r\n }\r\n return url;\r\n}\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n const httpRegex = /^https?:\\/\\//;\r\n const serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n const serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n const itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n const url = options.portalUrl + '/sharing/rest/content/items/' + itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n const itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n\r\n let sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n let defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nfunction isSameTLD (url1, url2) {\r\n return (new URL(url1)).hostname === (new URL(url2)).hostname;\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n const sourcesKeys = Object.keys(style.sources);\r\n for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n const source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too\r\n // MapLibre will overzoom for LODs that are not cooked\r\n source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.maxLOD ||\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n const layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n }\r\n if (style.sprite && token) {\r\n // add the token to the style.sprite property as a query param, only if same domain (for token security)\r\n if (isSameTLD(styleUrl, style.sprite)) {\r\n style.sprite += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n }\r\n\r\n if (style.glyphs && token) {\r\n // add the token to the style.glyphs property as a query param\r\n if (isSameTLD(styleUrl, style.glyphs)) {\r\n style.glyphs += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (let c = 0; c < attributions.contributors.length; c++) {\r\n const contributor = attributions.contributors[c];\r\n\r\n for (let i = 0; i < contributor.coverageAreas.length; i++) {\r\n const coverageArea = contributor.coverageAreas[i];\r\n const southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n const northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n const obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n\r\nexport var EsriUtil = {\r\n formatStyle: formatStyle\r\n};\r\n\r\nexport default EsriUtil;\r\n","/* MapLibre GL JS is licensed under the 3-Clause BSD License. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v2.3.0/LICENSE.txt */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.maplibregl = factory());\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar shared, worker, maplibregl;\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) {\n if (!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 maplibregl = chunk(sharedChunk);\n if (typeof window !== 'undefined') {\n maplibregl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n }\n }\n}\n\n\ndefine([\"exports\"],(function(t){\"use strict\";var e=r;function r(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=e,this.p2x=r,this.p2y=n;}function n(t,r,n,i){const a=new e(t,r,n,i);return function(t){return a.solve(t)}}r.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?s=r:o=r,r=.5*(o-s)+s;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};const i=n(.25,.1,.25,1);function a(t,e,r){return Math.min(r,Math.max(e,t))}function s(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function o(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let l=1;function u(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e));}));}function c(t,e,r){const n={};for(const i in t)n[i]=e.call(r||this,t[i],i,t);return n}function h(t,e,r){const n={};for(const i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function p(t){return Array.isArray(t)?t.map(p):\"object\"==typeof t&&t?c(t,p):t}const f={};function d(t){f[t]||(\"undefined\"!=typeof console&&console.warn(t),f[t]=!0);}function y(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function m(t){let e=0;for(let r,n,i=0,a=t.length,s=a-1;i@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t;}return e}let v,b,w=null;function _(t){if(null==w){const e=t.navigator?t.navigator.userAgent:null;w=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return w}function A(t){return \"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap}const k={now:\"undefined\"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(t){const e=requestAnimationFrame(t);return {cancel:()=>cancelAnimationFrame(e)}},getImageData(t,e=0){const r=window.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:t=>(v||(v=document.createElement(\"a\")),v.href=t,v.href),hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==b&&(b=matchMedia(\"(prefers-reduced-motion: reduce)\")),b.matches)}};var S=I;function I(t,e){this.x=t,this.y=e;}I.prototype={clone:function(){return new I(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}},I.convert=function(t){return t instanceof I?t:Array.isArray(t)?new I(t[0],t[1]):t};const M={MAX_PARALLEL_IMAGE_REQUESTS:16,REGISTERED_PROTOCOLS:{}},z=\"mapbox-tiles\";let B,C,P=500,V=50;function E(){\"undefined\"==typeof caches||B||(B=caches.open(z));}let F=1/0;const T={supported:!1,testSupport:function(t){!$&&D&&(R?U(t):L=t);}};let L,D,$=!1,R=!1;function U(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;T.supported=!0;}catch(t){}t.deleteTexture(e),$=!0;}\"undefined\"!=typeof document&&(D=document.createElement(\"img\"),D.onload=function(){L&&U(L),L=null,R=!0;},D.onerror=function(){$=!0,L=null;},D.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");const O={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(O);class q extends Error{constructor(t,e,r,n){super(`AJAXError: ${e} (${t}): ${r}`),this.status=t,this.statusText=e,this.url=r,this.body=n;}}const j=g()?()=>self.worker&&self.worker.referrer:()=>(\"blob:\"===window.location.protocol?window.parent:window).location.href;function N(t,e){const r=new AbortController,n=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:j(),signal:r.signal});let i=!1,a=!1;\"json\"===t.type&&n.headers.set(\"Accept\",\"application/json\");return ((r,s,o)=>{if(a)return;const l=Date.now();fetch(n).then((r=>r.ok?((r,s,o)=>{(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((t=>{a||(s&&o&&function(t,e,r){if(E(),!B)return;const n={status:e.status,statusText:e.statusText,headers:new Headers};e.headers.forEach(((t,e)=>n.headers.set(e,t)));const i=x(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===C)try{new Response(new ReadableStream),C=!0;}catch(t){C=!1;}C?e(t.body):t.blob().then(e);}(e,(e=>{const r=new Response(e,n);E(),B&&B.then((e=>e.put(function(t){const e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}(t.url),r))).catch((t=>d(t.message)));})));}(n,s,o),i=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")));})).catch((t=>{a||e(new Error(t.message));}));})(r,null,l):r.blob().then((n=>e(new q(r.status,r.statusText,t.url,n)))))).catch((t=>{20!==t.code&&e(new Error(t.message));}));})(),{cancel:()=>{a=!0,i||r.abort();}}}const K=function(t,e){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(g()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e);if(!g()){const r=t.url.substring(0,t.url.indexOf(\"://\"));return (M.REGISTERED_PROTOCOLS[r]||N)(t,e)}}if(!(/^file:/.test(r=t.url)||/^file:/.test(j())&&!/^\\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return N(t,e);if(g()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}var r;return function(t,e){const r=new XMLHttpRequest;r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\");for(const e in t.headers)r.setRequestHeader(e,t.headers[e]);return \"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=()=>{e(new Error(r.statusText));},r.onload=()=>{if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){let 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 {const n=new Blob([r.response],{type:r.getResponseHeader(\"Content-Type\")});e(new q(r.status,r.statusText,t.url,n));}},r.send(t.body),{cancel:()=>r.abort()}}(t,e)},Z=function(t,e){return K(o(t,{type:\"arrayBuffer\"}),e)};function G(t){const e=window.document.createElement(\"a\");return e.href=t,e.protocol===window.document.location.protocol&&e.host===window.document.location.host}const J=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";let X,Y;X=[],Y=0;const H=function(t,e){if(T.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),Y>=M.MAX_PARALLEL_IMAGE_REQUESTS){const r={requestParameters:t,callback:e,cancelled:!1,cancel(){this.cancelled=!0;}};return X.push(r),r}Y++;let r=!1;const n=()=>{if(!r)for(r=!0,Y--;X.length&&Y{n(),t?e(t):r&&function(t,e){\"function\"==typeof createImageBitmap?function(t,e){const r=new Blob([new Uint8Array(t)],{type:\"image/png\"});createImageBitmap(r).then((t=>{e(null,t);})).catch((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.`));}));}(t,e):function(t,e){const r=new Image;r.onload=()=>{e(null,r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>{r.src=J;}));},r.onerror=()=>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.\"));const n=new Blob([new Uint8Array(t)],{type:\"image/png\"});r.src=t.byteLength?URL.createObjectURL(n):J;}(t,e);}(r,((t,r)=>{null!=t?e(t):null!=r&&e(null,r,{cacheControl:i,expires:a});}));}));return {cancel:()=>{i.cancel(),n();}}};function W(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function Q(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class tt{constructor(t,e={}){o(this,e),this.type=t;}}class et extends tt{constructor(t,e={}){super(\"error\",o({error:t},e));}}class rt{on(t,e){return this._listeners=this._listeners||{},W(t,e,this._listeners),this}off(t,e){return Q(t,e,this._listeners),Q(t,e,this._oneTimeListeners),this}once(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},W(t,e,this._oneTimeListeners),this}fire(t,e){\"string\"==typeof t&&(t=new tt(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)Q(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(o(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof et&&console.error(t.error);return this}listens(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)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var nt={$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\"},terrain:{type:\"terrain\"},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\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},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:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"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:{},\"viewport-glyph\":{},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\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},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}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1},elevationOffset:{type:\"number\",default:450}},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\"}}};class it{constructor(t,e,r,n){this.message=(t?`${t}: `:\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);}}function at(t){const e=t.value;return e?[new it(t.key,e,\"constants have been deprecated as of v8\")]:[]}function st(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}function ot(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function lt(t){if(Array.isArray(t))return t.map(lt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const r in t)e[r]=lt(t[r]);return e}return ot(t)}class ut extends Error{constructor(t,e){super(e),this.message=e,this.key=t;}}class ct{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,r]of e)this.bindings[t]=r;}concat(t){return new ct(this,t)}get(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.`)}has(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)}}const ht={kind:\"null\"},pt={kind:\"number\"},ft={kind:\"string\"},dt={kind:\"boolean\"},yt={kind:\"color\"},mt={kind:\"object\"},gt={kind:\"value\"},xt={kind:\"collator\"},vt={kind:\"formatted\"},bt={kind:\"padding\"},wt={kind:\"resolvedImage\"};function _t(t,e){return {kind:\"array\",itemType:t,N:e}}function At(t){if(\"array\"===t.kind){const e=At(t.itemType);return \"number\"==typeof t.N?`array<${e}, ${t.N}>`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const kt=[ht,pt,ft,dt,yt,vt,mt,_t(gt),bt,wt];function St(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!St(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(const t of kt)if(!St(t,e))return null}return `Expected ${At(t)} but found ${At(e)} instead.`}function It(t,e){return e.some((e=>e.kind===t.kind))}function Mt(t,e){return e.some((e=>\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t))}var zt,Bt={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 Ct(t){return (t=Math.round(t))<0?0:t>255?255:t}function Pt(t){return Ct(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Vt(t){return (e=\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function Et(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{zt={}.parseCSSColor=function(t){var e,r=t.replace(/ /g,\"\").toLowerCase();if(r in Bt)return Bt[r].slice();if(\"#\"===r[0])return 4===r.length?(e=parseInt(r.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===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=r.indexOf(\"(\"),i=r.indexOf(\")\");if(-1!==n&&i+1===r.length){var a=r.substr(0,n),s=r.substr(n+1,i-(n+1)).split(\",\"),o=1;switch(a){case\"rgba\":if(4!==s.length)return null;o=Vt(s.pop());case\"rgb\":return 3!==s.length?null:[Pt(s[0]),Pt(s[1]),Pt(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=Vt(s.pop());case\"hsl\":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,u=Vt(s[1]),c=Vt(s[2]),h=c<=.5?c*(u+1):c+u-c*u,p=2*c-h;return [Ct(255*Et(p,h,l+1/3)),Ct(255*Et(p,h,l)),Ct(255*Et(p,h,l-1/3)),o];default:return null}}return null};}catch(t){}class Ft{constructor(t,e,r,n=1){this.r=t,this.g=e,this.b=r,this.a=n;}static parse(t){if(!t)return;if(t instanceof Ft)return t;if(\"string\"!=typeof t)return;const e=zt(t);return e?new Ft(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,r,n]=this.toArray();return `rgba(${Math.round(t)},${Math.round(e)},${Math.round(r)},${n})`}toArray(){const{r:t,g:e,b:r,a:n}=this;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]}}Ft.black=new Ft(0,0,0,1),Ft.white=new Ft(1,1,1,1),Ft.transparent=new Ft(0,0,0,0),Ft.red=new Ft(1,0,0,1);class Tt{constructor(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\"});}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Lt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class Dt{constructor(t){this.sections=t;}static fromString(t){return new Dt([new Lt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Dt?t:Dt.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}}class $t{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof $t)return t;if(\"number\"==typeof t)return new $t([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if(\"number\"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]];}return new $t(t)}}toString(){return JSON.stringify(this.values)}}class Rt{constructor(t){this.name=t.name,this.available=t.available;}toString(){return this.name}static fromString(t){return t?new Rt({name:t,available:!1}):null}}function Ut(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 Ot(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 Ft)return !0;if(t instanceof Tt)return !0;if(t instanceof Dt)return !0;if(t instanceof $t)return !0;if(t instanceof Rt)return !0;if(Array.isArray(t)){for(const e of t)if(!Ot(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!Ot(t[e]))return !1;return !0}return !1}function qt(t){if(null===t)return ht;if(\"string\"==typeof t)return ft;if(\"boolean\"==typeof t)return dt;if(\"number\"==typeof t)return pt;if(t instanceof Ft)return yt;if(t instanceof Tt)return xt;if(t instanceof Dt)return vt;if(t instanceof $t)return bt;if(t instanceof Rt)return wt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=qt(e);if(r){if(r===t)continue;r=gt;break}r=t;}return _t(r||gt,e)}return mt}function jt(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Ft||t instanceof Dt||t instanceof $t||t instanceof Rt?t.toString():JSON.stringify(t)}class Nt{constructor(t,e){this.type=t,this.value=e;}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Ot(t[1]))return e.error(\"invalid value\");const r=t[1];let n=qt(r);const i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new Nt(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}}class Kt{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}}const Zt={string:ft,number:pt,boolean:dt,object:mt};class Gt{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,a;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in Zt)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=Zt[r],n++;}else i=gt;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);a=t[2],n++;}r=_t(i,a);}else r=Zt[i];const a=[];for(;nt.outputDefined()))}}const Jt={\"to-boolean\":dt,\"to-color\":yt,\"to-number\":pt,\"to-string\":ft};class Xt{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=Jt[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Ut(e[0],e[1],e[2],e[3]),!r))return new Ft(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Kt(r||`Could not parse color from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}if(\"padding\"===this.type.kind){let e;for(const r of this.args){e=r.evaluate(t);const n=$t.parse(e);if(n)return n}throw new Kt(`Could not parse padding from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}if(\"number\"===this.type.kind){let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new Kt(`Could not convert ${JSON.stringify(e)} to number.`)}return \"formatted\"===this.type.kind?Dt.fromString(jt(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?Rt.fromString(jt(this.args[0].evaluate(t))):jt(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const Yt=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ht{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?Yt[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Ft.parse(t)),e}}class Wt{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t);}outputDefined(){return !1}static parse(t,e){const r=t[0],n=Wt.definitions[r];if(!n)return e.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,s=a.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,a]of s){o=new we(e.registry,e.path,null,e.scope);const s=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(At).join(\", \")})`:`(${At(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r=e[2]||t[1]<=e[1]||t[3]>=e[3])}function ne(t,e){const 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*te),Math.round(n*i*te)]}function ie(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],a=t[0]-r[0],s=t[1]-r[1];return n*s-a*i==0&&n*a<=0&&i*s<=0}function ae(t,e){let r=!1;for(let s=0,o=e.length;s(n=t)[1]!=(a=o[e+1])[1]>n[1]&&n[0]<(a[0]-i[0])*(n[1]-i[1])/(a[1]-i[1])+i[0]&&(r=!r);}}var n,i,a;return r}function se(t,e){for(let r=0;r0&&o<0||s<0&&o>0}function le(t,e,r){for(const u of r)for(let r=0;rr[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}ee(e,t);}function de(t,e,r,n){const i=Math.pow(2,n.z)*te,a=[n.x*te,n.y*te],s=[];for(const n of t)for(const t of n){const n=[t.x+a[0],t.y+a[1]];fe(n,e,r,i),s.push(n);}return s}function ye(t,e,r,n){const i=Math.pow(2,n.z)*te,a=[n.x*te,n.y*te],s=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+a[0],n.y+a[1]];ee(e,r),t.push(r);}s.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of s)for(const n of t)fe(n,e,r,i);}var o;return s}class me{constructor(t,e){this.type=dt,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Ot(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)for(let t=0;t{e&&!ge(t)&&(e=!1);})),e}function xe(t){if(t instanceof Wt&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!xe(t)&&(e=!1);})),e}function ve(t,e){if(t instanceof Wt&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!ve(t,e)&&(r=!1);})),r}class be{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e;}static parse(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");const r=t[1];return e.scope.has(r)?new be(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)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return !1}}class we{constructor(t,e=[],r,n=new ct,i=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r;}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return \"assert\"===r?new Gt(e,[t]):\"coerce\"===r?new Xt(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\", []].');const 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;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if(\"string\"!==t.kind&&\"number\"!==t.kind&&\"boolean\"!==t.kind&&\"object\"!==t.kind&&\"array\"!==t.kind||\"value\"!==i.kind)if(\"color\"!==t.kind&&\"formatted\"!==t.kind&&\"resolvedImage\"!==t.kind||\"value\"!==i.kind&&\"string\"!==i.kind)if(\"padding\"!==t.kind||\"value\"!==i.kind&&\"number\"!==i.kind&&\"array\"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\");}if(!(n instanceof Nt)&&\"resolvedImage\"!==n.type.kind&&_e(n)){const t=new Ht;try{n=new Nt(n.type,n.evaluate(t));}catch(t){return this.error(t.message),null}}return n}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.`)}concat(t,e,r){const n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new we(this.registry,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new ut(r,t));}checkSubtype(t,e){const r=St(t,e);return r&&this.error(r),r}}function _e(t){if(t instanceof be)return _e(t.boundExpression);if(t instanceof Wt&&\"error\"===t.name)return !1;if(t instanceof Qt)return !1;if(t instanceof me)return !1;const e=t instanceof Xt||t instanceof Gt;let r=!0;return t.eachChild((t=>{r=e?r&&_e(t):r&&t instanceof Nt;})),!!r&&ge(t)&&ve(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Ae(t,e){const r=t.length-1;let n,i,a=0,s=r,o=0;for(;a<=s;)if(o=Math.floor((a+s)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new Kt(\"Input is not a number.\");s=o-1;}return 0}class ke{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e);}static parse(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.\");const r=e.parse(t[1],1,pt);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=a)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(s,l,i);if(!u)return null;i=i||u.type,n.push([a,u]);}return new ke(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Ae(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t,e,r){return t*(1-r)+e*r}var Ie=Object.freeze({__proto__:null,number:Se,color:function(t,e,r){return new Ft(Se(t.r,e.r,r),Se(t.g,e.g,r),Se(t.b,e.b,r),Se(t.a,e.a,r))},array:function(t,e,r){return t.map(((t,n)=>Se(t,e[n],r)))},padding:function(t,e,r){const n=t.values,i=e.values;return new $t([Se(n[0],i[0],r),Se(n[1],i[1],r),Se(n[2],i[2],r),Se(n[3],i[3],r)])}});const Me=.95047,ze=1.08883,Be=4/29,Ce=6/29,Pe=3*Ce*Ce,Ve=Math.PI/180,Ee=180/Math.PI;function Fe(t){return t>.008856451679035631?Math.pow(t,1/3):t/Pe+Be}function Te(t){return t>Ce?t*t*t:Pe*(t-Be)}function Le(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function De(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function $e(t){const e=De(t.r),r=De(t.g),n=De(t.b),i=Fe((.4124564*e+.3575761*r+.1804375*n)/Me),a=Fe((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*a-16,a:500*(i-a),b:200*(a-Fe((.0193339*e+.119192*r+.9503041*n)/ze)),alpha:t.a}}function Re(t){let 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*Te(e),r=Me*Te(r),n=ze*Te(n),new Ft(Le(3.2404542*r-1.5371385*e-.4985314*n),Le(-.969266*r+1.8760108*e+.041556*n),Le(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Ue(t,e,r){const n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}const Oe={forward:$e,reverse:Re,interpolate:function(t,e,r){return {l:Se(t.l,e.l,r),a:Se(t.a,e.a,r),b:Se(t.b,e.b,r),alpha:Se(t.alpha,e.alpha,r)}}},qe={forward:function(t){const{l:e,a:r,b:n}=$e(t),i=Math.atan2(n,r)*Ee;return {h:i<0?i+360:i,c:Math.sqrt(r*r+n*n),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Ve,r=t.c;return Re({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:Ue(t.h,e.h,r),c:Se(t.c,e.c,r),l:Se(t.l,e.l,r),alpha:Se(t.alpha,e.alpha,r)}}};var je=Object.freeze({__proto__:null,lab:Oe,hcl:qe});class Ne{constructor(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e);}static interpolationFactor(t,r,n,i){let a=0;if(\"exponential\"===t.name)a=Ke(r,t.base,n,i);else if(\"linear\"===t.name)a=Ke(r,1,n,i);else if(\"cubic-bezier\"===t.name){const s=t.controlPoints;a=new e(s[0],s[1],s[2],s[3]).solve(Ke(r,1,n,i));}return a}static parse(t,e){let[r,n,i,...a]=t;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]){const t=n[1];if(\"number\"!=typeof t)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:t};}else {if(\"cubic-bezier\"!==n[0])return e.error(`Unknown interpolation type ${String(n[0])}`,1,0);{const t=n.slice(1);if(4!==t.length||t.some((t=>\"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:t};}}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,pt),!i)return null;const s=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=yt:e.expectedType&&\"value\"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,s.push([r,u]);}return \"number\"===o.kind||\"color\"===o.kind||\"padding\"===o.kind||\"array\"===o.kind&&\"number\"===o.itemType.kind&&\"number\"==typeof o.N?new Ne(o,r,n,i,s):e.error(`Type ${At(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const a=Ae(e,n),s=Ne.interpolationFactor(this.interpolation,n,e[a],e[a+1]),o=r[a].evaluate(t),l=r[a+1].evaluate(t);return \"interpolate\"===this.operator?Ie[this.type.kind.toLowerCase()](o,l,s):\"interpolate-hcl\"===this.operator?qe.reverse(qe.interpolate(qe.forward(o),qe.forward(l),s)):Oe.reverse(Oe.interpolate(Oe.forward(o),Oe.forward(l),s))}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ke(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}class Ze{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");let r=null;const n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!t)return null;r=r||t.type,i.push(t);}const a=n&&i.some((t=>St(n,t.type)));return new Ze(a?gt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof Rt&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class Ge{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result);}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new Kt(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new Kt(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input);}outputDefined(){return !1}}class Xe{constructor(t,e){this.type=dt,this.needle=t,this.haystack=e;}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,gt),n=e.parse(t[2],2,gt);return r&&n?It(r.type,[dt,ft,pt,ht,gt])?new Xe(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${At(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!Mt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Kt(`Expected first argument to be of type boolean, string, number or null, but found ${At(qt(e))} instead.`);if(!Mt(r,[\"string\",\"array\"]))throw new Kt(`Expected second argument to be of type array or string, but found ${At(qt(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}}class Ye{constructor(t,e,r){this.type=pt,this.needle=t,this.haystack=e,this.fromIndex=r;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,gt),n=e.parse(t[2],2,gt);if(!r||!n)return null;if(!It(r.type,[dt,ft,pt,ht,gt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${At(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,pt);return i?new Ye(r,n,i):null}return new Ye(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Mt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Kt(`Expected first argument to be of type boolean, string, number or null, but found ${At(qt(e))} instead.`);if(!Mt(r,[\"string\",\"array\"]))throw new Kt(`Expected second argument to be of type array or string, but found ${At(qt(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}}class He{constructor(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a;}static parse(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.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},a=[];for(let s=2;sNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,qt(t)))return null}else r=qt(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=a.length;}const c=e.parse(l,s,n);if(!c)return null;n=n||c.type,a.push(c);}const s=e.parse(t[1],1,gt);if(!s)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==s.type.kind&&e.concat(1).checkSubtype(r,s.type)?null:new He(r,n,s,i,a,o):null}evaluate(t){const e=this.input.evaluate(t);return (qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class We{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r;}static parse(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.\");let r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class Qe{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,gt),n=e.parse(t[2],2,pt);if(!r||!n)return null;if(!It(r.type,[_t(gt),ft,gt]))return e.error(`Expected first argument to be of type array or string, but found ${At(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,pt);return i?new Qe(r.type,r,n,i):null}return new Qe(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Mt(e,[\"string\",\"array\"]))throw new Kt(`Expected first argument to be of type array or string, but found ${At(qt(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}}function tr(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 er(t,e,r,n){return 0===n.compare(e,r)}function rr(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=dt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let a=e.parse(t[1],1,gt);if(!a)return null;if(!tr(r,a.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${At(a.type)}'.`);let s=e.parse(t[2],2,gt);if(!s)return null;if(!tr(r,s.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${At(s.type)}'.`);if(a.type.kind!==s.type.kind&&\"value\"!==a.type.kind&&\"value\"!==s.type.kind)return e.error(`Cannot compare types '${At(a.type)}' and '${At(s.type)}'.`);n&&(\"value\"===a.type.kind&&\"value\"!==s.type.kind?a=new Gt(s.type,[a]):\"value\"!==a.type.kind&&\"value\"===s.type.kind&&(s=new Gt(a.type,[s])));let o=null;if(4===t.length){if(\"string\"!==a.type.kind&&\"string\"!==s.type.kind&&\"value\"!==a.type.kind&&\"value\"!==s.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,xt),!o)return null}return new i(a,s,o)}evaluate(i){const a=this.lhs.evaluate(i),s=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=qt(a),r=qt(s);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new Kt(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=qt(a),r=qt(s);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,a,s)}return this.collator?r(i,a,s,this.collator.evaluate(i)):e(i,a,s)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}}}const nr=rr(\"==\",(function(t,e,r){return e===r}),er),ir=rr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !er(0,e,r,n)})),ar=rr(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),or=rr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),lr=rr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class ur{constructor(t,e,r,n,i){this.type=ft,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;}static parse(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,pt);if(!r)return null;const n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ft),!i))return null;let a=null;if(n.currency&&(a=e.parse(n.currency,1,ft),!a))return null;let s=null;if(n[\"min-fraction-digits\"]&&(s=e.parse(n[\"min-fraction-digits\"],1,pt),!s))return null;let o=null;return n[\"max-fraction-digits\"]&&(o=e.parse(n[\"max-fraction-digits\"],1,pt),!o)?null:new ur(r,i,a,s,o)}evaluate(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))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);}outputDefined(){return !1}}class cr{constructor(t){this.type=vt,this.sections=t;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const a=t[r];if(i&&\"object\"==typeof a&&!Array.isArray(a)){i=!1;let t=null;if(a[\"font-scale\"]&&(t=e.parse(a[\"font-scale\"],1,pt),!t))return null;let r=null;if(a[\"text-font\"]&&(r=e.parse(a[\"text-font\"],1,_t(ft)),!r))return null;let s=null;if(a[\"text-color\"]&&(s=e.parse(a[\"text-color\"],1,yt),!s))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=s;}else {const a=e.parse(t[r],1,gt);if(!a)return null;const s=a.type.kind;if(\"string\"!==s&&\"value\"!==s&&\"null\"!==s&&\"resolvedImage\"!==s)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:a,scale:null,font:null,textColor:null});}}return new cr(n)}evaluate(t){return new Dt(this.sections.map((e=>{const r=e.content.evaluate(t);return qt(r)===wt?new Lt(\"\",r,null,null,null):new Lt(jt(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor);}outputDefined(){return !1}}class hr{constructor(t){this.type=wt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ft);return r?new hr(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=Rt.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}}class pr{constructor(t){this.type=pt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const 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 ${At(r.type)} instead.`):new pr(r):null}evaluate(t){const e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Kt(`Expected value to be of type string or array, but found ${At(qt(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}}const fr={\"==\":nr,\"!=\":ir,\">\":sr,\"<\":ar,\">=\":lr,\"<=\":or,array:Gt,at:Je,boolean:Gt,case:We,coalesce:Ze,collator:Qt,format:cr,image:hr,in:Xe,\"index-of\":Ye,interpolate:Ne,\"interpolate-hcl\":Ne,\"interpolate-lab\":Ne,length:pr,let:Ge,literal:Nt,match:He,number:Gt,\"number-format\":ur,object:Gt,slice:Qe,step:ke,string:Gt,\"to-boolean\":Xt,\"to-color\":Xt,\"to-number\":Xt,\"to-string\":Xt,var:be,within:me};function dr(t,[e,r,n,i]){e=e.evaluate(t),r=r.evaluate(t),n=n.evaluate(t);const a=i?i.evaluate(t):1,s=Ut(e,r,n,a);if(s)throw new Kt(s);return new Ft(e/255*a,r/255*a,n/255*a,a)}function yr(t,e){return t in e}function mr(t,e){const r=e[t];return void 0===r?null:r}function gr(t){return {type:t}}function xr(t){return {result:\"success\",value:t}}function vr(t){return {result:\"error\",value:t}}function br(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function wr(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function _r(t){return !!t.expression&&t.expression.interpolated}function Ar(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function kr(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Sr(t){return t}function Ir(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),a=t.type||(_r(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?Ft.parse:$t.parse;(t=st({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default=n(t.default?t.default:e.default);}if(t.colorSpace&&\"rgb\"!==t.colorSpace&&!je[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let s,o,l;if(\"exponential\"===a)s=Cr;else if(\"interval\"===a)s=Br;else if(\"categorical\"===a){s=zr,o=Object.create(null);for(const e of t.stops)o[e[0]]=e[1];l=typeof t.stops[0][0];}else {if(\"identity\"!==a)throw new Error(`Unknown function type \"${a}\"`);s=Pr;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>Cr({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===a?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Ne.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>s(t,e,r,o,l)}}return {kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?Mr(t.default,e.default):s(t,e,i,o,l)}}}function Mr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function zr(t,e,r,n,i){return Mr(typeof r===i?n[r]:void 0,t.default,e.default)}function Br(t,e,r){if(\"number\"!==Ar(r))return Mr(t.default,e.default);const 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];const i=Ae(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function Cr(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==Ar(r))return Mr(t.default,e.default);const 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];const a=Ae(t.stops.map((t=>t[0])),r),s=function(t,e,r,n){const 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]),o=t.stops[a][1],l=t.stops[a+1][1];let u=Ie[e.type]||Sr;if(t.colorSpace&&\"rgb\"!==t.colorSpace){const e=je[t.colorSpace];u=(t,r)=>e.reverse(e.interpolate(e.forward(t),e.forward(r),s));}return \"function\"==typeof o.evaluate?{evaluate(...t){const e=o.evaluate.apply(void 0,t),r=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==r)return u(e,r,s)}}:u(o,l,s)}function Pr(t,e,r){switch(e.type){case\"color\":r=Ft.parse(r);break;case\"formatted\":r=Dt.fromString(r.toString());break;case\"resolvedImage\":r=Rt.fromString(r.toString());break;case\"padding\":r=$t.parse(r);break;default:Ar(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0);}return Mr(r,t.default,e.default)}Wt.register(fr,{error:[{kind:\"error\"},[ft],(t,[e])=>{throw new Kt(e.evaluate(t))}],typeof:[ft,[gt],(t,[e])=>At(qt(e.evaluate(t)))],\"to-rgba\":[_t(pt,4),[yt],(t,[e])=>e.evaluate(t).toArray()],rgb:[yt,[pt,pt,pt],dr],rgba:[yt,[pt,pt,pt,pt],dr],has:{type:dt,overloads:[[[ft],(t,[e])=>yr(e.evaluate(t),t.properties())],[[ft,mt],(t,[e,r])=>yr(e.evaluate(t),r.evaluate(t))]]},get:{type:gt,overloads:[[[ft],(t,[e])=>mr(e.evaluate(t),t.properties())],[[ft,mt],(t,[e,r])=>mr(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[gt,[ft],(t,[e])=>mr(e.evaluate(t),t.featureState||{})],properties:[mt,[],t=>t.properties()],\"geometry-type\":[ft,[],t=>t.geometryType()],id:[gt,[],t=>t.id()],zoom:[pt,[],t=>t.globals.zoom],\"heatmap-density\":[pt,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[pt,[],t=>t.globals.lineProgress||0],accumulated:[gt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[pt,gr(pt),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[pt,gr(pt),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:pt,overloads:[[[pt,pt],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[pt],(t,[e])=>-e.evaluate(t)]]},\"/\":[pt,[pt,pt],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[pt,[pt,pt],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[pt,[],()=>Math.LN2],pi:[pt,[],()=>Math.PI],e:[pt,[],()=>Math.E],\"^\":[pt,[pt,pt],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[pt,[pt],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))],log2:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pt,[pt],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pt,[pt],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pt,[pt],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pt,[pt],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pt,[pt],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pt,[pt],(t,[e])=>Math.atan(e.evaluate(t))],min:[pt,gr(pt),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[pt,gr(pt),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[pt,[pt],(t,[e])=>Math.abs(e.evaluate(t))],round:[pt,[pt],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[pt,[pt],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pt,[pt],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[dt,[ft,gt],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[dt,[gt],(t,[e])=>t.id()===e.value],\"filter-type-==\":[dt,[ft],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[dt,[gt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[dt,[gt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[dt,[gt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[dt,[gt],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[dt,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[dt,[_t(ft)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[dt,[_t(gt)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[dt,[ft,_t(gt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[dt,[ft,_t(gt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[gr(dt),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:dt,overloads:[[[dt,dt],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[gr(dt),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[dt,[dt],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[dt,[ft],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ft,[ft],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ft,[ft],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ft,gr(gt),(t,e)=>e.map((e=>jt(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ft,[xt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Vr{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Ht,this._defaultValue=e?function(t){return \"color\"===t.type&&kr(t.default)?new Ft(0,0,0,0):\"color\"===t.type?Ft.parse(t.default)||null:\"padding\"===t.type?$t.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null;}evaluateWithoutErrorHandling(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)}evaluate(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{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Kt(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(\", \")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Er(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in fr}function Fr(t,e){const r=new we(fr,[],e?function(t){const e={color:yt,string:ft,number:pt,enum:ft,boolean:dt,formatted:vt,padding:bt,resolvedImage:wt};return \"array\"===t.type?_t(e[t.value]||gt,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?xr(new Vr(n,e)):vr(r.errors)}class Tr{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!xe(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}}class Lr{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!xe(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}interpolationFactor(t,e,r){return this.interpolationType?Ne.interpolationFactor(this.interpolationType,t,e,r):0}}function Dr(t,e){const r=Fr(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=ge(n);if(!i&&!br(e))return vr([new ut(\"\",\"data expressions not supported\")]);const a=ve(n,[\"zoom\"]);if(!a&&!wr(e))return vr([new ut(\"\",\"zoom expressions not supported\")]);const s=Rr(n);return s||a?s instanceof ut?vr([s]):s instanceof Ne&&!_r(e)?vr([new ut(\"\",'\"interpolate\" expressions cannot be used with this property')]):xr(s?new Lr(i?\"camera\":\"composite\",r.value,s.labels,s instanceof Ne?s.interpolation:void 0):new Tr(i?\"constant\":\"source\",r.value)):vr([new ut(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class $r{constructor(t,e){this._parameters=t,this._specification=e,st(this,Ir(this._parameters,this._specification));}static deserialize(t){return new $r(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function Rr(t){let e=null;if(t instanceof Ge)e=Rr(t.result);else if(t instanceof Ze){for(const r of t.args)if(e=Rr(r),e)break}else (t instanceof ke||t instanceof Ne)&&t.input instanceof Wt&&\"zoom\"===t.input.name&&(e=t);return e instanceof ut||t.eachChild((t=>{const r=Rr(t);r instanceof ut?e=r:!e&&r?e=new ut(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new ut(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}function Ur(t){const e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,s=t.styleSpec;let o=[];const l=Ar(r);if(\"object\"!==l)return [new it(e,r,`object expected, ${l} found`)];for(const t in r){const l=t.split(\".\")[0],u=n[l]||n[\"*\"];let c;if(i[l])c=i[l];else if(n[l])c=yn;else if(i[\"*\"])c=i[\"*\"];else {if(!n[\"*\"]){o.push(new it(e,r[t],`unknown property \"${t}\"`));continue}c=yn;}o=o.concat(c({key:(e?`${e}.`:e)+t,value:r[t],valueSpec:u,style:a,styleSpec:s,object:r,objectKey:t},r));}for(const t in n)i[t]||n[t].required&&void 0===n[t].default&&void 0===r[t]&&o.push(new it(e,r,`missing required property \"${t}\"`));return o}function Or(t){const e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,s=t.arrayElementValidator||yn;if(\"array\"!==Ar(e))return [new it(a,e,`array expected, ${Ar(e)} found`)];if(r.length&&e.length!==r.length)return [new it(a,e,`array length ${r.length} expected, length ${e.length} found`)];if(r[\"min-length\"]&&e.lengthn.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function jr(t){const e=t.valueSpec,r=ot(t.value.type);let n,i,a,s={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===Ar(t.value.stops)&&\"array\"===Ar(t.value.stops[0])&&\"object\"===Ar(t.value.stops[0][0]),c=Ur({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===r)return [new it(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(Or({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===Ar(n)&&0===n.length&&e.push(new it(t.key,n,\"array must have at least one stop\")),e},default:function(t){return yn({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===r&&o&&c.push(new it(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||c.push(new it(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!_r(t.valueSpec)&&c.push(new it(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!br(t.valueSpec)?c.push(new it(t.key,t.value,\"property functions not supported\")):o&&!wr(t.valueSpec)&&c.push(new it(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!u||void 0!==t.value.property||c.push(new it(t.key,t.value,'\"property\" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if(\"array\"!==Ar(n))return [new it(o,n,`array expected, ${Ar(n)} found`)];if(2!==n.length)return [new it(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==Ar(n[0]))return [new it(o,n,`object expected, ${Ar(n[0])} found`)];if(void 0===n[0].zoom)return [new it(o,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return [new it(o,n,\"object stop key must have value\")];if(a&&a>ot(n[0].zoom))return [new it(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];ot(n[0].zoom)!==a&&(a=ot(n[0].zoom),i=void 0,s={}),r=r.concat(Ur({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:qr,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return Er(lt(n[1]))?r.concat([new it(`${o}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(yn({key:`${o}[1]`,value:n[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,a){const o=Ar(t.value),l=ot(t.value),u=null!==t.value?t.value:a;if(n){if(o!==n)return [new it(t.key,u,`${o} stop domain type must match previous stop domain type ${n}`)]}else n=o;if(\"number\"!==o&&\"string\"!==o&&\"boolean\"!==o)return [new it(t.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==o&&\"categorical\"!==r){let n=`number expected, ${o} found`;return br(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new it(t.key,u,n)]}return \"categorical\"!==r||\"number\"!==o||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===o&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new it(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&&!xe(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!xe(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!ve(r,[\"zoom\",\"feature-state\"]))return [new it(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!ge(r))return [new it(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function Kr(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(ot(r))&&i.push(new it(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(ot(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function Zr(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(const e of t.slice(1))if(!Zr(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}const Gr={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Jr(t){if(null==t)return {filter:()=>!0,needGeometry:!1};Zr(t)||(t=Hr(t));const e=Fr(t,Gr);if(\"error\"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return {filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Yr(t)}}function Xr(t,e){return te?1:0}function Yr(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?Wr(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Hr))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Hr)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Hr).map(en)):\"in\"===e?Qr(t[1],t.slice(2)):\"!in\"===e?en(Qr(t[1],t.slice(2))):\"has\"===e?tn(t[1]):\"!has\"===e?en(tn(t[1])):\"within\"!==e||t;var r;}function Wr(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 Qr(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((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(Xr)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function tn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function en(t){return [\"!\",t]}function rn(t){return Zr(lt(t.value))?Nr(st({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):nn(t)}function nn(t){const e=t.value,r=t.key;if(\"array\"!==Ar(e))return [new it(r,e,`array expected, ${Ar(e)} found`)];const n=t.styleSpec;let i,a=[];if(e.length<1)return [new it(r,e,\"filter array must have at least 1 element\")];switch(a=a.concat(Kr({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),ot(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===ot(e[1])&&a.push(new it(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&a.push(new it(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=Ar(e[1]),\"string\"!==i&&a.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let s=2;s{t in r&&e.push(new it(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{ot(e.id)===o&&(t=e);})),t?t.ref?e.push(new it(n,r.ref,\"ref cannot reference another ref layer\")):s=ot(t.type):e.push(new it(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==s)if(r.source){const t=i.sources&&i.sources[r.source],a=t&&ot(t.type);t?\"vector\"===a&&\"raster\"===s?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster\"===a&&\"raster\"!==s?e.push(new it(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==a||r[\"source-layer\"]?\"raster-dem\"===a&&\"hillshade\"!==s?e.push(new it(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===a&&t.lineMetrics||e.push(new it(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new it(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new it(n,r.source,`source \"${r.source}\" not found`));}else e.push(new it(n,r,'missing required property \"source\"'));return e=e.concat(Ur({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":()=>[],type:()=>yn({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"}),filter:rn,layout:t=>Ur({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":t=>on(st({layerType:s},t))}}),paint:t=>Ur({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":t=>sn(st({layerType:s},t))}})}})),e}function un(t){const e=t.value,r=t.key,n=Ar(e);return \"string\"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const cn={promoteId:function({key:t,value:e}){if(\"string\"===Ar(e))return un({key:t,value:e});{const r=[];for(const n in e)r.push(...un({key:`${t}.${n}`,value:e[n]}));return r}}};function hn(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return [new it(r,e,'\"type\" is required')];const a=ot(e.type);let s;switch(a){case\"vector\":case\"raster\":case\"raster-dem\":return s=Ur({key:r,value:e,valueSpec:n[`source_${a.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:cn}),s;case\"geojson\":if(s=Ur({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:cn}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],a=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;s.push(...Nr({key:`${r}.${t}.map`,value:i,expressionContext:\"cluster-map\"})),s.push(...Nr({key:`${r}.${t}.reduce`,value:a,expressionContext:\"cluster-reduce\"}));}return s;case\"video\":return Ur({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return Ur({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return [new it(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Kr({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function pn(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let a=[];const s=Ar(e);if(void 0===e)return a;if(\"object\"!==s)return a=a.concat([new it(\"light\",e,`object expected, ${s} found`)]),a;for(const t in e){const s=t.match(/^(.*)-transition$/);a=a.concat(s&&n[s[1]]&&n[s[1]].transition?yn({key:t,value:e[t],valueSpec:r.transition,style:i,styleSpec:r}):n[t]?yn({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}):[new it(t,e[t],`unknown property \"${t}\"`)]);}return a}function fn(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let a=[];const s=Ar(e);if(void 0===e)return a;if(\"object\"!==s)return a=a.concat([new it(\"terrain\",e,`object expected, ${s} found`)]),a;for(const t in e)a=a.concat(n[t]?yn({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}):[new it(t,e[t],`unknown property \"${t}\"`)]);return a}const dn={\"*\":()=>[],array:Or,boolean:function(t){const e=t.value,r=t.key,n=Ar(e);return \"boolean\"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:qr,color:function(t){const e=t.key,r=t.value,n=Ar(r);return \"string\"!==n?[new it(e,r,`color expected, ${n} found`)]:null===zt(r)?[new it(e,r,`color expected, \"${r}\" found`)]:[]},constants:at,enum:Kr,filter:rn,function:jr,layer:ln,object:Ur,source:hn,light:pn,terrain:fn,string:un,formatted:function(t){return 0===un(t).length?[]:Nr(t)},resolvedImage:function(t){return 0===un(t).length?[]:Nr(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===Ar(r)){if(r.length<1||r.length>4)return [new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const t={type:\"number\"};let n=[];for(let i=0;i[]}})),t.constants&&(r=r.concat(at({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),xn(r)}function xn(t){return [].concat(t).sort(((t,e)=>t.line-e.line))}function vn(t){return function(...e){return xn(t.apply(this,e))}}gn.source=vn(hn),gn.light=vn(pn),gn.terrain=vn(fn),gn.layer=vn(ln),gn.filter=vn(rn),gn.paintProperty=vn(sn),gn.layoutProperty=vn(on);const bn=gn,wn=bn.light,_n=bn.paintProperty,An=bn.layoutProperty;function kn(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new et(new Error(n.message))),r=!0;return r}class Sn{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(let t=0;t=u[l+0]&&n>=u[l+1])?(s[h]=!0,a.push(i[h])):s[h]=!1;}}}}_forEachCell(t,e,r,n,i,a,s,o){const l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let p=l;p<=c;p++)for(let l=u;l<=h;l++){const u=this.d*l+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,u,a,s,o))return}}_convertFromCellCoord(t){return (t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const a=t[r];i[r]=In[n].shallow.indexOf(r)>=0?a:Bn(a,e);}t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==n&&(i.$name=n),i}throw new Error(\"can't serialize object of type \"+typeof t)}function Cn(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||t instanceof Blob||zn(t)||A(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Cn);if(\"object\"==typeof t){const e=t.$name||\"Object\";if(!In[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=In[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if(\"$name\"===r)continue;const i=t[r];n[r]=In[e].shallow.indexOf(r)>=0?i:Cn(i);}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}class Pn{constructor(){this.first=!0;}update(t,e){const 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.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,\"Arabic Supplement\":t=>t>=1872&&t<=1919,\"Arabic Extended-A\":t=>t>=2208&&t<=2303,\"Hangul Jamo\":t=>t>=4352&&t<=4607,\"Unified Canadian Aboriginal Syllabics\":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":t=>t>=6320&&t<=6399,\"General Punctuation\":t=>t>=8192&&t<=8303,\"Letterlike Symbols\":t=>t>=8448&&t<=8527,\"Number Forms\":t=>t>=8528&&t<=8591,\"Miscellaneous Technical\":t=>t>=8960&&t<=9215,\"Control Pictures\":t=>t>=9216&&t<=9279,\"Optical Character Recognition\":t=>t>=9280&&t<=9311,\"Enclosed Alphanumerics\":t=>t>=9312&&t<=9471,\"Geometric Shapes\":t=>t>=9632&&t<=9727,\"Miscellaneous Symbols\":t=>t>=9728&&t<=9983,\"Miscellaneous Symbols and Arrows\":t=>t>=11008&&t<=11263,\"CJK Radicals Supplement\":t=>t>=11904&&t<=12031,\"Kangxi Radicals\":t=>t>=12032&&t<=12255,\"Ideographic Description Characters\":t=>t>=12272&&t<=12287,\"CJK Symbols and Punctuation\":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,\"Hangul Compatibility Jamo\":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,\"Bopomofo Extended\":t=>t>=12704&&t<=12735,\"CJK Strokes\":t=>t>=12736&&t<=12783,\"Katakana Phonetic Extensions\":t=>t>=12784&&t<=12799,\"Enclosed CJK Letters and Months\":t=>t>=12800&&t<=13055,\"CJK Compatibility\":t=>t>=13056&&t<=13311,\"CJK Unified Ideographs Extension A\":t=>t>=13312&&t<=19903,\"Yijing Hexagram Symbols\":t=>t>=19904&&t<=19967,\"CJK Unified Ideographs\":t=>t>=19968&&t<=40959,\"Yi Syllables\":t=>t>=40960&&t<=42127,\"Yi Radicals\":t=>t>=42128&&t<=42191,\"Hangul Jamo Extended-A\":t=>t>=43360&&t<=43391,\"Hangul Syllables\":t=>t>=44032&&t<=55215,\"Hangul Jamo Extended-B\":t=>t>=55216&&t<=55295,\"Private Use Area\":t=>t>=57344&&t<=63743,\"CJK Compatibility Ideographs\":t=>t>=63744&&t<=64255,\"Arabic Presentation Forms-A\":t=>t>=64336&&t<=65023,\"Vertical Forms\":t=>t>=65040&&t<=65055,\"CJK Compatibility Forms\":t=>t>=65072&&t<=65103,\"Small Form Variants\":t=>t>=65104&&t<=65135,\"Arabic Presentation Forms-B\":t=>t>=65136&&t<=65279,\"Halfwidth and Fullwidth Forms\":t=>t>=65280&&t<=65519};function En(t){for(const e of t)if(Ln(e.charCodeAt(0)))return !0;return !1}function Fn(t){for(const e of t)if(!Tn(e.charCodeAt(0)))return !1;return !0}function Tn(t){return !(Vn.Arabic(t)||Vn[\"Arabic Supplement\"](t)||Vn[\"Arabic Extended-A\"](t)||Vn[\"Arabic Presentation Forms-A\"](t)||Vn[\"Arabic Presentation Forms-B\"](t))}function Ln(t){return !(746!==t&&747!==t&&(t<4352||!(Vn[\"Bopomofo Extended\"](t)||Vn.Bopomofo(t)||Vn[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Vn[\"CJK Compatibility Ideographs\"](t)||Vn[\"CJK Compatibility\"](t)||Vn[\"CJK Radicals Supplement\"](t)||Vn[\"CJK Strokes\"](t)||!(!Vn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Vn[\"CJK Unified Ideographs Extension A\"](t)||Vn[\"CJK Unified Ideographs\"](t)||Vn[\"Enclosed CJK Letters and Months\"](t)||Vn[\"Hangul Compatibility Jamo\"](t)||Vn[\"Hangul Jamo Extended-A\"](t)||Vn[\"Hangul Jamo Extended-B\"](t)||Vn[\"Hangul Jamo\"](t)||Vn[\"Hangul Syllables\"](t)||Vn.Hiragana(t)||Vn[\"Ideographic Description Characters\"](t)||Vn.Kanbun(t)||Vn[\"Kangxi Radicals\"](t)||Vn[\"Katakana Phonetic Extensions\"](t)||Vn.Katakana(t)&&12540!==t||!(!Vn[\"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)||!(!Vn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Vn[\"Unified Canadian Aboriginal Syllabics\"](t)||Vn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Vn[\"Vertical Forms\"](t)||Vn[\"Yijing Hexagram Symbols\"](t)||Vn[\"Yi Syllables\"](t)||Vn[\"Yi Radicals\"](t))))}function Dn(t){return !(Ln(t)||function(t){return !!(Vn[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Vn[\"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)||Vn[\"Letterlike Symbols\"](t)||Vn[\"Number Forms\"](t)||Vn[\"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)||Vn[\"Control Pictures\"](t)&&9251!==t||Vn[\"Optical Character Recognition\"](t)||Vn[\"Enclosed Alphanumerics\"](t)||Vn[\"Geometric Shapes\"](t)||Vn[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Vn[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Vn[\"CJK Symbols and Punctuation\"](t)||Vn.Katakana(t)||Vn[\"Private Use Area\"](t)||Vn[\"CJK Compatibility Forms\"](t)||Vn[\"Small Form Variants\"](t)||Vn[\"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 $n(t){return t>=1424&&t<=2303||Vn[\"Arabic Presentation Forms-A\"](t)||Vn[\"Arabic Presentation Forms-B\"](t)}function Rn(t,e){return !(!e&&$n(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Vn.Khmer(t))}function Un(t){for(const e of t)if($n(e.charCodeAt(0)))return !0;return !1}const On=\"deferred\",qn=\"loading\",jn=\"loaded\";let Nn=null,Kn=\"unavailable\",Zn=null;const Gn=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(Kn=\"error\"),Nn&&Nn(t);};function Jn(){Xn.fire(new tt(\"pluginStateChange\",{pluginStatus:Kn,pluginURL:Zn}));}const Xn=new rt,Yn=function(){return Kn},Hn=function(){if(Kn!==On||!Zn)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Kn=qn,Jn(),Zn&&Z({url:Zn},(t=>{t?Gn(t):(Kn=jn,Jn());}));},Wn={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Kn===jn||null!=Wn.applyArabicShaping,isLoading:()=>Kn===qn,setState(t){Kn=t.pluginStatus,Zn=t.pluginURL;},isParsed:()=>null!=Wn.applyArabicShaping&&null!=Wn.processBidirectionalText&&null!=Wn.processStyledBidirectionalText,getPluginURL:()=>Zn};class Qn{constructor(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 Pn,this.transition={});}isSupportedScript(t){return function(t,e){for(const r of t)if(!Rn(r.charCodeAt(0),e))return !1;return !0}(t,Wn.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const 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}}}class ti{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(kr(t))return new $r(t,e);if(Er(t)){const r=Dr(t,e);if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return r.value}{let r=t;return \"color\"===e.type&&\"string\"==typeof t?r=Ft.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)||(r=$t.parse(t)),{kind:\"constant\",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification);}isDataDriven(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class ei{constructor(t){this.property=t,this.value=new ti(t,void 0);}transitioned(t,e){return new ni(this.property,this.value,e,o({},t.transition,this.transition),t.now)}untransitioned(){return new ni(this.property,this.value,null,{},0)}}class ri{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return p(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new ei(this._values[t].property)),this._values[t].value=new ti(this._values[t].property,null===e?void 0:p(e));}getTransition(t){return p(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new ei(this._values[t].property)),this._values[t].transition=p(e)||void 0;}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n);}return t}transitioned(t,e){const r=new ii(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new ii(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class ni{constructor(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);}possiblyEvaluate(t,e,r){const 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=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(s))}}return i}}class ii{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);}possiblyEvaluate(t,e,r){const n=new oi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return !0;return !1}}class ai{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);}getValue(t){return p(this._values[t].value)}setValue(t,e){this._values[t]=new ti(this._values[t].property,null===e?void 0:p(e));}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);}return t}possiblyEvaluate(t,e,r){const n=new oi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class si{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r;}isConstant(){return \"constant\"===this.value.kind}constantOr(t){return \"constant\"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class oi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);}get(t){return this._values[t]}}class li{constructor(t){this.specification=t;}possiblyEvaluate(t,e){return t.expression.evaluate(e)}interpolate(t,e,r){const n=Ie[this.specification.type];return n?n(t,e,r):t}}class ui{constructor(t,e){this.specification=t,this.overrides=e;}possiblyEvaluate(t,e,r,n){return new si(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)}interpolate(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 si(this,{kind:\"constant\",value:void 0},t.parameters);const n=Ie[this.specification.type];return n?new si(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.parameters):t}evaluate(t,e,r,n,i,a){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)}}class ci extends ui{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new si(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),a=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,s=this._calculate(a,a,a,e);return new si(this,{kind:\"constant\",value:s},e)}if(\"camera\"===t.expression.kind){const r=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 si(this,{kind:\"constant\",value:r},e)}return new si(this,t.expression,e)}evaluate(t,e,r,n,i,a){if(\"source\"===t.kind){const s=t.evaluate(e,r,n,i,a);return this._calculate(s,s,s,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}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class hi{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Qn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Qn(Math.floor(e.zoom),e)),t.expression.evaluate(new Qn(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class pi{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)}interpolate(){return !1}}class fi{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new ti(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new ei(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}}}Mn(\"DataDrivenProperty\",ui),Mn(\"DataConstantProperty\",li),Mn(\"CrossFadedDataDrivenProperty\",ci),Mn(\"CrossFadedProperty\",hi),Mn(\"ColorRampProperty\",pi);const di=\"-transition\";class yi extends rt{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new ai(e.layout)),e.paint)){this._transitionablePaint=new ri(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new oi(e.paint);}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){null!=e&&this._validate(An,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return t.endsWith(di)?this._transitionablePaint.getTransition(t.slice(0,-di.length)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate(_n,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(t.endsWith(di))return this._transitionablePaint.setTransition(t.slice(0,-di.length),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=\"cross-faded-data-driven\"===r.property.specification[\"property-type\"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const s=this._transitionablePaint._values[t].value;return s.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,a,s)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(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);}serialize(){const 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),h(t,((t,e)=>!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return (!i||!1!==i.validate)&&kn(this,t.call(bn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:nt,style:{glyphs:!0,sprite:!0}}))}is3D(){return !1}isTileClipped(){return !1}hasOffscreenPass(){return !1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof si&&br(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}}const mi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class gi{constructor(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;}}class xi{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0);}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());}clear(){this.length=0;}resize(t){this.reserve(t),this.length=t;}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function vi(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=mi[t.type].BYTES_PER_ELEMENT,a=r=bi(r,Math.max(e,i)),s=t.components||1;return n=Math.max(n,i),r+=i*s,{name:t.name,type:t.type,components:s,offset:a}})),size:bi(r,Math.max(n,e)),alignment:e}}function bi(t,e){return Math.ceil(t/e)*e}class wi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}wi.prototype.bytesPerElement=4,Mn(\"StructArrayLayout2i4\",wi);class _i extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const 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}}_i.prototype.bytesPerElement=8,Mn(\"StructArrayLayout4i8\",_i);class Ai extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=a,this.int16[o+5]=s,t}}Ai.prototype.bytesPerElement=12,Mn(\"StructArrayLayout2i4i12\",Ai);class ki extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=s,t}}ki.prototype.bytesPerElement=8,Mn(\"StructArrayLayout2i4ub8\",ki);class Si extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}Si.prototype.bytesPerElement=8,Mn(\"StructArrayLayout2f8\",Si);class Ii extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,s,o,l,u)}emplace(t,e,r,n,i,a,s,o,l,u,c){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=s,this.uint16[h+6]=o,this.uint16[h+7]=l,this.uint16[h+8]=u,this.uint16[h+9]=c,t}}Ii.prototype.bytesPerElement=20,Mn(\"StructArrayLayout10ui20\",Ii);class Mi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,a,s,o,l,u,c,h)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p){const 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]=s,this.uint16[f+6]=o,this.uint16[f+7]=l,this.int16[f+8]=u,this.int16[f+9]=c,this.int16[f+10]=h,this.int16[f+11]=p,t}}Mi.prototype.bytesPerElement=24,Mn(\"StructArrayLayout4i4ui4i24\",Mi);class zi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}zi.prototype.bytesPerElement=12,Mn(\"StructArrayLayout3f12\",zi);class Bi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Bi.prototype.bytesPerElement=4,Mn(\"StructArrayLayout1ul4\",Bi);class Ci extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,s,o,l)}emplace(t,e,r,n,i,a,s,o,l,u){const c=10*t,h=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=s,this.uint32[h+3]=o,this.uint16[c+8]=l,this.uint16[c+9]=u,t}}Ci.prototype.bytesPerElement=20,Mn(\"StructArrayLayout6i1ul2ui20\",Ci);class Pi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=a,this.int16[o+5]=s,t}}Pi.prototype.bytesPerElement=12,Mn(\"StructArrayLayout2i2i2i12\",Pi);class Vi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)}emplace(t,e,r,n,i,a){const s=4*t,o=8*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.int16[o+6]=i,this.int16[o+7]=a,t}}Vi.prototype.bytesPerElement=16,Mn(\"StructArrayLayout2f1f2i16\",Vi);class Ei extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=12*t,s=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[s+1]=n,this.float32[s+2]=i,t}}Ei.prototype.bytesPerElement=12,Mn(\"StructArrayLayout2ub2f12\",Ei);class Fi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}Fi.prototype.bytesPerElement=6,Mn(\"StructArrayLayout3ui6\",Fi);class Ti extends xi{_refreshViews(){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);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g){const x=24*t,v=12*t,b=48*t;return this.int16[x+0]=e,this.int16[x+1]=r,this.uint16[x+2]=n,this.uint16[x+3]=i,this.uint32[v+2]=a,this.uint32[v+3]=s,this.uint32[v+4]=o,this.uint16[x+10]=l,this.uint16[x+11]=u,this.uint16[x+12]=c,this.float32[v+7]=h,this.float32[v+8]=p,this.uint8[b+36]=f,this.uint8[b+37]=d,this.uint8[b+38]=y,this.uint32[v+10]=m,this.int16[x+22]=g,t}}Ti.prototype.bytesPerElement=48,Mn(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ti);class Li extends xi{_refreshViews(){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);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,k,S,I,M){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,k,S,I,M)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,k,S,I,M,z){const B=34*t,C=17*t;return this.int16[B+0]=e,this.int16[B+1]=r,this.int16[B+2]=n,this.int16[B+3]=i,this.int16[B+4]=a,this.int16[B+5]=s,this.int16[B+6]=o,this.int16[B+7]=l,this.uint16[B+8]=u,this.uint16[B+9]=c,this.uint16[B+10]=h,this.uint16[B+11]=p,this.uint16[B+12]=f,this.uint16[B+13]=d,this.uint16[B+14]=y,this.uint16[B+15]=m,this.uint16[B+16]=g,this.uint16[B+17]=x,this.uint16[B+18]=v,this.uint16[B+19]=b,this.uint16[B+20]=w,this.uint16[B+21]=_,this.uint16[B+22]=A,this.uint32[C+12]=k,this.float32[C+13]=S,this.float32[C+14]=I,this.float32[C+15]=M,this.float32[C+16]=z,t}}Li.prototype.bytesPerElement=68,Mn(\"StructArrayLayout8i15ui1ul4f68\",Li);class Di extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Di.prototype.bytesPerElement=4,Mn(\"StructArrayLayout1f4\",Di);class $i extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}$i.prototype.bytesPerElement=6,Mn(\"StructArrayLayout3i6\",$i);class Ri extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t}}Ri.prototype.bytesPerElement=8,Mn(\"StructArrayLayout1ul2ui8\",Ri);class Ui extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Ui.prototype.bytesPerElement=4,Mn(\"StructArrayLayout2ui4\",Ui);class Oi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Oi.prototype.bytesPerElement=2,Mn(\"StructArrayLayout1ui2\",Oi);class qi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const 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}}qi.prototype.bytesPerElement=16,Mn(\"StructArrayLayout4f16\",qi);class ji extends gi{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new S(this.anchorPointX,this.anchorPointY)}}ji.prototype.size=20;class Ni extends Ci{get(t){return new ji(this,t)}}Mn(\"CollisionBoxArray\",Ni);class Ki extends gi{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t;}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t;}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t;}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Ki.prototype.size=48;class Zi extends Ti{get(t){return new Ki(this,t)}}Mn(\"PlacedSymbolArray\",Zi);class Gi extends gi{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t;}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get textOffset0(){return this._structArray.float32[this._pos4+14]}get textOffset1(){return this._structArray.float32[this._pos4+15]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+16]}}Gi.prototype.size=68;class Ji extends Li{get(t){return new Gi(this,t)}}Mn(\"SymbolInstanceArray\",Ji);class Xi extends Di{getoffsetX(t){return this.float32[1*t+0]}}Mn(\"GlyphOffsetArray\",Xi);class Yi extends $i{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Mn(\"SymbolLineVertexArray\",Yi);class Hi extends gi{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Hi.prototype.size=8;class Wi extends Ri{get(t){return new Hi(this,t)}}Mn(\"FeatureIndexArray\",Wi);class Qi extends wi{}class ta extends wi{}class ea extends wi{}class ra extends Ai{}class na extends ki{}class ia extends Si{}class aa extends Ii{}class sa extends Mi{}class oa extends zi{}class la extends Bi{}class ua extends Pi{}class ca extends Ei{}class ha extends Fi{}class pa extends Ui{}const fa=vi([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:da}=fa;class ya{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ya.MAX_VERTEX_ARRAY_LENGTH&&d(`Max vertices per segment is ${ya.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ya.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}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy();}static simpleSegment(t,e,r,n){return new ya([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function ma(t,e){return 256*(t=a(Math.floor(t),0,255))+a(Math.floor(e),0,255)}ya.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Mn(\"SegmentVector\",ya);const ga=vi([{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\"}]);var xa={exports:{}},va={exports:{}};va.exports=function(t,e){var r,n,i,a,s,o,l,u;for(n=t.length-(r=3&t.length),i=e,s=3432918353,o=461845907,u=0;u>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&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};var ba={exports:{}};ba.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};var wa=va.exports,_a=ba.exports;xa.exports=wa,xa.exports.murmur3=wa,xa.exports.murmur2=_a;class Aa{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(ka(t)),this.positions.push(e,r,n);}getPositions(t){const e=ka(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1;}const i=[];for(;this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Sa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new Aa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function ka(t){const e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:xa.exports(String(t))}function Sa(t,e,r,n){for(;r>1];let a=r-1,s=n+1;for(;;){do{a++;}while(t[a]i);if(a>=s)break;Ia(t,a,s),Ia(e,3*a,3*s),Ia(e,3*a+1,3*s+1),Ia(e,3*a+2,3*s+2);}s-r`u_${t}`)),this.type=r;}setUniform(t,e,r){t.set(r.constantOr(this.value));}getBinding(t,e,r){return \"color\"===this.type?new Ca(t,e):new za(t,e)}}class Fa{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;}setUniform(t,e,r,n){const 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);}getBinding(t,e,r){return \"u_pattern\"===r.substr(0,9)?new Ba(t,e):new za(t,e)}}class Ta{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i){const a=this.paintVertexArray.length,s=this.expression.evaluate(new Qn(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,s);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=Va(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new a;}populatePaintArray(t,e,r,n,i){const a=this.expression.evaluate(new Qn(this.zoom),e,{},n,[],i),s=this.expression.evaluate(new Qn(this.zoom+1),e,{},n,[],i),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,a,s);}updatePaintArray(t,e,r,n){const 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);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Va(r),a=Va(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)));}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Ta||r instanceof La)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new $a(n,e,r);this.needsUpload=!1,this._featureMap=new Aa,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,a){for(const r in this.programConfigurations)this.programConfigurations[r].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;}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}function Ua(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 Oa(t,e,r){const n={color:{source:Si,composite:qi},number:{source:Di,composite:Si}},i=function(t){return {\"line-pattern\":{source:aa,composite:aa},\"fill-pattern\":{source:aa,composite:aa},\"fill-extrusion-pattern\":{source:aa,composite:aa}}[t]}(t);return i&&i[r]||n[e][r]}Mn(\"ConstantBinder\",Ea),Mn(\"CrossFadedConstantBinder\",Fa),Mn(\"SourceExpressionBinder\",Ta),Mn(\"CrossFadedCompositeBinder\",Da),Mn(\"CompositeExpressionBinder\",La),Mn(\"ProgramConfiguration\",$a,{omit:[\"_buffers\"]}),Mn(\"ProgramConfigurationSet\",Ra);var qa=8192;const ja=Math.pow(2,14)-1,Na=-ja-1;function Ka(t){const e=qa/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||sr.y+1)&&d(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}}return r}function Za(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Ka(t):[]}}function Ga(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}class Ja{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ta,this.indexArray=new ha,this.segments=new ya,this.programConfigurations=new Ra(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){const n=this.layers[0],i=[];let a=null,s=!1;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"),s=!a.isConstant());for(const{feature:e,id:n,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Za(e,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),u,r))continue;const c=s?a.evaluate(u,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Ka(e),patterns:{},sortKey:c};i.push(h);}s&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:a,sourceLayerIndex:s}=n,o=t[a].feature;this.addFeature(n,i,a,r),e.featureIndex.insert(o,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,da),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=qa||n<0||n>=qa)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=i.vertexLength;Ga(this.layoutVertexArray,r,n,-1,-1),Ga(this.layoutVertexArray,r,n,1,-1),Ga(this.layoutVertexArray,r,n,1,1),Ga(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);}}function Xa(t,e){for(let r=0;r1){if(Qa(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function ns(t,e){let r,n,i,a=!1;for(let s=0;se.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);}return a}function is(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(r=!r);}return r}function as(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const a=y(t,e,r[0]);return a!==y(t,e,r[1])||a!==y(t,e,r[2])||a!==y(t,e,r[3])}function ss(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function os(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ls(t,e,r,n,i){if(!e[0]&&!e[1])return t;const a=S.convert(e)._mult(i);\"viewport\"===r&&a._rotate(-n);const s=[];for(let e=0;et.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\");const s=t.data,o=e.data;for(let l=0;l{e[t.evaluationKey]=a;const s=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*s.r/s.a),i.data[r+n+1]=Math.floor(255*s.g/s.a),i.data[r+n+2]=Math.floor(255*s.b/s.a),i.data[r+n+3]=Math.floor(255*s.a);};if(t.clips)for(let e=0,i=0;e80*r){n=a=t[0],i=s=t[1];for(var d=r;da&&(a=o),l>s&&(s=l);u=0!==(u=Math.max(a-n,s-i))?32767/u:0;}return $s(p,f,r,n,i,u,0),f}function Ls(t,e,r,n,i){var a,s;if(i===so(t,e,r,n)>0)for(a=e;a=e;a-=n)s=no(a,t[a],t[a+1],s);return s&&Hs(s,s.next)&&(io(s),s=s.next),s}function Ds(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Hs(n,n.next)&&0!==Ys(n.prev,n,n.next))n=n.next;else {if(io(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function $s(t,e,r,n,i,a,s){if(t){!s&&a&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=Zs(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,s,o,l,u=1;do{for(r=t,t=null,a=null,s=0;r;){for(s++,n=r,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,o--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n;}a.nextZ=null,u*=2;}while(s>1)}(i);}(t,n,i,a);for(var o,l,u=t;t.prev!==t.next;)if(o=t.prev,l=t.next,a?Us(t,n,i,a):Rs(t))e.push(o.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),io(t),t=l.next,u=l.next;else if((t=l)===u){s?1===s?$s(t=Os(Ds(t),e,r),e,r,n,i,a,2):2===s&&qs(t,e,r,n,i,a):$s(Ds(t),e,r,n,i,a,1);break}}}function Rs(t){var e=t.prev,r=t,n=t.next;if(Ys(e,r,n)>=0)return !1;for(var i=e.x,a=r.x,s=n.x,o=e.y,l=r.y,u=n.y,c=ia?i>s?i:s:a>s?a:s,f=o>l?o>u?o:u:l>u?l:u,d=n.next;d!==e;){if(d.x>=c&&d.x<=p&&d.y>=h&&d.y<=f&&Js(i,o,a,l,s,u,d.x,d.y)&&Ys(d.prev,d,d.next)>=0)return !1;d=d.next;}return !0}function Us(t,e,r,n){var i=t.prev,a=t,s=t.next;if(Ys(i,a,s)>=0)return !1;for(var o=i.x,l=a.x,u=s.x,c=i.y,h=a.y,p=s.y,f=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=Zs(f,d,e,r,n),x=Zs(y,m,e,r,n),v=t.prevZ,b=t.nextZ;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==s&&Js(o,c,l,h,u,p,v.x,v.y)&&Ys(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==s&&Js(o,c,l,h,u,p,b.x,b.y)&&Ys(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==s&&Js(o,c,l,h,u,p,v.x,v.y)&&Ys(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==s&&Js(o,c,l,h,u,p,b.x,b.y)&&Ys(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Os(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Hs(i,a)&&Ws(i,n,n.next,a)&&eo(i,a)&&eo(a,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(a.i/r|0),io(n),io(n.next),n=t=a),n=n.next;}while(n!==t);return Ds(n)}function qs(t,e,r,n,i,a){var s=t;do{for(var o=s.next.next;o!==s.prev;){if(s.i!==o.i&&Xs(s,o)){var l=ro(s,o);return s=Ds(s,s.next),l=Ds(l,l.next),$s(s,e,r,n,i,a,0),void $s(l,e,r,n,i,a,0)}o=o.next;}s=s.next;}while(s!==t)}function js(t,e){return t.x-e.x}function Ns(t,e){var r=function(t,e){var r,n=e,i=t.x,a=t.y,s=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var o=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=i&&o>s&&(s=o,r=n.x=n.x&&n.x>=c&&i!==n.x&&Js(ar.x||n.x===r.x&&Ks(r,n)))&&(r=n,p=l)),n=n.next;}while(n!==u);return r}(t,e);if(!r)return e;var n=ro(r,t);return Ds(n,n.next),Ds(r,r.next)}function Ks(t,e){return Ys(t.prev,t,e.prev)<0&&Ys(e.next,t,t.next)<0}function Zs(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Gs(t){var e=t,r=t;do{(e.x=(t-s)*(a-o)&&(t-s)*(n-o)>=(r-s)*(e-o)&&(r-s)*(a-o)>=(i-s)*(n-o)}function Xs(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&&Ws(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(eo(t,e)&&eo(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)&&(Ys(t.prev,t,e.prev)||Ys(t,e.prev,e))||Hs(t,e)&&Ys(t.prev,t,t.next)>0&&Ys(e.prev,e,e.next)>0)}function Ys(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Hs(t,e){return t.x===e.x&&t.y===e.y}function Ws(t,e,r,n){var i=to(Ys(t,e,r)),a=to(Ys(t,e,n)),s=to(Ys(r,n,t)),o=to(Ys(r,n,e));return i!==a&&s!==o||!(0!==i||!Qs(t,r,e))||!(0!==a||!Qs(t,n,e))||!(0!==s||!Qs(r,t,n))||!(0!==o||!Qs(r,e,n))}function Qs(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 to(t){return t>0?1:t<0?-1:0}function eo(t,e){return Ys(t.prev,t,t.next)<0?Ys(t,e,t.next)>=0&&Ys(t,t.prev,e)>=0:Ys(t,e,t.prev)<0||Ys(t,t.next,e)<0}function ro(t,e){var r=new ao(t.i,t.x,t.y),n=new ao(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 no(t,e,r,n){var i=new ao(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 io(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 ao(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function so(t,e,r,n){for(var i=0,a=e,s=r-n;ar;){if(n-r>600){var a=n-r+1,s=e-r+1,o=Math.log(a),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(a-l)/a)*(s-a/2<0?-1:1);lo(t,e,Math.max(r,Math.floor(e-s*l/a+u)),Math.min(n,Math.floor(e+(a-s)*l/a+u)),i);}var c=t[e],h=r,p=n;for(uo(t,r,e),i(t[n],c)>0&&uo(t,r,n);h0;)p--;}0===i(t[r],c)?uo(t,r,p):uo(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function uo(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function co(t,e){return te?1:0}function ho(t,e){const r=t.length;if(r<=1)return [t];const n=[];let i,a;for(let e=0;e1)for(let t=0;t0&&r.holes.push(n+=t[i-1].length);}return r};class mo{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ea,this.indexArray=new ha,this.indexArray2=new pa,this.programConfigurations=new Ra(t.layers,t.zoom),this.segments=new ya,this.segments2=new ya,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=fo(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:s,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Za(s,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),c,r))continue;const h=i?n.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:s.properties,type:s.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:Ka(s),patterns:{},sortKey:h};a.push(p);}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:s}=n;if(this.hasPattern){const t=yo(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,a,r,{});e.featureIndex.insert(t[a].feature,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Es),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());}addFeature(t,e,r,n,i){for(const t of ho(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&a.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new Ao(a,s));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},So.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,s=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return [s,l,o,u]},So.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),s=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=So.types[this.type];function c(t){for(var e=0;e>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));}Co.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 zo(this._pbf,e,this.extent,this._keys,this._values)};var Vo=Bo;function Eo(t,e,r){if(3===t){var n=new Vo(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}_o.VectorTile=function(t,e){this.layers=t.readFields(Eo,{},e);},_o.VectorTileFeature=ko,_o.VectorTileLayer=Bo;const Fo=_o.VectorTileFeature.types,To=Math.pow(2,13);function Lo(t,e,r,n,i,a,s,o){t.emplaceBack(e,r,2*Math.floor(n*To)+s,i*To*2,a*To*2,Math.round(o));}class Do{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.centroidVertexArray=new Qi,this.indexArray=new ha,this.programConfigurations=new Ra(t.layers,t.zoom),this.segments=new ya,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.features=[],this.hasPattern=fo(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:a,sourceLayerIndex:s}of t){const t=this.layers[0]._featureFilter.needGeometry,o=Za(n,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),o,r))continue;const l={id:i,sourceLayerIndex:s,index:a,geometry:t?o.geometry:Ka(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(yo(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,r,{}),e.featureIndex.insert(n,l.geometry,a,s,this.index,!0);}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,wo),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,bo.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy());}addFeature(t,e,r,n,i){const a={x:0,y:0,vertexCount:0};for(const r of ho(e,500)){let e=0;for(const t of r)e+=t.length;let n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Ro(t))continue;let e=0;for(let r=0;r=1){const s=t[r-1];if(!$o(i,s)){n.vertexLength+4>ya.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=i.sub(s)._perp()._unit(),r=s.dist(i);e+r>32768&&(e=0),Lo(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,0,e),Lo(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,1,e),a.x+=2*i.x,a.y+=2*i.y,a.vertexCount+=2,e+=r,Lo(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,e),Lo(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,e),a.x+=2*s.x,a.y+=2*s.y,a.vertexCount+=2;const o=n.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),n.vertexLength+=4,n.primitiveLength+=2;}}}}if(n.vertexLength+e>ya.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==Fo[t.type])continue;const i=[],s=[],o=n.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&s.push(i.length/2);for(let e=0;eqa)||t.y===e.y&&(t.y<0||t.y>qa)}function Ro(t){return t.every((t=>t.x<0))||t.every((t=>t.x>qa))||t.every((t=>t.y<0))||t.every((t=>t.y>qa))}Mn(\"FillExtrusionBucket\",Do,{omit:[\"layers\",\"features\"]});var Uo={paint:new fi({\"fill-extrusion-opacity\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new ui(nt[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new ci(nt[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new ui(nt[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new ui(nt[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})};function Oo(t,e){return t.x*e.x+t.y*e.y}function qo(t,e){if(1===t.length){let r=0;const n=e[r++];let i;for(;!i||n.equals(i);)if(i=e[r++],!i)return 1/0;for(;rt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={};})),this.layoutVertexArray=new na,this.layoutVertexArray2=new ia,this.indexArray=new ha,this.programConfigurations=new Ra(t.layers,t.zoom),this.segments=new ya,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=fo(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:e,id:s,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Za(e,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),u,r))continue;const c=i?n.evaluate(u,{},r):void 0,h={id:s,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Ka(e),patterns:{},sortKey:c};a.push(h);}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:s}=n;if(this.hasPattern){const t=yo(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,a,r,{});e.featureIndex.insert(t[a].feature,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Zo)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,No),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const a=this.layers[0].layout,s=a.get(\"line-join\").evaluate(t,{}),o=a.get(\"line-cap\"),l=a.get(\"line-miter-limit\"),u=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,s,o,l,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);}addLine(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,d,0,0,c),p=e;}}const A=p&&f;let k=A?r:s?\"butt\":n;if(A&&\"round\"===k&&(vi&&(k=\"bevel\"),\"bevel\"===k&&(v>2&&(k=\"flipbevel\"),v100)m=y.mult(-1);else {const t=v*d.add(y).mag()/d.sub(y).mag();m._perp()._mult(t*(_?-1:1));}this.addCurrentVertex(h,m,0,0,c),this.addCurrentVertex(h,m.mult(-1),0,0,c);}else if(\"bevel\"===k||\"fakeround\"===k){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,d,e,r,c),\"fakeround\"===k){const t=Math.round(180*b/Math.PI/20);for(let e=1;e2*u){const e=h.add(f.sub(h)._mult(u/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,y,0,0,c),h=e;}}}}addCurrentVertex(t,e,r,n,i,a=!1){const s=e.y*n-e.x,o=-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,s,o,a,!0,-n,i),this.distance>Xo/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a));}addHalfVertex({x:t,y:e},r,n,i,a,s,o){const l=.5*(this.lineClips?this.scaledDistance*(Xo-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===s?0:s<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),a?this.e2=u:this.e1=u;}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}Mn(\"LineBucket\",Yo,{omit:[\"layers\",\"patternFeatures\"]});const Ho=new fi({\"line-cap\":new li(nt.layout_line[\"line-cap\"]),\"line-join\":new ui(nt.layout_line[\"line-join\"]),\"line-miter-limit\":new li(nt.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new li(nt.layout_line[\"line-round-limit\"]),\"line-sort-key\":new ui(nt.layout_line[\"line-sort-key\"])});var Wo={paint:new fi({\"line-opacity\":new ui(nt.paint_line[\"line-opacity\"]),\"line-color\":new ui(nt.paint_line[\"line-color\"]),\"line-translate\":new li(nt.paint_line[\"line-translate\"]),\"line-translate-anchor\":new li(nt.paint_line[\"line-translate-anchor\"]),\"line-width\":new ui(nt.paint_line[\"line-width\"]),\"line-gap-width\":new ui(nt.paint_line[\"line-gap-width\"]),\"line-offset\":new ui(nt.paint_line[\"line-offset\"]),\"line-blur\":new ui(nt.paint_line[\"line-blur\"]),\"line-dasharray\":new hi(nt.paint_line[\"line-dasharray\"]),\"line-pattern\":new ci(nt.paint_line[\"line-pattern\"]),\"line-gradient\":new pi(nt.paint_line[\"line-gradient\"])}),layout:Ho};const Qo=new class extends ui{possiblyEvaluate(t,e){return e=new Qn(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=o({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}(Wo.paint.properties[\"line-width\"].specification);function tl(t,e){return e>0?e+2*t:t}Qo.useIntegerZoom=!0;const el=vi([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),rl=vi([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);vi([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const nl=vi([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);vi([{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\"}]);const il=vi([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),al=vi([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function sl(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Wn.applyArabicShaping&&(t=Wn.applyArabicShaping(t)),t}(t.text,e,r);})),t}vi([{name:\"triangle\",components:3,type:\"Uint16\"}]),vi([{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\"}]),vi([{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\"}]),vi([{type:\"Float32\",name:\"offsetX\"}]),vi([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);const ol={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var ll=24,ul=pl,cl=function(t,e,r,n,i){var a,s,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,f=t[e+h];for(h+=p,a=f&(1<<-c)-1,f>>=-c,c+=o;c>0;a=256*a+t[e+h],h+=p,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=n;c>0;s=256*s+t[e+h],h+=p,c-=8);if(0===a)a=1-u;else {if(a===l)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),a-=u;}return (f?-1:1)*s*Math.pow(2,a-n)},hl=function(t,e,r,n,i,a){var s,o,l,u=8*a-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(o=0,s=c):s+h>=1?(o=(e*l-1)*Math.pow(2,i),s+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[r+f]=255&o,f+=d,o/=256,i-=8);for(s=s<0;t[r+f]=255&s,f+=d,s/=256,u-=8);t[r+f-d]|=128*y;};function pl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}pl.Varint=0,pl.Fixed64=1,pl.Bytes=2,pl.Fixed32=5;var fl,dl=4294967296,yl=1/dl,ml=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function gl(t){return t.type===pl.Bytes?t.readVarint()+t.pos:t.pos+1}function xl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function vl(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 bl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function Pl(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Vl(t,e,r){1===t&&r.readMessage(El,e);}function El(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:a,left:s,top:o,advance:l}=r.readMessage(Fl,{});e.push({id:t,bitmap:new zs({width:i+6,height:a+6},n),metrics:{width:i,height:a,left:s,top:o,advance:l}});}}function Fl(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 Tl(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,a=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,a=Math.max(a,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t>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=Bl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Pl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Bl(this.buf,this.pos)+Bl(this.buf,this.pos+4)*dl;return this.pos+=8,t},readSFixed64:function(){var t=Bl(this.buf,this.pos)+Pl(this.buf,this.pos+4)*dl;return this.pos+=8,t},readFloat:function(){var t=cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=cl(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 xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return xl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return xl(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&&ml?function(t,e,r){return ml.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(s=t[i+2],128==(192&(a=t[i+1]))&&128==(192&s)&&((u=(15&l)<<12|(63&a)<<6|63&s)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(s=t[i+2],o=t[i+3],128==(192&(a=t[i+1]))&&128==(192&s)&&128==(192&o)&&((u=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}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!==pl.Bytes)return t.push(this.readVarint(e));var r=gl(this);for(t=t||[];this.pos127;);else if(e===pl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===pl.Fixed32)this.pos+=4;else {if(e!==pl.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;e268435455||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;a55295&&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&&vl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),hl(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),hl(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=128&&vl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,pl.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,bl,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,wl,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,kl,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,_l,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Al,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Sl,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Il,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Ml,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,zl,e);},writeBytesField:function(t,e){this.writeTag(t,pl.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,pl.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,pl.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};class Ll{constructor(t,{pixelRatio:e,version:r,stretchX:n,stretchY:i,content:a}){this.paddedRect=t,this.pixelRatio=e,this.stretchX=n,this.stretchY=i,this.content=a,this.version=r;}get tl(){return [this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return [this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return [(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Dl{constructor(t,e){const r={},n={};this.haveRenderCallbacks=[];const i=[];this.addImages(t,r,i),this.addImages(e,n,i);const{w:a,h:s}=Tl(i),o=new Bs({width:a||1,height:s||1});for(const e in t){const n=t[e],i=r[e].paddedRect;Bs.copy(n.data,o,{x:0,y:0},{x:i.x+1,y:i.y+1},n.data);}for(const t in e){const r=e[t],i=n[t].paddedRect,a=i.x+1,s=i.y+1,l=r.data.width,u=r.data.height;Bs.copy(r.data,o,{x:0,y:0},{x:a,y:s},r.data),Bs.copy(r.data,o,{x:0,y:u-1},{x:a,y:s-1},{width:l,height:1}),Bs.copy(r.data,o,{x:0,y:0},{x:a,y:s+u},{width:l,height:1}),Bs.copy(r.data,o,{x:l-1,y:0},{x:a-1,y:s},{width:1,height:u}),Bs.copy(r.data,o,{x:0,y:0},{x:a+l,y:s},{width:1,height:u});}this.image=o,this.iconPositions=r,this.patternPositions=n;}addImages(t,e,r){for(const n in t){const i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new Ll(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n);}}patchUpdatedImages(t,e){t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const r in t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e);}patchUpdatedImage(t,e,r){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[n,i]=t.tl;r.update(e.data,void 0,{x:n,y:i});}}Mn(\"ImagePosition\",Ll),Mn(\"ImageAtlas\",Dl),t.WritingMode=void 0,(fl=t.WritingMode||(t.WritingMode={}))[fl.none=0]=\"none\",fl[fl.horizontal=1]=\"horizontal\",fl[fl.vertical=2]=\"vertical\",fl[fl.horizontalOnly=3]=\"horizontalOnly\";const $l=-17;class Rl{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null;}static forText(t,e){const r=new Rl;return r.scale=t||1,r.fontStack=e,r}static forImage(t){const e=new Rl;return e.imageName=t,e}}class Ul{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;}static fromFeature(t,e){const r=new Ul;for(let n=0;n=0&&r>=t&&ql[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e);}substring(t,e){const r=new Ul;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Rl.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Ol(e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m){const g=Ul.fromFeature(e,a);let x;p===t.WritingMode.vertical&&g.verticalizePunctuation();const{processBidirectionalText:v,processStyledBidirectionalText:b}=Wn;if(v&&1===g.sections.length){x=[];const t=v(g.toString(),Xl(g,c,s,r,i,d,y));for(const e of t){const t=new Ul;t.text=e,t.sections=g.sections;for(let r=0;r0&&n>_&&(_=n);}else {const t=n[y.fontStack],e=t&&t[g];if(e&&e.rect)A=e.rect,b=e.metrics;else {const t=r[y.fontStack],e=t&&t[g];if(!e)continue;b=e.metrics;}x=(a-y.scale)*ll;}I?(e.verticalizable=!0,w.push({glyph:g,imageName:k,x:f,y:d+x,vertical:I,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=S*y.scale+c):(w.push({glyph:g,imageName:k,x:f,y:d+x,vertical:I,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=b.advance*y.scale+c);}0!==w.length&&(y=Math.max(f-c,y),Hl(w,0,w.length-1,g,_)),f=0;const A=s*a+_;b.lineOffset=Math.max(_,l),d+=A,m=Math.max(A,m),++x;}var v;const b=d-$l,{horizontalAlign:w,verticalAlign:_}=Yl(o);((function(t,e,r,n,i,a,s,o,l){const u=(e-r)*i;let c=0;c=a!==s?-o*n-$l:(-n*l+.5)*s;for(const e of t)for(const t of e.positionedGlyphs)t.x+=u,t.y+=c;}))(e.positionedLines,g,w,_,y,m,s,b,a.length),e.top+=-_*b,e.bottom=e.top+b,e.left+=-w*y,e.right=e.left+y;}(_,r,n,i,x,o,l,u,p,c,f,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return !1;return !0}(w)&&_}const ql={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},jl={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function Nl(t,e,r,n,i,a){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*ll/a+i:0}{const n=r[e.fontStack],a=n&&n[t];return a?a.metrics.advance*e.scale+i:0}}function Kl(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let c=0;for(let r=0;r-r/2;){if(s--,s<0)return !1;o-=t[s].dist(a),a=t[s];}o+=t[s].dist(t[s+1]),s++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;s++,o+=e.dist(r);}return !0}function iu(t){let e=0;for(let r=0;ru){const c=(u-l)/a,h=Se(n.x,i.x,c),p=Se(n.y,i.y,c),f=new ru(h,p,i.angleTo(n),r);return f._round(),!s||nu(t,f,o,s,e)?f:void 0}l+=a;}}function lu(t,e,r,n,i,a,s,o,l){const u=au(n,a,s),c=su(n,i),h=c*s,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new ru(g,x,y,e);r._round(),n&&!nu(t,r,a,n,i)||f.push(r);}}h+=d;}return o||f.length||s||(f=uu(t,h/2,r,n,i,a,s,!0,l)),f}function cu(t,e,r,n,i){const a=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new S(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round():u.x>=n&&(u=new S(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new S(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round():u.y>=i&&(u=new S(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round()),l&&s.equals(l[l.length-1])||(l=[s],a.push(l)),l.push(u)))));}}return a}function hu(t,e,r,n){const i=[],a=t.image,s=a.pixelRatio,o=a.paddedRect.w-2,l=a.paddedRect.h-2,u=t.right-t.left,c=t.bottom-t.top,h=a.stretchX||[[0,o]],p=a.stretchY||[[0,l]],f=(t,e)=>t+e[1]-e[0],d=h.reduce(f,0),y=p.reduce(f,0),m=o-d,g=l-y;let x=0,v=d,b=0,w=y,_=0,A=m,k=0,I=g;if(a.content&&n){const t=a.content;x=pu(h,0,t[0]),b=pu(p,0,t[1]),v=pu(h,t[0],t[2]),w=pu(p,t[1],t[3]),_=t[0]-x,k=t[1]-b,A=t[2]-t[0]-v,I=t[3]-t[1]-w;}const M=(n,i,o,l)=>{const h=du(n.stretch-x,v,u,t.left),p=yu(n.fixed-_,A,n.stretch,d),f=du(i.stretch-b,w,c,t.top),m=yu(i.fixed-k,I,i.stretch,y),g=du(o.stretch-x,v,u,t.left),M=yu(o.fixed-_,A,o.stretch,d),z=du(l.stretch-b,w,c,t.top),B=yu(l.fixed-k,I,l.stretch,y),C=new S(h,f),P=new S(g,f),V=new S(g,z),E=new S(h,z),F=new S(p/s,m/s),T=new S(M/s,B/s),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];C._matMult(r),P._matMult(r),E._matMult(r),V._matMult(r);}const D=n.stretch+n.fixed,$=i.stretch+i.fixed;return {tl:C,tr:P,bl:E,br:V,tex:{x:a.paddedRect.x+1+D,y:a.paddedRect.y+1+$,w:o.stretch+o.fixed-D,h:l.stretch+l.fixed-$},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:F,pixelOffsetBR:T,minFontScaleX:A/s/u,minFontScaleY:I/s/c,isSDF:r}};if(n&&(a.stretchX||a.stretchY)){const t=fu(h,m,d),e=fu(p,g,y);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n);}else {let l=a.top*s-o[0],c=a.bottom*s+o[2],h=a.left*s-o[3],p=a.right*s+o[1];const f=a.collisionPadding;if(f&&(h-=f[0]*s,l-=f[1]*s,p+=f[2]*s,c+=f[3]*s),u){const t=new S(h,l),e=new S(p,l),r=new S(h,c),n=new S(p,c),i=u*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),h=Math.min(t.x,e.x,r.x,n.x),p=Math.max(t.x,e.x,r.x,n.x),l=Math.min(t.y,e.y,r.y,n.y),c=Math.max(t.y,e.y,r.y,n.y);}t.emplaceBack(e.x,e.y,h,l,p,c,r,n,i);}this.boxEndIndex=t.length;}}class gu{constructor(t=[],e=xu){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this.length++,this._up(this.length-1);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=a,t=n;}e[t]=i;}}function xu(t,e){return te?1:0}function vu(t,e=1,r=!1){let n=1/0,i=1/0,a=-1/0,s=-1/0;const o=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>s)&&(s=e.y);}const l=Math.min(a-n,s-i);let u=l/2;const c=new gu([],bu);if(0===l)return new S(n,i);for(let e=n;eh.d||!h.d)&&(h=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,p)),n.max-h.d<=e||(u=n.h/2,c.push(new wu(n.p.x-u,n.p.y-u,u,t)),c.push(new wu(n.p.x+u,n.p.y-u,u,t)),c.push(new wu(n.p.x-u,n.p.y+u,u,t)),c.push(new wu(n.p.x+u,n.p.y+u,u,t)),p+=4);}return r&&(console.log(`num probes: ${p}`),console.log(`best distance: ${h.d}`)),h.p}function bu(t,e){return e.max-t.max}function wu(t,e,r,n){this.p=new S(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(r=!r),n=Math.min(n,rs(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}const _u=Number.POSITIVE_INFINITY;function Au(t,e){return e[1]!==_u?function(t,e,r){let 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){let r=0,n=0;e<0&&(e=0);const 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 ku(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 Su(e,r,n,i,a,s,o,l,u,c,h){let p=s.textMaxSize.evaluate(r,{});void 0===p&&(p=o);const f=e.layers[0].layout,y=f.get(\"icon-offset\").evaluate(r,{},h),m=zu(n.horizontal),g=o/24,x=e.tilePixelRatio*g,v=e.tilePixelRatio*p/24,b=e.tilePixelRatio*l,w=e.tilePixelRatio*f.get(\"symbol-spacing\"),_=f.get(\"text-padding\")*e.tilePixelRatio,A=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),a=i&&i.values;return [a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(f,r,h,e.tilePixelRatio),k=f.get(\"text-max-angle\")/180*Math.PI,S=\"viewport\"!==f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),M=f.get(\"symbol-placement\"),z=w/2,B=f.get(\"icon-text-fit\");let C;i&&\"none\"!==B&&(e.allowVerticalPlacement&&n.vertical&&(C=Ql(i,n.vertical,B,f.get(\"icon-text-fit-padding\"),y,g)),m&&(i=Ql(i,m,B,f.get(\"icon-text-fit-padding\"),y,g)));const P=(l,p)=>{p.x<0||p.x>=qa||p.y<0||p.y>=qa||function(e,r,n,i,a,s,o,l,u,c,h,p,f,y,m,g,x,v,b,w,_,A,k,S,I){const M=e.addToLineVertexArray(r,n);let z,B,C,P,V=0,E=0,F=0,T=0,L=-1,D=-1;const $={};let R=xa.exports(\"\"),U=0,O=0;if(void 0===l._unevaluatedLayout.getValue(\"text-radial-offset\")?[U,O]=l.layout.get(\"text-offset\").evaluate(_,{},S).map((t=>t*ll)):(U=l.layout.get(\"text-radial-offset\").evaluate(_,{},S)*ll,O=_u),e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(_,{},S)+90;C=new mu(u,r,c,h,p,i.vertical,f,y,m,t),o&&(P=new mu(u,r,c,h,p,o,x,v,m,t));}if(a){const n=l.layout.get(\"icon-rotate\").evaluate(_,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),s=hu(a,n,k,i),f=o?hu(o,n,k,i):void 0;B=new mu(u,r,c,h,p,a,x,v,!1,n),V=4*s.length;const y=e.iconSizeData;let m=null;\"source\"===y.kind?(m=[tu*l.layout.get(\"icon-size\").evaluate(_,{})],m[0]>Iu&&d(`${e.layerIds[0]}: Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".`)):\"composite\"===y.kind&&(m=[tu*A.compositeIconSizes[0].evaluate(_,{},S),tu*A.compositeIconSizes[1].evaluate(_,{},S)],(m[0]>Iu||m[1]>Iu)&&d(`${e.layerIds[0]}: Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,s,m,w,b,_,t.WritingMode.none,r,M.lineStartIndex,M.lineLength,-1,S),L=e.icon.placedSymbolArray.length-1,f&&(E=4*f.length,e.addSymbols(e.icon,f,m,w,b,_,t.WritingMode.vertical,r,M.lineStartIndex,M.lineLength,-1,S),D=e.icon.placedSymbolArray.length-1);}const q=Object.keys(i.horizontal);for(const n of q){const a=i.horizontal[n];if(!z){R=xa.exports(a.text);const t=l.layout.get(\"text-rotate\").evaluate(_,{},S);z=new mu(u,r,c,h,p,a,f,y,m,t);}const o=1===a.positionedLines.length;if(F+=Mu(e,r,a,s,l,m,_,g,M,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,o?q:[n],$,L,A,S),o)break}i.vertical&&(T+=Mu(e,r,i.vertical,s,l,m,_,g,M,t.WritingMode.vertical,[\"vertical\"],$,D,A,S));const j=z?z.boxStartIndex:e.collisionBoxArray.length,N=z?z.boxEndIndex:e.collisionBoxArray.length,K=C?C.boxStartIndex:e.collisionBoxArray.length,Z=C?C.boxEndIndex:e.collisionBoxArray.length,G=B?B.boxStartIndex:e.collisionBoxArray.length,J=B?B.boxEndIndex:e.collisionBoxArray.length,X=P?P.boxStartIndex:e.collisionBoxArray.length,Y=P?P.boxEndIndex:e.collisionBoxArray.length;let H=-1;const W=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;H=W(z,H),H=W(C,H),H=W(B,H),H=W(P,H);const Q=H>-1?1:0;Q&&(H*=I/ll),e.glyphOffsetArray.length>=Du.MAX_GLYPHS&&d(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==_.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,_.sortKey),e.symbolInstances.emplaceBack(r.x,r.y,$.right>=0?$.right:-1,$.center>=0?$.center:-1,$.left>=0?$.left:-1,$.vertical||-1,L,D,R,j,N,K,Z,G,J,X,Y,c,F,T,V,E,Q,0,f,U,O,H);}(e,p,l,n,i,a,C,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,x,[_,_,_,_],S,u,b,A,I,y,r,s,c,h,o);};if(\"line\"===M)for(const t of cu(r.geometry,0,0,qa,qa)){const r=lu(t,w,k,n.vertical||m,i,24,v,e.overscaling,qa);for(const n of r){const r=m;r&&Bu(e,r.text,z,n)||P(t,n);}}else if(\"line-center\"===M){for(const t of r.geometry)if(t.length>1){const e=ou(t,k,n.vertical||m,i,24,v);e&&P(t,e);}}else if(\"Polygon\"===r.type)for(const t of ho(r.geometry,0)){const e=vu(t,16);P(t[0],new ru(e.x,e.y,0));}else if(\"LineString\"===r.type)for(const t of r.geometry)P(t,new ru(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)P([e],new ru(e.x,e.y,0));}const Iu=32640;function Mu(t,e,r,n,i,a,s,o,l,u,c,h,p,f,y){const m=function(t,e,r,n,i,a,s,o){const l=n.layout.get(\"text-rotate\").evaluate(a,{})*Math.PI/180,u=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const a=n.rect||{};let c=4,h=!0,p=1,f=0;const d=(i||o)&&n.vertical,y=n.metrics.advance*n.scale/2;if(o&&e.verticalizable){const e=(n.scale-1)*ll,r=(ll-n.metrics.width*n.scale)/2;f=t.lineOffset/2-(n.imageName?-r:e);}if(n.imageName){const t=s[n.imageName];h=t.sdf,p=t.pixelRatio,c=1/p;}const m=i?[n.x+y,n.y]:[0,0];let g=i?[0,0]:[n.x+y+r[0],n.y+r[1]-f],x=[0,0];d&&(x=g,g=[0,0]);const v=(n.metrics.left-c)*n.scale-y+g[0],b=(-n.metrics.top-c)*n.scale+g[1],w=v+a.w*n.scale/p,_=b+a.h*n.scale/p,A=new S(v,b),k=new S(w,b),I=new S(v,_),M=new S(w,_);if(d){const t=new S(-y,y-$l),e=-Math.PI/2,r=12-y,i=new S(22-r,-(n.imageName?r:0)),a=new S(...x);A._rotateAround(e,t)._add(i)._add(a),k._rotateAround(e,t)._add(i)._add(a),I._rotateAround(e,t)._add(i)._add(a),M._rotateAround(e,t)._add(i)._add(a);}if(l){const t=Math.sin(l),e=Math.cos(l),r=[e,-t,t,e];A._matMult(r),k._matMult(r),I._matMult(r),M._matMult(r);}const z=new S(0,0),B=new S(0,0);u.push({tl:A,tr:k,bl:I,br:M,tex:a,writingMode:e.writingMode,glyphOffset:m,sectionIndex:n.sectionIndex,isSDF:h,pixelOffsetTL:z,pixelOffsetBR:B,minFontScaleX:0,minFontScaleY:0});}return u}(0,r,o,i,a,s,n,t.allowVerticalPlacement),g=t.textSizeData;let x=null;\"source\"===g.kind?(x=[tu*i.layout.get(\"text-size\").evaluate(s,{})],x[0]>Iu&&d(`${t.layerIds[0]}: Value for \"text-size\" is >= 255. Reduce your \"text-size\".`)):\"composite\"===g.kind&&(x=[tu*f.compositeTextSizes[0].evaluate(s,{},y),tu*f.compositeTextSizes[1].evaluate(s,{},y)],(x[0]>Iu||x[1]>Iu)&&d(`${t.layerIds[0]}: Value for \"text-size\" is >= 255. Reduce your \"text-size\".`)),t.addSymbols(t.text,m,x,o,a,s,u,e,l.lineStartIndex,l.lineLength,p,y);for(const e of c)h[e]=t.text.placedSymbolArray.length-1;return 4*m.length}function zu(t){for(const e in t)return t[e];return null}function Bu(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])t.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ds([]),this.placementViewportMatrix=ds([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=eu(this.zoom,r[\"text-size\"]),this.iconSizeData=eu(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),a=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==qu(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==qu(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==a&&!i.isConstant(),this.sortFeaturesByY=(\"viewport-y\"===a||\"auto\"===a&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID;}createArrays(){this.text=new Tu(new Ra(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Tu(new Ra(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Xi,this.lineVertexArray=new Yi,this.symbolInstances=new Ji;}calculateGlyphDependencies(t,e,r,n,i){for(let a=0;a0)&&(\"constant\"!==s.value.kind||s.value.value.length>0),c=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get(\"symbol-sort-key\");if(this.features=[],!u&&!c)return;const p=r.iconDependencies,f=r.glyphDependencies,d=r.availableImages,y=new Qn(this.zoom);for(const{feature:r,id:o,index:l,sourceLayerIndex:m}of e){const e=i._featureFilter.needGeometry,g=Za(r,e);if(!i._featureFilter.filter(y,g,n))continue;let x,v;if(e||(g.geometry=Ka(r)),u){const t=i.getValueAndResolveTokens(\"text-field\",g,n,d),e=Dt.factory(t);Fu(e)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===Yn()||this.hasRTLText&&Wn.isParsed())&&(x=sl(e,i,g));}if(c){const t=i.getValueAndResolveTokens(\"icon-image\",g,n,d);v=t instanceof Rt?t:Rt.fromString(t);}if(!x&&!v)continue;const b=this.sortFeaturesByKey?h.evaluate(g,{},n):void 0;if(this.features.push({id:o,text:x,icon:v,index:l,sourceLayerIndex:m,geometry:g.geometry,properties:r.properties,type:Cu[r.type],sortKey:b}),v&&(p[v.name]=!0),x){const e=s.evaluate(g,{},n).join(\",\"),r=\"viewport\"!==a.get(\"text-rotation-alignment\")&&\"point\"!==a.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of x.sections)if(t.image)p[t.image.name]=!0;else {const n=En(x.toString()),i=t.fontStack||e,a=f[i]=f[i]||{};this.calculateGlyphDependencies(t.text,a,r,this.allowVerticalPlacement,n);}}}\"line\"===a.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function a(e){n.push(t[e]),i++;}function s(t,e,i){const 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 o(t,r,i){const 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 l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(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;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),a}addToSortKeyRanges(t,e){const 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});}sortFeatures(t){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(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t);})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}Mn(\"SymbolBucket\",Du,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Du.MAX_GLYPHS=65535,Du.addDynamicAttributes=Eu;const $u=new fi({\"symbol-placement\":new li(nt.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new li(nt.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new li(nt.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new ui(nt.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new li(nt.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new li(nt.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new li(nt.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new li(nt.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new li(nt.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new li(nt.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new ui(nt.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new li(nt.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new li(nt.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new ui(nt.layout_symbol[\"icon-image\"]),\"icon-rotate\":new ui(nt.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new ui(nt.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new li(nt.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new ui(nt.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new ui(nt.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new li(nt.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new li(nt.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new li(nt.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new ui(nt.layout_symbol[\"text-field\"]),\"text-font\":new ui(nt.layout_symbol[\"text-font\"]),\"text-size\":new ui(nt.layout_symbol[\"text-size\"]),\"text-max-width\":new ui(nt.layout_symbol[\"text-max-width\"]),\"text-line-height\":new li(nt.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new ui(nt.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new ui(nt.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new ui(nt.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new li(nt.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new ui(nt.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new li(nt.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new li(nt.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new ui(nt.layout_symbol[\"text-rotate\"]),\"text-padding\":new li(nt.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new li(nt.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new ui(nt.layout_symbol[\"text-transform\"]),\"text-offset\":new ui(nt.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new li(nt.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new li(nt.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new li(nt.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new li(nt.layout_symbol[\"text-optional\"])});var Ru={paint:new fi({\"icon-opacity\":new ui(nt.paint_symbol[\"icon-opacity\"]),\"icon-color\":new ui(nt.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new ui(nt.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new ui(nt.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new ui(nt.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new li(nt.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new li(nt.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new ui(nt.paint_symbol[\"text-opacity\"]),\"text-color\":new ui(nt.paint_symbol[\"text-color\"],{runtimeType:yt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new ui(nt.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new ui(nt.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new ui(nt.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new li(nt.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new li(nt.paint_symbol[\"text-translate-anchor\"])}),layout:$u};class Uu{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:ht,this.defaultValue=t;}evaluate(t){if(t.formattedSection){const 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}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);}outputDefined(){return !1}serialize(){return null}}Mn(\"FormatSectionOverride\",Uu,{omit:[\"defaultValue\"]});class Ou extends yi{constructor(t){super(t,Ru);}recalculate(t,e){if(super.recalculate(t,e),\"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\"]=\"map\"===this.layout.get(\"text-rotation-alignment\")?\"map\":\"viewport\"),\"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\")){const t=this.layout.get(\"text-writing-mode\");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values[\"text-writing-mode\"]=e;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Er(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new Du(t)}queryRadius(){return 0}queryIntersectsFeature(){return !1}_setPaintOverrides(){for(const t of Ru.paint.overridableProperties){if(!Ou.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new Uu(e),n=new Vr(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new Tr(\"source\",n):new Lr(\"composite\",n,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new si(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&Ou.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=Ru.paint.properties[e];let i=!1;const a=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof Dt)a(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof Nt&&qt(e.value)===vt?a(e.value.sections):e instanceof cr?a(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}}function qu(t,e,r){let n=\"never\";const i=t.get(e);return i?n=i:t.get(r)&&(n=\"always\"),n}var ju={paint:new fi({\"background-color\":new li(nt.paint_background[\"background-color\"]),\"background-pattern\":new hi(nt.paint_background[\"background-pattern\"]),\"background-opacity\":new li(nt.paint_background[\"background-opacity\"])})},Nu={paint:new fi({\"raster-opacity\":new li(nt.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new li(nt.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new li(nt.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new li(nt.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new li(nt.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new li(nt.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new li(nt.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new li(nt.paint_raster[\"raster-fade-duration\"])})};class Ku extends yi{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},this.implementation=t;}is3D(){return \"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return !1}serialize(){}}const Zu={circle:class extends yi{constructor(t){super(t,cs);}createBucket(t){return new Ja(t)}queryRadius(t){const e=t;return ss(\"circle-radius\",this,e)+ss(\"circle-stroke-width\",this,e)+os(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,s,o){const l=ls(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,s),u=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),c=\"map\"===this.paint.get(\"circle-pitch-alignment\"),h=c?l:function(t,e){return t.map((t=>_s(t,e)))}(l,o),p=c?u*s:u;for(const t of n)for(const e of t){const t=c?e:_s(e,o);let r=p;const n=bs([],[e.x,e.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?r*=n[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=a.cameraToCenterDistance/n[3]),Ya(h,t,r))return !0}return !1}},heatmap:class extends yi{constructor(t){super(t,ks),this._updateColorRamp();}createBucket(t){return new As(t)}_handleSpecialPaintPropertyUpdate(t){\"heatmap-color\"===t&&this._updateColorRamp();}_updateColorRamp(){this.colorRamp=Cs({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null;}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);}queryRadius(){return 0}queryIntersectsFeature(){return !1}hasOffscreenPass(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility}},hillshade:class extends yi{constructor(t){super(t,Ps);}hasOffscreenPass(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility}},fill:class extends yi{constructor(t){super(t,xo);}recalculate(t,e){super.recalculate(t,e);const r=this.paint._values[\"fill-outline-color\"];\"constant\"===r.value.kind&&void 0===r.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"]);}createBucket(t){return new mo(t)}queryRadius(){return os(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,s){return Ha(ls(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),a.angle,s),n)}isTileClipped(){return !0}},\"fill-extrusion\":class extends yi{constructor(t){super(t,Uo);}createBucket(t){return new Do(t)}queryRadius(){return os(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}queryIntersectsFeature(t,e,r,n,i,a,s,o){const l=ls(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),a.angle,s),u=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){const i=[];for(const r of t){const t=[r.x,r.y,0,1];bs(t,t,e),i.push(new S(t[0]/t[3],t[1]/t[3]));}return i}(l,o),p=function(t,e,r,n){const i=[],a=[],s=n[8]*e,o=n[9]*e,l=n[10]*e,u=n[11]*e,c=n[8]*r,h=n[9]*r,p=n[10]*r,f=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,a=i.y,d=n[0]*e+n[4]*a+n[12],y=n[1]*e+n[5]*a+n[13],m=n[2]*e+n[6]*a+n[14],g=n[3]*e+n[7]*a+n[15],x=m+l,v=g+u,b=d+c,w=y+h,_=m+p,A=g+f,k=new S((d+s)/v,(y+o)/v);k.z=x/v,t.push(k);const I=new S(b/A,w/A);I.z=_/A,r.push(I);}i.push(t),a.push(r);}return [i,a]}(n,c,u,o);return function(t,e,r){let n=1/0;Ha(r,e)&&(n=qo(r,e[0]));for(let i=0;i=3)for(let e=0;e{this._triggered=!1,this._callback();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback();}),0));}remove(){delete this._channel,this._callback=()=>{};}}const Ju=6371008.8;class Xu{constructor(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\")}wrap(){return new Xu(s(this.lng,-180,180),this.lat)}toArray(){return [this.lng,this.lat]}toString(){return `LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const 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 Ju*Math.acos(Math.min(i,1))}toBounds(t=0){const e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Yu(new Xu(this.lng-r,this.lat-e),new Xu(this.lng+r,this.lat+e))}static convert(t){if(t instanceof Xu)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Xu(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Xu(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: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}class Yu{constructor(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]));}setNorthEast(t){return this._ne=t instanceof Xu?new Xu(t.lng,t.lat):Xu.convert(t),this}setSouthWest(t){return this._sw=t instanceof Xu?new Xu(t.lng,t.lat):Xu.convert(t),this}extend(t){const e=this._sw,r=this._ne;let n,i;if(t instanceof Xu)n=t,i=t;else {if(!(t instanceof Yu))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Yu.convert(t)):this.extend(Xu.convert(t)):this;if(n=t._sw,i=t._ne,!n||!i)return this}return e||r?(e.lng=Math.min(n.lng,e.lng),e.lat=Math.min(n.lat,e.lat),r.lng=Math.max(i.lng,r.lng),r.lat=Math.max(i.lat,r.lat)):(this._sw=new Xu(n.lng,n.lat),this._ne=new Xu(i.lng,i.lat)),this}getCenter(){return new Xu((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Xu(this.getWest(),this.getNorth())}getSouthEast(){return new Xu(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return [this._sw.toArray(),this._ne.toArray()]}toString(){return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return !(this._sw&&this._ne)}contains(t){const{lng:e,lat:r}=Xu.convert(t);let n=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&n}static convert(t){return t instanceof Yu?t:t?new Yu(t):t}}const Hu=2*Math.PI*Ju;function Wu(t){return Hu*Math.cos(t*Math.PI/180)}function Qu(t){return (180+t)/360}function tc(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function ec(t,e){return t/Wu(e)}function rc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class nc{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=Xu.convert(t);return new nc(Qu(r.lng),tc(r.lat),ec(e,r.lat))}toLngLat(){return new Xu(360*this.x-180,rc(this.y))}toAltitude(){return this.z*Wu(rc(this.y))}meterInMercatorCoordinateUnits(){return 1/Hu*(t=rc(this.y),1/Math.cos(t*Math.PI/180));var t;}}function ic(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]}class ac{constructor(t,e,r){this.z=t,this.x=e,this.y=r,this.key=lc(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(a=this.y,s=this.z,o=ic(256*(i=this.x),256*(a=Math.pow(2,s)-a-1),s),l=ic(256*(i+1),256*(a+1),s),o[0]+\",\"+o[1]+\",\"+l[0]+\",\"+l[1]);var i,a,s,o,l;const u=function(t,e,r){let n,i=\"\";for(let a=t;a>0;a--)n=1<1?\"@2x\":\"\").replace(/{quadkey}/g,u).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new S((t.x*e-this.x)*qa,(t.y*e-this.y)*qa)}toString(){return `${this.z}/${this.x}/${this.y}`}}class sc{constructor(t,e){this.wrap=t,this.canonical=e,this.key=lc(t,e.z,e.z,e.x,e.y);}}class oc{constructor(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new ac(r,+n,+i),this.key=lc(e,t,r,n,i);}clone(){return new oc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){const e=this.canonical.z-t;return t>this.canonical.z?new oc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new oc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){const r=this.canonical.z-t;return t>this.canonical.z?lc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):lc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return !1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return [new oc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new oc(e,this.wrap,e,r,n),new oc(e,this.wrap,e,r+1,n),new oc(e,this.wrap,e,r,n+1),new oc(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=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)}_unpackMapbox(t,e,r){return (256*t*256+256*e+r)/10-1e4}_unpackTerrarium(t,e,r){return 256*t+e+r/256-32768}getPixels(){return new Bs({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,s=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:a=s-1;break;case 1:s=a+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=a;e=0&&n[3]>=0&&o.insert(s,n[0],n[1],n[2],n[3]);}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new _o.VectorTile(new ul(this.rawTileData)).layers,this.sourceLayerCoder=new cc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},a=qa/t.tileSize/t.scale,s=Jr(i.filter),o=t.queryGeometry,l=t.queryPadding*a,u=dc(o),c=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),h=dc(t.cameraQueryGeometry),p=this.grid3D.query(h.minX-l,h.minY-l,h.maxX+l,h.maxY+l,((e,r,n,i)=>function(t,e,r,n,i){for(const a of t)if(e<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return !0;const a=[new S(e,r),new S(e,i),new S(n,i),new S(n,r)];if(t.length>2)for(const e of a)if(is(t,e))return !0;for(let e=0;e(p||(p=Ka(e)),r.queryIntersectsFeature(o,e,n,p,this.z,t.transform,a,t.pixelPosMatrix))));}return f}loadMatchingFeature(t,e,r,n,i,a,s,l,u,c,h){const p=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let r=0;r=0)return !0;return !1}(a,p))return;const f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){const t=Za(d,!0);if(!i.filter(new Qn(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Qn(this.tileID.overscaledZ),d))return;const y=this.getId(d,f);for(let e=0;e{const s=e instanceof oi?e.get(a):null;return s&&s.evaluate?s.evaluate(r,n,i):s}))}function dc(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return {minX:e,minY:r,maxX:n,maxY:i}}function yc(t,e){return e-t}var mc;Mn(\"FeatureIndex\",pc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]}),t.PerformanceMarkers=void 0,(mc=t.PerformanceMarkers||(t.PerformanceMarkers={})).create=\"create\",mc.load=\"load\",mc.fullLoad=\"fullLoad\";let gc=null,xc=[];const vc=1e3/30,bc={mark(t){performance.mark(t);},frame(t){const e=t;null!=gc&&xc.push(e-gc),gc=e;},clearMetrics(){gc=null,xc=[],performance.clearMeasures(\"loadTime\"),performance.clearMeasures(\"fullLoadTime\");for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e]);},getPerformanceMetrics(){performance.measure(\"loadTime\",t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure(\"fullLoadTime\",t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName(\"loadTime\")[0].duration,r=performance.getEntriesByName(\"fullLoadTime\")[0].duration,n=xc.length,i=1/(xc.reduce(((t,e)=>t+e),0)/n/1e3),a=xc.filter((t=>t>vc)).reduce(((t,e)=>t+(e-vc)/vc),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100}}};t.AJAXError=q,t.ARRAY_TYPE=ps,t.Actor=class{constructor(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},u([\"receive\",\"process\"],this),this.invoker=new Gu(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=g()?t:window;}send(t,e,r,n,i=!1){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[a]=r);const s=_(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Bn(e,s)},s),{cancel:()=>{r&&delete this.callbacks[a],this.target.postMessage({id:a,type:\"\",targetMapId:n,sourceMapId:this.mapId});}}}receive(t){const e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){delete this.tasks[r];const t=this.cancelCallbacks[r];delete this.cancelCallbacks[r],t&&t();}else g()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e);}process(){if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e);}processTask(t,e){if(\"\"===e.type){const r=this.callbacks[t];delete this.callbacks[t],r&&(e.error?r(Cn(e.error)):r(null,Cn(e.data)));}else {let r=!1;const n=_(this.globalScope)?void 0:[],i=e.hasCallback?(e,i)=>{r=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:\"\",sourceMapId:this.mapId,error:e?Bn(e):null,data:Bn(i,n)},n);}:t=>{r=!0;};let a=null;const s=Cn(e.data);if(this.parent[e.type])a=this.parent[e.type](e.sourceMapId,s,i);else if(this.parent.getWorkerSource){const t=e.type.split(\".\");a=this.parent.getWorkerSource(e.sourceMapId,t[0],s.source)[t[1]](s,i);}else i(new Error(`Could not find function ${e.type}`));!r&&a&&a.cancel&&(this.cancelCallbacks[t]=a.cancel);}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1);}},t.AlphaImage=zs,t.CanonicalTileID=ac,t.CollisionBoxArray=Ni,t.CollisionCircleLayoutArray=class extends Vi{},t.Color=Ft,t.DEMData=uc,t.DataConstantProperty=li,t.DictionaryCoder=cc,t.EXTENT=qa,t.ErrorEvent=et,t.EvaluationParameters=Qn,t.Event=tt,t.Evented=rt,t.FeatureIndex=pc,t.FillBucket=mo,t.FillExtrusionBucket=Do,t.GeoJSONFeature=hc,t.ImageAtlas=Dl,t.ImagePosition=Ll,t.LineBucket=Yo,t.LineStripIndexArray=class extends Oi{},t.LngLat=Xu,t.LngLatBounds=Yu,t.MercatorCoordinate=nc,t.ONE_EM=ll,t.OverscaledTileID=oc,t.PerformanceUtils=bc,t.PosArray=Qi,t.Properties=fi,t.QuadTriangleArray=class extends Fi{},t.RGBAImage=Bs,t.RasterBoundsArray=class extends _i{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},performance.mark(this._marks.start);}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.ResourceType=O,t.SegmentVector=ya,t.SymbolBucket=Du,t.Transitionable=ri,t.TriangleIndexArray=ha,t.Uniform1f=za,t.Uniform1i=class extends Ma{constructor(t,e){super(t,e),this.current=0;}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t));}},t.Uniform2f=class extends Ma{constructor(t,e){super(t,e),this.current=[0,0];}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]));}},t.Uniform3f=class extends Ma{constructor(t,e){super(t,e),this.current=[0,0,0];}set(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]));}},t.Uniform4f=Ba,t.UniformColor=Ca,t.UniformMatrix4f=class extends Ma{constructor(t,e){super(t,e),this.current=Pa;}set(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(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=sc,t.ValidationError=it,t.ZoomHistory=Pn,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=Eu,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);let n=t.length;const i=new Array(t.length);let a=null;t.forEach(((t,s)=>{e(t,((t,e)=>{t&&(a=t),i[s]=e,0==--n&&r(a,i);}));}));},t.bezier=n,t.bindAll=u,t.cacheEntryPossiblyAdded=function(t){F++,F>V&&(t.getActor().send(\"enforceCacheSizeLimit\",P),F=0);},t.clamp=a,t.clearTileCache=function(t){const e=caches.delete(z);t&&e.catch(t).then((()=>t()));},t.clipLine=cu,t.clone=function(t){var e=new ps(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=p,t.clone$2=function(t){var e=new ps(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=al,t.config=M,t.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],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},t.create=function(){var t=new ps(16);return ps!=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=fs,t.createExpression=Fr,t.createFilter=Jr,t.createLayout=vi,t.createStyleLayer=function(t){return \"custom\"===t.type?new Ku(t):new Zu[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],s=r[0],o=r[1],l=r[2];return t[0]=i*l-a*o,t[1]=a*s-n*l,t[2]=n*o-i*s,t},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=i,t.emitValidationErrors=kn,t.enforceCacheSizeLimit=function(t){E(),B&&B.then((e=>{e.keys().then((r=>{for(let n=0;n{}}},t.identity=ds,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],p=e[10],f=e[11],d=e[12],y=e[13],m=e[14],g=e[15],x=r*o-n*s,v=r*l-i*s,b=r*u-a*s,w=n*l-i*o,_=n*u-a*o,A=i*u-a*l,k=c*y-h*d,S=c*m-p*d,I=c*g-f*d,M=h*m-p*y,z=h*g-f*y,B=p*g-f*m,C=x*B-v*z+b*M+w*I-_*S+A*k;return C?(t[0]=(o*B-l*z+u*M)*(C=1/C),t[1]=(i*z-n*B-a*M)*C,t[2]=(y*A-m*_+g*w)*C,t[3]=(p*_-h*A-f*w)*C,t[4]=(l*I-s*B-u*S)*C,t[5]=(r*B-i*I+a*S)*C,t[6]=(m*b-d*A-g*v)*C,t[7]=(c*A-p*b+f*v)*C,t[8]=(s*z-o*I+u*k)*C,t[9]=(n*I-r*z-a*k)*C,t[10]=(d*_-y*b+g*x)*C,t[11]=(h*b-c*_-f*x)*C,t[12]=(o*S-s*M-l*k)*C,t[13]=(r*M-n*S+i*k)*C,t[14]=(y*v-d*w-m*x)*C,t[15]=(c*w-h*v+p*x)*C,t):null},t.isImageBitmap=A,t.isSafari=_,t.isWorker=g,t.keysDifference=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.lazyLoadRTLTextPlugin=function(){Wn.isLoading()||Wn.isLoaded()||\"deferred\"!==Yn()||Hn();},t.makeRequest=K,t.mapObject=c,t.mercatorXfromLng=Qu,t.mercatorYfromLat=tc,t.mercatorZfromAltitude=ec,t.mul=gs,t.mul$1=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t},t.multiply=ys,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=Se,t.ortho=function(t,e,r,n,i,a,s){var o=1/(e-r),l=1/(n-i),u=1/(a-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*o,t[13]=(i+n)*l,t[14]=(s+a)*u,t[15]=1,t},t.parseCacheControl=x,t.parseGlyphPbf=function(t){return new ul(t).readFields(Vl,[])},t.pbf=ul,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=qa/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const r=e.bucket.layers[0].layout,n=e.bucket.layers[0]._unevaluatedLayout._values,i={layoutIconSize:n[\"icon-size\"].possiblyEvaluate(new Qn(e.bucket.zoom+1),e.canonical),layoutTextSize:n[\"text-size\"].possiblyEvaluate(new Qn(e.bucket.zoom+1),e.canonical),textMaxSize:n[\"text-size\"].possiblyEvaluate(new Qn(18))};if(\"composite\"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:r}=e.bucket.textSizeData;i.compositeTextSizes=[n[\"text-size\"].possiblyEvaluate(new Qn(t),e.canonical),n[\"text-size\"].possiblyEvaluate(new Qn(r),e.canonical)];}if(\"composite\"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:r}=e.bucket.iconSizeData;i.compositeIconSizes=[n[\"icon-size\"].possiblyEvaluate(new Qn(t),e.canonical),n[\"icon-size\"].possiblyEvaluate(new Qn(r),e.canonical)];}const a=r.get(\"text-line-height\")*ll,s=\"viewport\"!==r.get(\"text-rotation-alignment\")&&\"point\"!==r.get(\"symbol-placement\"),o=r.get(\"text-keep-upright\"),l=r.get(\"text-size\");for(const n of e.bucket.features){const u=r.get(\"text-font\").evaluate(n,{},e.canonical).join(\",\"),c=l.evaluate(n,{},e.canonical),h=i.layoutTextSize.evaluate(n,{},e.canonical),p=i.layoutIconSize.evaluate(n,{},e.canonical),f={horizontal:{},vertical:void 0},y=n.text;let m,g=[0,0];if(y){const i=y.toString(),l=r.get(\"text-letter-spacing\").evaluate(n,{},e.canonical)*ll,p=Fn(i)?l:0,d=r.get(\"text-anchor\").evaluate(n,{},e.canonical),m=r.get(\"text-variable-anchor\");if(!m){const t=r.get(\"text-radial-offset\").evaluate(n,{},e.canonical);g=t?Au(d,[t*ll,_u]):r.get(\"text-offset\").evaluate(n,{},e.canonical).map((t=>t*ll));}let x=s?\"center\":r.get(\"text-justify\").evaluate(n,{},e.canonical);const v=r.get(\"symbol-placement\"),b=\"point\"===v?r.get(\"text-max-width\").evaluate(n,{},e.canonical)*ll:0,w=()=>{e.bucket.allowVerticalPlacement&&En(i)&&(f.vertical=Ol(y,e.glyphMap,e.glyphPositions,e.imagePositions,u,b,a,d,\"left\",p,g,t.WritingMode.vertical,!0,v,h,c));};if(!s&&m){const r=\"auto\"===x?m.map((t=>ku(t))):[x];let n=!1;for(let i=0;ithis._layers[e.id])),o=t[0];if(\"none\"===o.visibility)continue;const i=o.source||\"\";let r=this.familiesBySource[i];r||(r=this.familiesBySource[i]={});const n=o.sourceLayer||\"_geojsonTileLayer\";let s=r[n];s||(s=r[n]=[]),s.push(t);}}}class r{constructor(t){const o={},i=[];for(const e in t){const r=t[e],n=o[e]={};for(const e in r){const t=r[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const o={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};i.push(o),n[e]={rect:o,metrics:t.metrics};}}const{w:r,h:n}=e.potpack(i),s=new e.AlphaImage({width:r||1,height:n||1});for(const i in t){const r=t[i];for(const t in r){const n=r[+t];if(!n||0===n.bitmap.width||0===n.bitmap.height)continue;const a=o[i][t].rect;e.AlphaImage.copy(n.bitmap,s,{x:0,y:0},{x:a.x+1,y:a.y+1},n.bitmap);}}this.image=s,this.positions=o;}}e.register(\"GlyphAtlas\",r);class n{constructor(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;}parse(t,o,i,n,a){this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;const l=new e.DictionaryCoder(Object.keys(t.layers).sort()),c=new e.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const u={},h={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:i},p=o.familiesBySource[this.source];for(const o in p){const r=t.layers[o];if(!r)continue;1===r.version&&e.warnOnce(`Vector tile source \"${this.source}\" layer \"${o}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const n=l.encode(o),a=[];for(let e=0;e=t.maxzoom||\"none\"!==t.visibility&&(s(e,this.zoom,i),(u[t.id]=t.createBucket({index:c.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:n,sourceID:this.source})).populate(a,h,this.tileID.canonical),c.bucketLayerIDs.push(e.map((e=>e.id))));}}let f,d,g,m;const y=e.mapObject(h.glyphDependencies,(e=>Object.keys(e).map(Number)));Object.keys(y).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:y},((e,t)=>{f||(f=e,d=t,w.call(this));})):d={};const v=Object.keys(h.iconDependencies);v.length?n.send(\"getImages\",{icons:v,source:this.source,tileID:this.tileID,type:\"icons\"},((e,t)=>{f||(f=e,g=t,w.call(this));})):g={};const x=Object.keys(h.patternDependencies);function w(){if(f)return a(f);if(d&&g&&m){const t=new r(d),o=new e.ImageAtlas(g,m);for(const r in u){const n=u[r];n instanceof e.SymbolBucket?(s(n.layers,this.zoom,i),e.performSymbolLayout({bucket:n,glyphMap:d,glyphPositions:t.positions,imageMap:g,imagePositions:o.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):n.hasPattern&&(n instanceof e.LineBucket||n instanceof e.FillBucket||n instanceof e.FillExtrusionBucket)&&(s(n.layers,this.zoom,i),n.addFeatures(h,this.tileID.canonical,o.patternPositions));}this.status=\"done\",a(null,{buckets:Object.values(u).filter((e=>!e.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:o,glyphMap:this.returnDependencies?d:null,iconMap:this.returnDependencies?g:null,glyphPositions:this.returnDependencies?t.positions:null});}}x.length?n.send(\"getImages\",{icons:x,source:this.source,tileID:this.tileID,type:\"patterns\"},((e,t)=>{f||(f=e,m=t,w.call(this));})):m={},w.call(this);}}function s(t,o,i){const r=new e.EvaluationParameters(o);for(const e of t)e.recalculate(r,i);}function a(t,o){const i=e.getArrayBuffer(t.request,((t,i,r,n)=>{t?o(t):i&&o(null,{vectorTile:new e.vectorTile.VectorTile(new e.pbf(i)),rawData:i,cacheControl:r,expires:n});}));return ()=>{i.cancel(),o();}}class l{constructor(e,t,o,i){this.actor=e,this.layerIndex=t,this.availableImages=o,this.loadVectorData=i||a,this.loading={},this.loaded={};}loadTile(t,o){const i=t.uid;this.loading||(this.loading={});const r=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[i]=new n(t);s.abort=this.loadVectorData(t,((t,n)=>{if(delete this.loading[i],t||!n)return s.status=\"done\",this.loaded[i]=s,o(t);const a=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);const c={};if(r){const e=r.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)));}s.vectorTile=n.vectorTile,s.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,i)=>{if(t||!i)return o(t);o(null,e.extend({rawTileData:a.slice(0)},i,l,c));})),this.loaded=this.loaded||{},this.loaded[i]=s;}));}reloadTile(e,t){const o=this.loaded,i=e.uid,r=this;if(o&&o[i]){const n=o[i];n.showCollisionBoxes=e.showCollisionBoxes;const s=(e,o)=>{const i=n.reloadCallback;i&&(delete n.reloadCallback,n.parse(n.vectorTile,r.layerIndex,this.availableImages,r.actor,i)),t(e,o);};\"parsing\"===n.status?n.reloadCallback=s:\"done\"===n.status&&(n.vectorTile?n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s());}}abortTile(e,t){const o=this.loading,i=e.uid;o&&o[i]&&o[i].abort&&(o[i].abort(),delete o[i]),t();}removeTile(e,t){const o=this.loaded,i=e.uid;o&&o[i]&&delete o[i],t();}}class c{constructor(){this.loaded={};}loadTile(t,o){const{uid:i,encoding:r,rawImageData:n}=t,s=e.isImageBitmap(n)?this.getImageData(n):n,a=new e.DEMData(i,s,r);this.loaded=this.loaded||{},this.loaded[i]=a,o(null,a);}getImageData(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);const o=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:o.width,height:o.height},o.data)}removeTile(e){const t=this.loaded,o=e.uid;t&&t[o]&&delete t[o];}}var u=function e(t,o){var i,r=t&&t.type;if(\"FeatureCollection\"===r)for(i=0;i=Math.abs(a)?o-l+a:a-l+o,o=l;}o+i>=0!=!!t&&e.reverse();}const f=e.vectorTile.VectorTileFeature.prototype.toGeoJSON;class d{constructor(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));}loadGeometry(){if(1===this._feature.type){const t=[];for(const o of this._feature.geometry)t.push([new e.pointGeometry(o[0],o[1])]);return t}{const t=[];for(const o of this._feature.geometry){const i=[];for(const t of o)i.push(new e.pointGeometry(t[0],t[1]));t.push(i);}return t}}toGeoJSON(e,t,o){return f.call(this,e,t,o)}}class g{constructor(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=e.EXTENT,this.length=t.length,this._features=t;}feature(e){return new d(this._features[e])}}var m={exports:{}},y=e.pointGeometry,v=e.vectorTile.VectorTileFeature,x=w;function w(e,t){this.options=t||{},this.features=e,this.length=e.length;}function S(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;}w.prototype.feature=function(e){return new S(this.features[e],this.options.extent)},S.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t>31}function D(e,t){for(var o=e.loadGeometry(),i=e.type,r=0,n=0,s=o.length,a=0;a>1;O(e,t,s,i,r,n%2),z(e,t,o,i,s-1,n+1),z(e,t,o,s+1,r,n+1);}function O(e,t,o,i,r,n){for(;r>i;){if(r-i>600){const s=r-i+1,a=o-i+1,l=Math.log(s),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(s-c)/s)*(a-s/2<0?-1:1);O(e,t,o,Math.max(i,Math.floor(o-a*c/s+u)),Math.min(r,Math.floor(o+(s-a)*c/s+u)),n);}const s=t[2*o+n];let a=i,l=r;for(E(e,t,i,o),t[2*r+n]>s&&E(e,t,i,r);as;)l--;}t[2*i+n]===s?E(e,t,i,l):(l++,E(e,t,l,r)),l<=o&&(i=l+1),o<=l&&(r=l-1);}}function E(e,t,o,i){F(e,o,i),F(t,2*o,2*i),F(t,2*o+1,2*i+1);}function F(e,t,o){const i=e[t];e[t]=e[o],e[o]=i;}function N(e,t,o,i){const r=e-o,n=t-i;return r*r+n*n}m.exports=b,m.exports.fromVectorTileJs=b,m.exports.fromGeojsonVt=function(e,t){t=t||{};var o={};for(var i in e)o[i]=new I(e[i].features,t),o[i].name=i,o[i].version=t.version,o[i].extent=t.extent;return b({layers:o})},m.exports.GeoJSONWrapper=I;const A=e=>e[0],B=e=>e[1];class J{constructor(e,t=A,o=B,i=64,r=Float64Array){this.nodeSize=i,this.points=e;const n=e.length<65536?Uint16Array:Uint32Array,s=this.ids=new n(e.length),a=this.coords=new r(2*e.length);for(let i=0;i=o&&c<=r&&u>=i&&u<=n&&l.push(e[s]);continue}const d=Math.floor((f+p)/2);c=t[2*d],u=t[2*d+1],c>=o&&c<=r&&u>=i&&u<=n&&l.push(e[d]);const g=(h+1)%2;(0===h?o<=c:i<=u)&&(a.push(f),a.push(d-1),a.push(g)),(0===h?r>=c:n>=u)&&(a.push(d+1),a.push(p),a.push(g));}return l}(this.ids,this.coords,e,t,o,i,this.nodeSize)}within(e,t,o){return function(e,t,o,i,r,n){const s=[0,e.length-1,0],a=[],l=r*r;for(;s.length;){const c=s.pop(),u=s.pop(),h=s.pop();if(u-h<=n){for(let r=h;r<=u;r++)N(t[2*r],t[2*r+1],o,i)<=l&&a.push(e[r]);continue}const p=Math.floor((h+u)/2),f=t[2*p],d=t[2*p+1];N(f,d,o,i)<=l&&a.push(e[p]);const g=(c+1)%2;(0===c?o-r<=f:i-r<=d)&&(s.push(h),s.push(p-1),s.push(g)),(0===c?o+r>=f:i+r>=d)&&(s.push(p+1),s.push(u),s.push(g));}return a}(this.ids,this.coords,e,t,o,this.nodeSize)}}const Z={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},G=Math.fround||(j=new Float32Array(1),e=>(j[0]=+e,j[0]));var j;class Y{constructor(e){this.options=H(Object.create(Z),e),this.trees=new Array(this.options.maxZoom+1);}load(e){const{log:t,minZoom:o,maxZoom:i,nodeSize:r}=this.options;t&&console.time(\"total time\");const n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;let s=[];for(let t=0;t=o;e--){const o=+Date.now();s=this._cluster(s,e),this.trees[e]=new J(s,K,Q,r,Float32Array),t&&console.log(\"z%d: %d clusters in %dms\",e,s.length,+Date.now()-o);}return t&&console.timeEnd(\"total time\"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let r=180===e[2]?180:((e[2]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,r=180;else if(o>r){const e=this.getClusters([o,i,180,n],t),s=this.getClusters([-180,i,r,n],t);return e.concat(s)}const s=this.trees[this._limitZoom(t)],a=s.range(q(o),$(n),q(r),$(i)),l=[];for(const e of a){const t=s.points[e];l.push(t.numPoints?R(t):this.points[t.index]);}return l}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),i=\"No cluster with the specified id.\",r=this.trees[o];if(!r)throw new Error(i);const n=r.points[t];if(!n)throw new Error(i);const s=this.options.radius/(this.options.extent*Math.pow(2,o-1)),a=r.within(n.x,n.y,s),l=[];for(const t of a){const o=r.points[t];o.parentId===e&&l.push(o.numPoints?R(o):this.points[o.index]);}if(0===l.length)throw new Error(i);return l}getLeaves(e,t,o){const i=[];return this._appendLeaves(i,e,t=t||10,o=o||0,0),i}getTile(e,t,o){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:n,radius:s}=this.options,a=s/n,l=(o-a)/r,c=(o+1+a)/r,u={features:[]};return this._addTileFeatures(i.range((t-a)/r,l,(t+1+a)/r,c),i.points,t,o,r,u),0===t&&this._addTileFeatures(i.range(1-a/r,l,1,c),i.points,r,o,r,u),t===r-1&&this._addTileFeatures(i.range(0,l,a/r,c),i.points,-1,o,r,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const o=this.getChildren(e);if(t++,1!==o.length)break;e=o[0].properties.cluster_id;}return t}_appendLeaves(e,t,o,i,r){const n=this.getChildren(t);for(const t of n){const n=t.properties;if(n&&n.cluster?r+n.point_count<=i?r+=n.point_count:r=this._appendLeaves(e,n.cluster_id,o,i,r):rt&&(h+=o.numPoints||1);}if(h>u&&h>=s){let e=r.x*u,s=r.y*u,a=n&&u>1?this._map(r,!0):null;const p=(i<<5)+(t+1)+this.points.length;for(const o of c){const i=l.points[o];if(i.zoom<=t)continue;i.zoom=t;const c=i.numPoints||1;e+=i.x*c,s+=i.y*c,i.parentId=p,n&&(a||(a=this._map(r,!0)),n(a,this._map(i)));}r.parentId=p,o.push(V(e/h,s/h,p,h,a));}else if(o.push(r),h>1)for(const e of c){const i=l.points[e];i.zoom<=t||(i.zoom=t,o.push(i));}}return o}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t){if(e.numPoints)return t?H({},e.properties):e.properties;const o=this.points[e.index].properties,i=this.options.map(o);return t&&i===o?H({},i):i}}function V(e,t,o,i,r){return {x:G(e),y:G(t),zoom:1/0,id:o,parentId:-1,numPoints:i,properties:r}}function X(e,t){const[o,i]=e.geometry.coordinates;return {x:G(q(o)),y:G($(i)),zoom:1/0,index:t,parentId:-1}}function R(e){return {type:\"Feature\",id:e.id,properties:W(e),geometry:{type:\"Point\",coordinates:[(t=e.x,360*(t-.5)),U(e.y)]}};var t;}function W(e){const t=e.numPoints,o=t>=1e4?`${Math.round(t/1e3)}k`:t>=1e3?Math.round(t/100)/10+\"k\":t;return H(H({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:o})}function q(e){return e/360+.5}function $(e){const t=Math.sin(e*Math.PI/180),o=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return o<0?0:o>1?1:o}function U(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function H(e,t){for(const o in t)e[o]=t[o];return e}function K(e){return e.x}function Q(e){return e.y}function ee(e,t,o,i){for(var r,n=i,s=o-t>>1,a=o-t,l=e[t],c=e[t+1],u=e[o],h=e[o+1],p=t+3;pn)r=p,n=f;else if(f===n){var d=Math.abs(p-s);di&&(r-t>3&&ee(e,t,r,i),e[r+2]=n,o-r>3&&ee(e,r,o,i));}function te(e,t,o,i,r,n){var s=r-o,a=n-i;if(0!==s||0!==a){var l=((e-o)*s+(t-i)*a)/(s*s+a*a);l>1?(o=r,i=n):l>0&&(o+=s*l,i+=a*l);}return (s=e-o)*s+(a=t-i)*a}function oe(e,t,o,i){var r={id:void 0===e?null:e,type:t,geometry:o,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,o=e.type;if(\"Point\"===o||\"MultiPoint\"===o||\"LineString\"===o)ie(e,t);else if(\"Polygon\"===o||\"MultiLineString\"===o)for(var i=0;i0&&(s+=i?(r*c-l*n)/2:Math.sqrt(Math.pow(l-r,2)+Math.pow(c-n,2))),r=l,n=c;}var u=t.length-3;t[2]=1,ee(t,0,u,o),t[u+2]=1,t.size=Math.abs(s),t.start=0,t.end=t.size;}function ae(e,t,o,i){for(var r=0;r1?1:o}function ue(e,t,o,i,r,n,s,a){if(i/=t,n>=(o/=t)&&s=i)return null;for(var l=[],c=0;c=o&&d=i)){var g=[];if(\"Point\"===p||\"MultiPoint\"===p)he(h,g,o,i,r);else if(\"LineString\"===p)pe(h,g,o,i,r,!1,a.lineMetrics);else if(\"MultiLineString\"===p)de(h,g,o,i,r,!1);else if(\"Polygon\"===p)de(h,g,o,i,r,!0);else if(\"MultiPolygon\"===p)for(var m=0;m=o&&s<=i&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function pe(e,t,o,i,r,n,s){for(var a,l,c=fe(e),u=0===r?me:ye,h=e.start,p=0;po&&(l=u(c,f,d,m,y,o),s&&(c.start=h+a*l)):v>i?x=o&&(l=u(c,f,d,m,y,o),w=!0),x>i&&v<=i&&(l=u(c,f,d,m,y,i),w=!0),!n&&w&&(s&&(c.end=h+a*l),t.push(c),c=fe(e)),s&&(h+=a);}var S=e.length-3;f=e[S],d=e[S+1],g=e[S+2],(v=0===r?f:d)>=o&&v<=i&&ge(c,f,d,g),S=c.length-3,n&&S>=3&&(c[S]!==c[0]||c[S+1]!==c[1])&&ge(c,c[0],c[1],c[2]),c.length&&t.push(c);}function fe(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function de(e,t,o,i,r,n){for(var s=0;ss.maxX&&(s.maxX=u),h>s.maxY&&(s.maxY=h);}return s}function Ie(e,t,o,i){var r=t.geometry,n=t.type,s=[];if(\"Point\"===n||\"MultiPoint\"===n)for(var a=0;a0&&t.size<(r?s:i))o.numPoints+=t.length/3;else {for(var a=[],l=0;ls)&&(o.numSimplified++,a.push(t[l]),a.push(t[l+1])),o.numPoints++;r&&function(e,t){for(var o=0,i=0,r=e.length,n=r-2;i0===t)for(i=0,r=e.length;i24)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 o=[];if(\"FeatureCollection\"===e.type)for(var i=0;i1&&console.time(\"creation\"),p=this.tiles[h]=Me(e,t,o,i,l),this.tileCoords.push({z:t,x:o,y:i}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,o,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,r){if(t===l.maxZoom||t===r)continue;var d=1<1&&console.time(\"clipping\");var g,m,y,v,x,w,S=.5*l.buffer/l.extent,M=.5-S,I=.5+S,b=1+S;g=m=y=v=null,x=ue(e,u,o-S,o+I,0,p.minX,p.maxX,l),w=ue(e,u,o+M,o+b,0,p.minX,p.maxX,l),e=null,x&&(g=ue(x,u,i-S,i+I,1,p.minY,p.maxY,l),m=ue(x,u,i+M,i+b,1,p.minY,p.maxY,l),x=null),w&&(y=ue(w,u,i-S,i+I,1,p.minY,p.maxY,l),v=ue(w,u,i+M,i+b,1,p.minY,p.maxY,l),w=null),c>1&&console.timeEnd(\"clipping\"),a.push(g||[],t+1,2*o,2*i),a.push(m||[],t+1,2*o,2*i+1),a.push(y||[],t+1,2*o+1,2*i),a.push(v||[],t+1,2*o+1,2*i+1);}}},ke.prototype.getTile=function(e,t,o){var i=this.options,r=i.extent,n=i.debug;if(e<0||e>24)return null;var s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,o);for(var l,c=e,u=t,h=o;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[Pe(c,u,h)];return l&&l.source?(n>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,h),n>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,h,e,t,o),n>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?we(this.tiles[a],r):null):null};class Ce extends l{constructor(e,t,o,i){super(e,t,o,Te),i&&(this.loadGeoJSON=i);}loadData(t,o){var i;null===(i=this._pendingRequest)||void 0===i||i.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const r=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request);this._pendingCallback=o,this._pendingRequest=this.loadGeoJSON(t,((i,n)=>{if(delete this._pendingCallback,delete this._pendingRequest,i||!n)return o(i);if(\"object\"!=typeof n)return o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));{u(n,!0);try{if(t.filter){const o=e.createExpression(t.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(\", \"));const i=n.features.filter((e=>o.value.evaluate({zoom:0},e)));n={type:\"FeatureCollection\",features:i};}this._geoJSONIndex=t.cluster?new Y(function({superclusterOptions:t,clusterProperties:o}){if(!o||!t)return t;const i={},r={},n={accumulated:null,zoom:0},s={properties:null},a=Object.keys(o);for(const t of a){const[n,s]=o[t],a=e.createExpression(s),l=e.createExpression(\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n);i[t]=a.value,r[t]=l.value;}return t.map=e=>{s.properties=e;const t={};for(const e of a)t[e]=i[e].evaluate(n,s);return t},t.reduce=(e,t)=>{s.properties=t;for(const t of a)n.accumulated=e[t],e[t]=r[t].evaluate(n,s);},t}(t)).load(n.features):function(e,t){return new ke(e,t)}(n,t.geojsonVtOptions);}catch(i){return o(i)}this.loaded={};const s={};if(r){const e=r.finish();e&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)));}o(null,s);}}));}reloadTile(e,t){const o=this.loaded;return o&&o[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,o){if(t.request)return e.getJSON(t.request,o);if(\"string\"==typeof t.data)try{o(null,JSON.parse(t.data));}catch(e){o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));}else o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));return {cancel:()=>{}}}removeSource(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t();}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}}}class _e{constructor(t){this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:Ce},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=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;};}setReferrer(e,t){this.referrer=t;}setImages(e,t,o){this.availableImages[e]=t;for(const o in this.workerSources[e]){const i=this.workerSources[e][o];for(const e in i)i[e].availableImages=t;}o();}setLayers(e,t,o){this.getLayerIndex(e).replace(t),o();}updateLayers(e,t,o){this.getLayerIndex(e).update(t.layers,t.removedIds),o();}loadTile(e,t,o){this.getWorkerSource(e,t.type,t.source).loadTile(t,o);}loadDEMTile(e,t,o){this.getDEMWorkerSource(e,t.source).loadTile(t,o);}reloadTile(e,t,o){this.getWorkerSource(e,t.type,t.source).reloadTile(t,o);}abortTile(e,t,o){this.getWorkerSource(e,t.type,t.source).abortTile(t,o);}removeTile(e,t,o){this.getWorkerSource(e,t.type,t.source).removeTile(t,o);}removeDEMTile(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t);}removeSource(e,t,o){if(!this.workerSources[e]||!this.workerSources[e][t.type]||!this.workerSources[e][t.type][t.source])return;const i=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==i.removeSource?i.removeSource(t,o):o();}loadWorkerSource(e,t,o){try{this.self.importScripts(t.url),o();}catch(e){o(e.toString());}}syncRTLPluginState(t,o,i){try{e.plugin.setState(o);const t=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=t){this.self.importScripts(t);const o=e.plugin.isParsed();i(o?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),o);}}catch(e){i(e.toString());}}getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new i),t}getWorkerSource(e,t,o){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][o]){const i={send:(t,o,i)=>{this.actor.send(t,o,i,e);}};this.workerSources[e][t][o]=new this.workerSourceTypes[t](i,this.getLayerIndex(e),this.getAvailableImages(e));}return this.workerSources[e][t][o]}getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new c),this.demWorkerSources[e][t]}enforceCacheSizeLimit(t,o){e.enforceCacheSizeLimit(o);}}return e.isWorker()&&(self.worker=new _e(self)),_e}));\n\ndefine([\"./shared\"],(function(t){\"use strict\";var e=i;function i(t){return !function(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[e=t&&t.failIfMajorPerformanceCaveat]&&(o[e]=function(t){var e,o=function(t){var e=document.createElement(\"canvas\"),o=Object.create(i.webGLContextAttributes);return o.failIfMajorPerformanceCaveat=t,e.getContext(\"webgl\",o)||e.getContext(\"experimental-webgl\",o)}(t);if(!o)return !1;try{e=o.createShader(o.VERTEX_SHADER);}catch(t){return !1}return !(!e||o.isContextLost())&&(o.shaderSource(e,\"void main() {}\"),o.compileShader(e),!0===o.getShaderParameter(e,o.COMPILE_STATUS))}(e)),o[e]?document.documentMode?\"insufficient ECMAScript 6 support\":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 e;}(t)}var o={};function a(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return !1;for(let i=0;i{window.removeEventListener(\"click\",s.suppressClickInternal,!0);}),0);}static mousePos(e,i){const o=e.getBoundingClientRect();return new t.pointGeometry(i.clientX-o.left-e.clientLeft,i.clientY-o.top-e.clientTop)}static touchPos(e,i){const o=e.getBoundingClientRect(),a=[];for(let s=0;s-1);l++,s[l]=n,r[l]=c,r[l+1]=u;}for(let n=0,l=0;n{let o=this.entries[t];o||(o=this.entries[t]={glyphs:{},requests:{},ranges:{}});let a=o.glyphs[e];if(void 0!==a)return void i(null,{stack:t,id:e,glyph:a});if(a=this._tinySDF(o,t,e),a)return o.glyphs[e]=a,void i(null,{stack:t,id:e,glyph:a});const s=Math.floor(e/256);if(256*s>65535)return void i(new Error(\"glyphs > 65535 not supported\"));if(o.ranges[s])return void i(null,{stack:t,id:e,glyph:a});let r=o.requests[s];r||(r=o.requests[s]=[],m.loadGlyphRange(t,s,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(o.glyphs[+t]=e[+t]);o.ranges[s]=!0;}for(const i of r)i(t,e);delete o.requests[s];}))),r.push(((o,a)=>{o?i(o):a&&i(null,{stack:t,id:e,glyph:a[e]||null});}));}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:o,glyph:a}of e)(t[i]||(t[i]={}))[o]=a&&{id:a.id,bitmap:a.bitmap.clone(),metrics:a.metrics};i(null,t);}}));}_doesCharSupportLocalGlyph(e){return !!this.localIdeographFontFamily&&(t.unicodeBlockLookup[\"CJK Unified Ideographs\"](e)||t.unicodeBlockLookup[\"Hangul Syllables\"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,o){const a=this.localIdeographFontFamily;if(!a)return;if(!this._doesCharSupportLocalGlyph(o))return;let s=e.tinySDF;if(!s){let t=\"400\";/bold/i.test(i)?t=\"900\":/medium/i.test(i)?t=\"500\":/light/i.test(i)&&(t=\"200\"),s=e.tinySDF=new m.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:a,fontWeight:t});}const r=s.draw(String.fromCharCode(o));return {id:o,bitmap:new t.AlphaImage({width:r.width||30,height:r.height||30},r.data),metrics:{width:r.glyphWidth||24,height:r.glyphHeight||24,left:r.glyphLeft||0,top:r.glyphTop-27||-8,advance:r.glyphAdvance||24}}}}m.loadGlyphRange=function(e,i,o,a,s){const r=256*i,n=r+255,l=a.transformRequest(o.replace(\"{fontstack}\",e).replace(\"{range}\",`${r}-${n}`),t.ResourceType.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)s(e);else if(i){const e={};for(const o of t.parseGlyphPbf(i))e[o.id]=o;s(null,e);}}));},m.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:o=.25,fontFamily:a=\"sans-serif\",fontWeight:s=\"normal\",fontStyle:r=\"normal\"}={}){this.buffer=e,this.cutoff=o,this.radius=i;const n=this.size=t+4*e,l=this._createCanvas(n),c=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});c.font=`${r} ${s} ${t}px ${a}`,c.textBaseline=\"alphabetic\",c.textAlign=\"left\",c.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Uint16Array(n);}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:o,actualBoundingBoxLeft:a,actualBoundingBoxRight:s}=this.ctx.measureText(t),r=Math.ceil(i),n=Math.min(this.size-this.buffer,Math.ceil(s-a)),l=Math.min(this.size-this.buffer,r+Math.ceil(o)),c=n+2*this.buffer,h=l+2*this.buffer,_=Math.max(c*h,0),m=new Uint8ClampedArray(_),p={data:m,width:c,height:h,glyphWidth:n,glyphHeight:l,glyphTop:r,glyphLeft:0,glyphAdvance:e};if(0===n||0===l)return p;const{ctx:f,buffer:g,gridInner:x,gridOuter:v}=this;f.clearRect(g,g,n,l),f.fillText(t,g,g+r);const y=f.getImageData(g,g,n,l);v.fill(u,0,_),x.fill(0,0,_);for(let t=0;t0?t*t:0,x[o]=t<0?t*t:0;}}d(v,0,0,c,h,c,this.f,this.v,this.z),d(x,g,g,n,l,c,this.f,this.v,this.z);for(let t=0;t<_;t++){const e=Math.sqrt(v[t])-Math.sqrt(x[t]);m[t]=Math.round(255-255*(e/this.radius+this.cutoff));}return p}};const p=new t.Properties({anchor:new t.DataConstantProperty(t.spec.light.anchor),position:new class{constructor(){this.specification=t.spec.light.position;}possiblyEvaluate(e,i){return t.sphericalToCartesian(e.expression.evaluate(i))}interpolate(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)}}},color:new t.DataConstantProperty(t.spec.light.color),intensity:new t.DataConstantProperty(t.spec.light.intensity)}),f=\"-transition\";class g extends t.Evented{constructor(e){super(),this._transitionable=new t.Transitionable(p),this.setLight(e),this._transitioning=this._transitionable.untransitioned();}getLight(){return this._transitionable.serialize()}setLight(e,i={}){if(!this._validate(t.validateLight,e,i))for(const t in e){const i=e[t];t.endsWith(f)?this._transitionable.setTransition(t.slice(0,-f.length),i):this._transitionable.setValue(t,i);}}updateTransitions(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning);}hasTransition(){return this._transitioning.hasTransition()}recalculate(t){this.properties=this._transitioning.possiblyEvaluate(t);}_validate(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.spec})))}}class x{constructor(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={};}getDash(t,e){const i=t.join(\",\")+String(e);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(t,e)),this.dashEntry[i]}getDashRanges(t,e,i){const o=[];let a=t.length%2==1?-t[t.length-1]*i:0,s=t[0]*i,r=!0;o.push({left:a,right:s,isDash:r,zeroLength:0===t[0]});let n=t[0];for(let e=1;e1&&(r=t[++s]);const l=Math.abs(n-r.left),c=Math.abs(n-r.right),h=Math.min(l,c);let u;const d=e/i*(o+1);if(r.isDash){const t=o-Math.abs(d);u=Math.sqrt(h*h+t*t);}else u=o-Math.sqrt(h*h+d*d);this.data[a+n]=Math.max(0,Math.min(255,u+128));}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const 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));}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const o=this.width*this.nextRow;let a=0,s=t[a];for(let e=0;e1&&(s=t[++a]);const i=Math.abs(e-s.left),r=Math.abs(e-s.right),n=Math.min(i,r);this.data[o+e]=Math.max(0,Math.min(255,(s.isDash?n:-n)+128));}}addDash(e,i){const o=i?7:0,a=2*o+1;if(this.nextRow+a>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;let s=0;for(let t=0;t{t.send(e,i,o);}),o=o||function(){});}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove();})),this.actors=[],this.workerPool.release(this.id);}}function y(e,i,o){const a=function(i,a){if(i)return o(i);if(a){const i=t.pick(t.extend(a,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(i.vectorLayers=a.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),o(null,i);}};return e.url?t.getJSON(i.transformRequest(e.url,t.ResourceType.Source),a):t.exported.frame((()=>a(null,e)))}v.Actor=t.Actor;class b{constructor(e,i,o){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=o||24;}validateBounds(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]}contains(e){const i=Math.pow(2,e.z),o=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),a=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),s=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),r=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=o&&e.x=a&&e.y{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));}loaded(){return this._loaded}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load();}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load();}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}serialize(){return t.extend({},this._options)}loadTile(e,i){const o=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a={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:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function s(o,a){return delete e.request,e.aborted?i(null):o&&404!==o.status?i(o):(a&&a.resourceTiming&&(e.resourceTiming=a.resourceTiming),this.map._refreshExpiredTiles&&a&&e.setExpiryData(a),e.loadVectorData(a,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}a.request.collectResourceTiming=this._collectResourceTiming,e.actor&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=i:e.request=e.actor.send(\"reloadTile\",a,s.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send(\"loadTile\",a,s.bind(this)));}abortTile(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);}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0);}hasTransition(){return !1}}class T extends t.Evented{constructor(e,i,o,a){super(),this.id=e,this.dispatcher=o,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\"},i),t.extend(this,t.pick(i,[\"url\",\"scheme\",\"tileSize\"]));}load(){this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=y(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));}loaded(){return this._loaded}onAdd(t){this.map=t,this.load();}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}serialize(){return t.extend({},this._options)}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const o=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),((o,a,s)=>{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(s);const o=this.map.painter.context,r=o.gl;e.texture=this.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new l(o,a,r.RGBA,{useMipmap:!0}),e.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&r.texParameterf(r.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state=\"loaded\",t.cacheEntryPossiblyAdded(this.dispatcher),i(null);}}));}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e();}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e();}hasTransition(){return !1}}let E;class I extends T{constructor(e,i,o,a){super(e,i,o,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\";}serialize(){return {type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}}loadTile(e,i){const o=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function a(t,o){t&&(e.state=\"errored\",i(t)),o&&(e.dem=o,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state=\"loaded\",i(null));}e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),function(o,s){if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(o)e.state=\"errored\",i(o);else if(s){this.map._refreshExpiredTiles&&e.setExpiryData(s),delete s.cacheControl,delete s.expires;const i=t.isImageBitmap(s)&&(null==E&&(E=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),E)?s:t.exported.getImageData(s,1),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",o,a.bind(this)));}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID);}_getNeighboringTiles(e){const i=e.canonical,o=Math.pow(2,i.z),a=(i.x-1+o)%o,s=0===i.x?e.wrap-1:e.wrap,r=(i.x+1+o)%o,n=i.x+1===o?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,s,i.z,a,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,s,i.z,a,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,n,i.z,r,i.y-1).key]={backfilled:!1}),i.y+1{if(this._pendingLoads--,this._removed||o&&o.abandoned)return void this.fire(new t.Event(\"dataabort\",{dataType:\"source\",sourceDataType:e}));let a=null;if(o&&o.resourceTiming&&o.resourceTiming[this.id]&&(a=o.resourceTiming[this.id].slice(0)),i)return void this.fire(new t.ErrorEvent(i));const s={dataType:\"source\",sourceDataType:e};this._collectResourceTiming&&a&&a.length>0&&t.extend(s,{resourceTiming:a}),this.fire(new t.Event(\"data\",s));}));}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?\"reloadTile\":\"loadTile\";t.actor=this.actor;const o={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,o,((o,a)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):o?e(o):(t.loadVectorData(a,this.map.painter,\"reloadTile\"===i),e(null)))));}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0;}unloadTile(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id});}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id});}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}}var S=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class D extends t.Evented{constructor(t,e,i,o){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=e;}load(e,i){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),((o,a)=>{this._loaded=!0,o?this.fire(new t.ErrorEvent(o)):a&&(this.image=a,e&&(this.coordinates=e),i&&i(),this._finishLoading());}));}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null;})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(t){this.map=t,this.load();}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,o=1/0,a=-1/0,s=-1/0;for(const t of e)i=Math.min(i,t.x),o=Math.min(o,t.y),a=Math.max(a,t.x),s=Math.max(s,t.y);const r=Math.max(a-i,s-o),n=Math.max(0,Math.floor(-Math.log(r)/Math.LN2)),l=Math.pow(2,n);return new t.CanonicalTileID(n,Math.floor((i+a)/2*l),Math.floor((o+s)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const o=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(o[0].x,o[0].y,0,0),this._boundsArray.emplaceBack(o[1].x,o[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(o[3].x,o[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(o[2].x,o[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}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,S.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new l(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture);}}loadTile(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));}serialize(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}class z extends D{constructor(t,e,i,o){super(t,e,i,o),this.roundZoom=!0,this.type=\"video\",this.options=e;}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading());}));}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(e){if(this.video){const i=this.video.seekable;ei.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;}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,S.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 l(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture);}}serialize(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class P extends D{constructor(e,i,o,a){super(e,i,o,a),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>\"number\"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional \"animate\" property must be a boolean value'))),i.canvas?\"string\"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,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.${e}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas: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());}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();}onRemove(){this.pause();}prepare(){let 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())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,o=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,S.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 l(i,this.canvas,o.RGBA,{premultiply:!0});for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture);}}serialize(){return {type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of [this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return !0;return !1}}const M={vector:w,raster:T,\"raster-dem\":I,geojson:C,video:z,image:D,canvas:P};function A(e,i){const o=t.create();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 R(t,e,i,o,a,s){const r=function(t,e,i){if(t)for(const o of t){const t=e[o];if(t&&t.source===i&&\"fill-extrusion\"===t.type)return !0}else for(const t in e){const o=e[t];if(o.source===i&&\"fill-extrusion\"===o.type)return !0}return !1}(a&&a.layers,e,t.id),n=s.maxPitchScaleFactor(),l=t.tilesIn(o,n,r);l.sort(L);const c=[];for(const o of l)c.push({wrappedTileID:o.tileID.wrapped().key,queryResults:o.tile.queryRenderedFeatures(e,i,t._state,o.queryGeometry,o.cameraQueryGeometry,o.scale,a,s,n,A(t.transform,o.tileID))});const h=function(t){const e={},i={};for(const o of t){const t=o.queryResults,a=o.wrappedTileID,s=i[a]=i[a]||{};for(const i in t){const o=t[i],a=s[i]=s[i]||{},r=e[i]=e[i]||[];for(const t of o)a[t.featureIndex]||(a[t.featureIndex]=!0,r.push(t));}}return e}(c);for(const e in h)h[e].forEach((e=>{const 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 h}function L(t,e){const 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}class k{constructor(e,i){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.textures=[],this.textureCoords={},this.expiredRequestCount=0,this.state=\"loading\";}registerFadeDuration(e){const i=e+this.timeAdded;it.saveTileTexture(e))),this.demTexture=null,this.textures=[],this.textureCoords={};}loadVectorData(e,i,o){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){const i={};if(!e)return i;for(const o of t){const t=o.layerIds.map((t=>e.getLayer(t))).filter(Boolean);if(0!==t.length){o.layers=t,o.stateDependentLayerIds&&(o.stateDependentLayers=o.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=o;}}return i}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!o)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e));}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage);}else this.collisionBoxArray=new t.CollisionBoxArray;}unloadVectorData(){for(const 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\";}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new l(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new l(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,i,o,a,s,r,n,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:o,cameraQueryGeometry:a,scale:s,tileSize:this.tileSize,pixelPosMatrix:c,transform:n,params:r,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(e,i){const o=this.latestFeatureIndex;if(!o||!o.rawTileData)return;const a=o.loadVTLayers(),s=i?i.sourceLayer:\"\",r=a._geojsonTileLayer||a[s];if(!r)return;const n=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,a);}),i)),this.data[o].push(a),this.order.push(o),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const 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}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,o=void 0===e?0:this.data[i].indexOf(e),a=this.data[i][o];return this.data[i].splice(o,1),a.timeout&&clearTimeout(a.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(a.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const i in this.data)for(const o of this.data[i])t(o.value)||e.push(o);for(const t of e)this.remove(t.value.tileID,t);}}class F{constructor(){this.state={},this.stateChanges={},this.deletedStates={};}updateState(e,i,o){const a=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][a]=this.stateChanges[e][a]||{},t.extend(this.stateChanges[e][a],o),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==a&&(this.deletedStates[e][t]=null);}else if(this.deletedStates[e]&&null===this.deletedStates[e][a]){this.deletedStates[e][a]={};for(const t in this.state[e][a])o[t]||(this.deletedStates[e][a][t]=null);}else for(const t in o)this.deletedStates[e]&&this.deletedStates[e][a]&&null===this.deletedStates[e][a][t]&&delete this.deletedStates[e][a][t];}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const o=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][o]&&(this.deletedStates[t][o]=this.deletedStates[t][o]||{},this.deletedStates[t][o][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][o])for(i in this.deletedStates[t][o]={},this.stateChanges[t][o])this.deletedStates[t][o][i]=null;else this.deletedStates[t][o]=null;else this.deletedStates[t]=null;}getState(e,i){const o=String(i),a=t.extend({},(this.state[e]||{})[o],(this.stateChanges[e]||{})[o]);if(null===this.deletedStates[e])return {};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return {};for(const e in t)delete a[e];}return a}initializeTileState(t,e){t.setFeatureState(this.state,e);}coalesceChanges(e,i){const o={};for(const e in this.stateChanges){this.state[e]=this.state[e]||{};const i={};for(const o in this.stateChanges[e])this.state[e][o]||(this.state[e][o]={}),t.extend(this.state[e][o],this.stateChanges[e][o]),i[o]=this.state[e][o];o[e]=i;}for(const e in this.deletedStates){this.state[e]=this.state[e]||{};const i={};if(null===this.deletedStates[e])for(const t in this.state[e])i[t]={},this.state[e][t]={};else for(const t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(const i of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][i];i[t]=this.state[e][t];}o[e]=o[e]||{},t.extend(o[e],i);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(o).length)for(const t in e)e[t].setFeatureState(o,i);}}class O extends t.Evented{constructor(e,i,o){super(),this.id=e,this.dispatcher=o,this.on(\"data\",(t=>{\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain));})),this.on(\"dataloading\",(()=>{this._sourceErrored=!1;})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded();})),this._source=function(e,i,o,a){const s=new M[i.type](e,i,o,a);if(s.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${s.id}`);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],s),s}(e,i,o,this),this._tiles={},this._cache=new B(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new F;}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t);}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t);}loaded(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;for(const t in this._tiles){const e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0}getSource(){return this._source}pause(){this._paused=!0;}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain);}_loadTile(t,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event(\"dataabort\",{tile:e,coord:e.tileID,dataType:\"source\"}));}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(U).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const o=e.tileID,a=i.tileID,s=new t.pointGeometry(o.canonical.x,o.canonical.y)._rotate(this.transform.angle),r=new t.pointGeometry(a.canonical.x,a.canonical.y)._rotate(this.transform.angle);return o.overscaledZ-a.overscaledZ||r.y-s.y||r.x-s.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(U).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");}}_reloadTile(t,e){const i=this._tiles[t];i&&(\"loading\"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)));}_tileLoaded(e,i,o,a){if(a)return e.state=\"errored\",void(404!==a.status?this._source.fire(new t.ErrorEvent(a,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.exported.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),e.aborted||this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}));}_backfillDEM(t){const e=this.getRenderableIds();for(let o=0;o1||(Math.abs(i)>1&&(1===Math.abs(i+a)?i+=a:1===Math.abs(i-a)&&(i-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,o),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,o){for(const a in this._tiles){let s=this._tiles[a];if(o[a]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>i)continue;let r=s.tileID;for(;s&&s.tileID.overscaledZ>e+1;){const t=s.tileID.scaledTo(s.tileID.overscaledZ-1);s=this._tiles[t.key],s&&s.hasData()&&(r=t);}let n=r;for(;n.overscaledZ>e;)if(n=n.scaledTo(n.overscaledZ-1),t[n.key]){o[r.key]=r;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),o=this._getLoadedTile(e);if(o)return o}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,o=Math.floor(e*i*5),a=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(a);}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const o=this._tiles[i];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),t[o.tileID.key]=o;}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(t,this._tiles[t]);}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let o;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?o=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(o=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(o=o.filter((t=>this._source.hasTile(t))))):o=[];const a=e.coveringZoomLevel(this._source),s=Math.max(a-O.maxOverzooming,this._source.minzoom),r=Math.max(a+O.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of o)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const o=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[o.key]=o;}o=o.concat(Object.values(t));}const n=this._updateRetainedTiles(o,a);if(N(this._source.type)){const e={},l={},c=Object.keys(n);for(const i of c){const o=n[i],a=this._tiles[i];if(!a||a.fadeEndTime&&a.fadeEndTime<=t.exported.now())continue;const r=this.findLoadedParent(o,s);r&&(this._addTile(r.tileID),e[r.tileID.key]=r.tileID),l[i]=o;}this._retainLoadedChildren(l,a,r,n);for(const t in e)n[t]||(this._coveredTiles[t]=!0,n[t]=e[t]);if(i){const t={},e={};for(const i of o)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const o=e[i].children(this._source.maxzoom);this._tiles[o[0].key]&&this._tiles[o[1].key]&&this._tiles[o[2].key]&&this._tiles[o[3].key]&&(t[o[0].key]=n[o[0].key]=o[0],t[o[1].key]=n[o[1].key]=o[1],t[o[2].key]=n[o[2].key]=o[2],t[o[3].key]=n[o[3].key]=o[3],delete e[i]);}for(const i in e){const o=this.findLoadedParent(e[i],this._source.minzoom);if(o){t[o.tileID.key]=n[o.tileID.key]=o.tileID;for(const e in t)t[e].isChildOf(o.tileID)&&delete t[e];}}for(const e in this._tiles)t[e]||(this._coveredTiles[e]=!0);}}for(const t in n)this._tiles[t].clearFadeHold();const l=t.keysDifference(this._tiles,n);for(const t of l){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t);}this._updateLoadedParentTileCache();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);}_updateRetainedTiles(t,e){const i={},o={},a=Math.max(e-O.maxOverzooming,this._source.minzoom),s=Math.max(e+O.maxUnderzooming,this._source.minzoom),r={};for(const o of t){const t=this._addTile(o);i[o.key]=o,t.hasData()||ethis._source.maxzoom){const t=s.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else {const t=s.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let r=t.wasRequested();for(let e=s.overscaledZ-1;e>=a;--e){const a=s.scaledTo(e);if(o[a.key])break;if(o[a.key]=!0,t=this.getTile(a),!t&&r&&(t=this._addTile(a)),t&&(i[a.key]=a,r=t.wasRequested(),t.hasData()))break}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,o=this._tiles[t].tileID;for(;o.overscaledZ>0;){if(o.key in this._loadedParentTiles){i=this._loadedParentTiles[o.key];break}e.push(o.key);const t=o.scaledTo(o.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;o=t;}for(const t of e)this._loadedParentTiles[t]=i;}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(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)));const o=i;return i||(i=new k(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,o||this._source.fire(new t.Event(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t];}),i));}_removeTile(t){const 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))));}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset();}tilesIn(e,i,o){const a=[],s=this.transform;if(!s)return a;const r=o?s.getCameraQueryGeometry(e):e,n=e.map((t=>s.pointCoordinate(t,this.terrain))),l=r.map((t=>s.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,d=-1/0,_=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),_=Math.max(_,t.y);for(let e=0;e=0&&f[1].y+p>=0){const t=n.map((t=>r.getTilePoint(t))),e=l.map((t=>r.getTilePoint(t)));a.push({tile:o,tileID:r,queryGeometry:t,cameraQueryGeometry:e,scale:m});}}return a}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(N(this._source.type))for(const e in this._tiles){const i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.exported.now())return !0}return !1}setFeatureState(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);}getFeatureState(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)}setDependencies(t,e,i){const o=this._tiles[t];o&&o.setDependencies(e,i);}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\");this._cache.filter((i=>!i.hasDependency(t,e)));}}function U(t,e){const 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 N(t){return \"raster\"===t||\"image\"===t||\"video\"===t}O.maxOverzooming=10,O.maxUnderzooming=3;const G=\"mapboxgl_preloaded_worker_pool\";class Z{constructor(){this.active={};}acquire(t){if(!this.workers)for(this.workers=[];this.workers.length{t.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[G]}numActive(){return Object.keys(this.active).length}}const q=Math.floor(t.exported.hardwareConcurrency/2);let V;function j(){return V||(V=new Z),V}function X(e,i){const o={};for(const t in e)\"ref\"!==t&&(o[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(o[t]=i[t]);})),o}function $(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(a-r)/n:0;return this.points[s].mult(1-l).add(this.points[i].mult(l))}}function ot(t,e){let i=!0;return \"always\"===t||\"never\"!==t&&\"never\"!==e||(i=!1),i}class at{constructor(t,e,i){const o=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||o<0||e>this.height)return [];const n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=o){if(a)return [{key:null,x1:t,y1:e,x2:i,y2:o}];for(let t=0;t0}hitTestCircle(t,e,i,o,a){const s=t-i,r=t+i,n=e-i,l=e+i;if(r<0||s>this.width||l<0||n>this.height)return !1;const c=[];return this._forEachCell(s,n,r,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:o,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},a),c.length>0}_queryCell(t,e,i,o,a,s,r,n){const{seenUids:l,hitTest:c,overlapMode:h}=r,u=this.boxCells[a];if(null!==u){const a=this.bboxes;for(const r of u)if(!l.box[r]){l.box[r]=!0;const u=4*r,d=this.boxKeys[r];if(t<=a[u+2]&&e<=a[u+3]&&i>=a[u+0]&&o>=a[u+1]&&(!n||n(d))&&(!c||!ot(h,d.overlapMode))&&(s.push({key:d,x1:a[u],y1:a[u+1],x2:a[u+2],y2:a[u+3]}),c))return !0}}const d=this.circleCells[a];if(null!==d){const a=this.circles;for(const r of d)if(!l.circle[r]){l.circle[r]=!0;const u=3*r,d=this.circleKeys[r];if(this._circleAndRectCollide(a[u],a[u+1],a[u+2],t,e,i,o)&&(!n||n(d))&&(!c||!ot(h,d.overlapMode))){const t=a[u],e=a[u+1],i=a[u+2];if(s.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return !0}}}return !1}_queryCellCircle(t,e,i,o,a,s,r,n){const{circle:l,seenUids:c,overlapMode:h}=r,u=this.boxCells[a];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,o=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!n||n(o))&&!ot(h,o.overlapMode))return s.push(!0),!0}}const d=this.circleCells[a];if(null!==d){const t=this.circles;for(const e of d)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,o=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!n||n(o))&&!ot(h,o.overlapMode))return s.push(!0),!0}}}_forEachCell(t,e,i,o,a,s,r,n){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(o);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++)if(a.call(this,t,e,i,o,this.xCellCount*l+d,s,r,n))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,o,a,s){const r=o-t,n=a-e,l=i+s;return l*l>r*r+n*n}_circleAndRectCollide(t,e,i,o,a,s,r){const n=(s-o)/2,l=Math.abs(t-(o+n));if(l>n+i)return !1;const c=(r-a)/2,h=Math.abs(e-(a+c));if(h>c+i)return !1;if(l<=n||h<=c)return !0;const u=l-n,d=h-c;return u*u+d*d<=i*i}}function st(e,i,o,a,s){const r=t.create();return i?(t.scale(r,r,[1/s,1/s,1]),o||t.rotateZ(r,r,a.angle)):t.multiply(r,a.labelPlaneMatrix,e),r}function rt(e,i,o,a,s){if(i){const i=t.clone(e);return t.scale(i,i,[s,s,1]),o||t.rotateZ(i,i,-a.angle),i}return a.glCoordMatrix}function nt(e,i,o){let a;o?(a=[e.x,e.y,o(e.x,e.y),1],t.transformMat4(a,a,i)):(a=[e.x,e.y,0,1],xt(a,a,i));const s=a[3];return {point:new t.pointGeometry(a[0]/s,a[1]/s),signedDistanceFromCamera:s}}function lt(t,e){return .5+t/e*.5}function ct(t,e){const i=t[0]/t[3],o=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&o>=-e[1]&&o<=e[1]}function ht(e,i,o,a,s,r,n,l,c,h){const u=a?e.textSizeData:e.iconSizeData,d=t.evaluateSizeForZoom(u,o.transform.zoom),_=[256/o.width*2+1,256/o.height*2+1],m=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;m.clear();const p=e.lineVertexArray,f=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=o.transform.width/o.transform.height;let x=!1;for(let a=0;aMath.abs(o.x-i.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?i.yo.x)?{needsFlipping:!0}:null}function _t(e,i,o,a,s,r,n,l,c,h,u,d,_,m,p,f){const g=i/24,x=e.lineOffsetX*g,v=e.lineOffsetY*g;let y;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,s=e.lineStartIndex+e.lineLength,h=ut(g,l,x,v,o,u,d,e,c,r,_,p,f);if(!h)return {notEnoughRoom:!0};const b=nt(h.first.point,n,f).point,w=nt(h.last.point,n,f).point;if(a&&!o){const t=dt(e.writingMode,b,w,m);if(t)return t}y=[h.first];for(let a=e.glyphStartIndex+1;a0?r.point:mt(d,a,i,1,s,f),l=dt(e.writingMode,i,n,m);if(l)return l}const i=pt(g*l.getoffsetX(e.glyphStartIndex),x,v,o,u,d,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,r,_,p,f);if(!i)return {notEnoughRoom:!0};y=[i];}for(const e of y)t.addDynamicAttributes(h,e.point,e.angle);return {}}function mt(t,e,i,o,a,s){const r=nt(t.add(t.sub(e)._unit()),a,s).point,n=i.sub(r);return i.add(n._mult(o/n.mag()))}function pt(e,i,o,a,s,r,n,l,c,h,u,d,_,m){const p=a?e-i:e+i;let f=p>0?1:-1,g=0;a&&(f*=-1,g=Math.PI),f<0&&(g+=Math.PI);let x=f>0?l+n:l+n+1,v=s,y=s,b=0,w=0;const T=Math.abs(p),E=[];for(;b+w<=T;){if(x+=f,x=c)return null;if(y=v,E.push(v),v=d[x],void 0===v){const e=new t.pointGeometry(h.getx(x),h.gety(x)),i=nt(e,u,m);if(i.signedDistanceFromCamera>0)v=d[x]=i.point;else {const i=x-f;v=mt(0===b?r:new t.pointGeometry(h.getx(i),h.gety(i)),e,y,T-b+1,u,m);}}b+=w,w=y.dist(v);}const I=(T-b)/w,C=v.sub(y),S=C.mult(I)._add(y);S._add(C._unit()._perp()._mult(o*f));const D=g+Math.atan2(v.y-y.y,v.x-y.x);return E.push(S),{point:S,angle:_?D:0,path:E}}const ft=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function gt(t,e){for(let i=0;i=1;t--)h.push(r.path[t]);for(let t=1;tnt(t,l,m)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point));}let g=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=o.x&&i.x<=a.x&&e.y>=o.y&&i.y<=a.y?[h]:i.xa.x||i.ya.y?[]:t.clipLine([h],o.x,o.y,a.x,a.y);}for(const t of g){s.reset(t,.25*i);let o=0;o=s.length<=.5*i?1:Math.ceil(s.paddedLength/f)+1;for(let t=0;t=this.screenRightBoundary||othis.screenBottomBoundary}isInsideGrid(t,e,i,o){return i>=0&&t=0&&et.collisionGroupID===e};}return this.collisionGroups[t]}}function Dt(e,i,o,a,s){const{horizontalAlign:r,verticalAlign:n}=t.getAnchorAlignment(e),l=-(r-.5)*i,c=-(n-.5)*o,h=t.evaluateVariableOffset(e,a);return new t.pointGeometry(l+h[0]*s,c+h[1]*s)}function zt(e,i,o,a,s,r){const{x1:n,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:d}=e,_=new t.pointGeometry(i,o);return a&&_._rotate(s?r:-r),{x1:n+_.x,y1:c+_.y,x2:l+_.x,y2:h+_.y,anchorPointX:u,anchorPointY:d}}class Pt{constructor(t,e,i,o,a){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new yt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new St(o),this.collisionCircleArrays={},this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={};}getBucketParts(e,i,o,a){const s=o.getBucket(i),r=o.latestFeatureIndex;if(!s||!r||i.id!==s.layerIds[0])return;const n=o.collisionBoxArray,l=s.layers[0].layout,c=Math.pow(2,this.transform.zoom-o.tileID.overscaledZ),h=o.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(o.tileID.toUnwrapped()),d=\"map\"===l.get(\"text-pitch-alignment\"),_=\"map\"===l.get(\"text-rotation-alignment\"),m=bt(o,1,this.transform.zoom),p=st(u,d,_,this.transform,m);let f=null;if(d){const e=rt(u,d,_,this.transform,m);f=t.multiply([],this.transform.labelPlaneMatrix,e);}this.retainedQueryData[s.bucketInstanceId]=new Ct(s.bucketInstanceId,r,s.sourceLayerIndex,s.index,o.tileID);const g={bucket:s,layout:l,posMatrix:u,textLabelPlaneMatrix:p,labelToScreenMatrix:f,scale:c,textPixelRatio:h,holdingForFade:o.holdingForFade(),collisionBoxArray:n,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(a)for(const t of s.sortKeyRanges){const{sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:a}=t;e.push({sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:a,parameters:g});}else e.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:g});}attemptAnchorPlacement(t,e,i,o,a,s,r,n,l,c,h,u,d,_,m,p){const f=[u.textOffset0,u.textOffset1],g=Dt(t,i,o,f,a),x=this.collisionIndex.placeCollisionBox(zt(e,g.x,g.y,s,r,this.transform.angle),h,n,l,c.predicate,p);if((!m||0!==this.collisionIndex.placeCollisionBox(zt(m,g.x,g.y,s,r,this.transform.angle),h,n,l,c.predicate,p).box.length)&&x.box.length>0){let e;return this.prevPlacement&&this.prevPlacement.variableOffsets[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID].text&&(e=this.prevPlacement.variableOffsets[u.crossTileID].anchor),this.variableOffsets[u.crossTileID]={textOffset:f,width:i,height:o,anchor:t,textBoxScale:a,prevAnchor:e},this.markUsedJustification(d,t,u,_),d.allowVerticalPlacement&&(this.markUsedOrientation(d,_,u),this.placedOrientations[u.crossTileID]=_),{shift:g,placedGlyphBoxes:x}}}placeLayerBucketPart(e,i,o){const{bucket:a,layout:s,posMatrix:r,textLabelPlaneMatrix:n,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:d,collisionGroup:_}=e.parameters,m=s.get(\"text-optional\"),p=s.get(\"icon-optional\"),f=t.getOverlapMode(s,\"text-overlap\",\"text-allow-overlap\"),g=\"always\"===f,x=t.getOverlapMode(s,\"icon-overlap\",\"icon-allow-overlap\"),v=\"always\"===x,y=\"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=g&&(v||!a.hasIconData()||p),I=v&&(g||!a.hasTextData()||m);!a.collisionArrays&&u&&a.deserializeCollisionBoxes(u);const C=(e,u)=>{if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Et(!1,!1,!1));let v=!1,T=!1,C=!0,S=null,D={box:null,offscreen:null},z={box:null,offscreen:null},P=null,M=null,A=null,R=0,L=0,k=0;u.textFeatureIndex?R=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(R=e.featureIndex),u.verticalTextFeatureIndex&&(L=u.verticalTextFeatureIndex);const B=this.retainedQueryData[a.bucketInstanceId].tileID,F=this.terrain?(t,e)=>this.terrain.getElevation(B,t,e):null;for(const t of [\"textBox\",\"verticalTextBox\",\"iconBox\",\"verticalIconBox\"]){const e=u[t];e&&(e.elevation=F?F(e.anchorPointX,e.anchorPointY):0);}const O=u.textBox;if(O){const i=i=>{let o=t.WritingMode.horizontal;if(a.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,o=t,this.markUsedOrientation(a,o,e));}return o},o=(i,o)=>{if(a.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of a.writingModes)if(e===t.WritingMode.vertical?(D=o(),z=D):D=i(),D&&D.box&&D.box.length)break}else D=i();};if(s.get(\"text-variable-anchor\")){let n=s.get(\"text-variable-anchor\");if(this.prevPlacement&&this.prevPlacement.variableOffsets[e.crossTileID]){const t=this.prevPlacement.variableOffsets[e.crossTileID];n.indexOf(t.anchor)>0&&(n=n.filter((e=>e!==t.anchor)),n.unshift(t.anchor));}const l=(t,i,o)=>{const s=t.x2-t.x1,l=t.y2-t.y1,h=e.textBoxScale,u=w&&\"never\"===x?i:null;let d={box:[],offscreen:!1};const m=\"never\"!==f?2*n.length:n.length;for(let i=0;i=n.length?f:\"never\",e,a,o,u,F);if(m&&(d=m.placedGlyphBoxes,d&&d.box&&d.box.length)){v=!0,S=m.shift;break}}return d};o((()=>l(O,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return a.allowVerticalPlacement&&!(D&&D.box&&D.box.length)&&e.numVerticalGlyphVertices>0&&i?l(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),D&&(v=D.box,C=D.offscreen);const h=i(D&&D.box);if(!v&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(a,t.anchor,e,h));}}else {const s=(t,i)=>{const o=this.collisionIndex.placeCollisionBox(t,f,c,r,_.predicate,F);return o&&o.box&&o.box.length&&(this.markUsedOrientation(a,i,e),this.placedOrientations[e.crossTileID]=i),o};o((()=>s(O,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return a.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?s(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(D&&D.box&&D.box.length);}}if(P=D,v=P&&P.box&&P.box.length>0,C=P&&P.offscreen,e.useRuntimeCollisionCircles){const i=a.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(a.textSizeData,d,i),h=s.get(\"text-padding\");M=this.collisionIndex.placeCollisionCircles(f,i,a.lineVertexArray,a.glyphOffsetArray,c,r,n,l,o,b,_.predicate,e.collisionCircleDiameter,h,F),v=g||M.circles.length>0&&!M.collisionDetected,C=C&&M.offscreen;}if(u.iconFeatureIndex&&(k=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&S?zt(t,S.x,S.y,y,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,x,c,r,_.predicate,F)};z&&z.box&&z.box.length&&u.verticalIconBox?(A=t(u.verticalIconBox),T=A.box.length>0):(A=t(u.iconBox),T=A.box.length>0),C=C&&A.offscreen;}const U=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,N=p||0===e.numIconVertices;if(U||N?N?U||(T=T&&v):v=T&&v:T=v=T&&v,v&&P&&P.box&&this.collisionIndex.insertCollisionBox(P.box,f,s.get(\"text-ignore-placement\"),a.bucketInstanceId,z&&z.box&&L?L:R,_.ID),T&&A&&this.collisionIndex.insertCollisionBox(A.box,x,s.get(\"icon-ignore-placement\"),a.bucketInstanceId,k,_.ID),M&&(v&&this.collisionIndex.insertCollisionCircles(M.circles,f,s.get(\"text-ignore-placement\"),a.bucketInstanceId,R,_.ID),o)){const t=a.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new It);for(let t=0;t=0;--e){const i=t[e];C(a.symbolInstances.get(i),a.collisionArrays[i]);}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=s>=0&&t!==s?0:o.crossTileID);}markUsedOrientation(e,i,o){const a=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,s=i===t.WritingMode.vertical?i:0,r=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex];for(const t of r)e.text.placedSymbolArray.get(t).placedOrientation=a;o.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(o.verticalPlacedTextSymbolIndex).placedOrientation=s);}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const o=e?e.symbolFadeChange(t):1,a=e?e.opacities:{},s=e?e.variableOffsets:{},r=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],s=a[t];s?(this.opacities[t]=new Tt(s,o,e.text,e.icon),i=i||e.text!==s.text.placed||e.icon!==s.icon.placed):(this.opacities[t]=new Tt(null,o,e.text,e.icon,e.skipFade),i=i||e.text||e.icon);}for(const t in a){const e=a[t];if(!this.opacities[t]){const a=new Tt(e,o,!1,!1);a.isHidden()||(this.opacities[t]=a,i=i||e.text.placed||e.icon.placed);}}for(const t in s)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=s[t]);for(const t in r)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=r[t]);i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);}updateLayerOpacities(t,e){const i={};for(const o of e){const e=o.getBucket(t);e&&o.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,o.collisionBoxArray);}}updateBucketOpacities(e,i,o){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const a=e.layers[0].layout,s=new Tt(null,0,!1,!1,!0),r=a.get(\"text-allow-overlap\"),n=a.get(\"icon-allow-overlap\"),l=a.get(\"text-variable-anchor\"),c=\"map\"===a.get(\"text-rotation-alignment\"),h=\"map\"===a.get(\"text-pitch-alignment\"),u=\"none\"!==a.get(\"icon-text-fit\"),d=new Tt(null,0,r&&(n||!e.hasIconData()||a.get(\"icon-optional\")),n&&(r||!e.hasTextData()||a.get(\"text-optional\")),!0);!e.collisionArrays&&o&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(o);const _=(t,e,i)=>{for(let o=0;o0,g=this.placedOrientations[a.crossTileID],x=g===t.WritingMode.vertical,v=g===t.WritingMode.horizontal||g===t.WritingMode.horizontalOnly;if(r>0||n>0){const t=Ut(p.text);_(e.text,r,x?Nt:t),_(e.text,n,v?Nt:t);const i=p.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||x?1:0);})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=i||v?1:0);const o=this.variableOffsets[a.crossTileID];o&&this.markUsedJustification(e,o.anchor,a,g);const s=this.placedOrientations[a.crossTileID];s&&(this.markUsedJustification(e,\"left\",a,s),this.markUsedOrientation(e,s,a));}if(f){const t=Ut(p.icon),i=!(u&&a.verticalPlacedIconSymbolIndex&&x);a.placedIconSymbolIndex>=0&&(_(e.icon,a.numIconVertices,i?t:Nt),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=p.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(_(e.icon,a.numVerticalIconVertices,i?Nt:t),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=p.icon.isHidden());}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[o];if(i){let o=new t.pointGeometry(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(l){const e=this.variableOffsets[m];e?(o=Dt(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),c&&o._rotate(h?this.transform.angle:-this.transform.angle)):t=!1;}i.textBox&&Mt(e.textCollisionBox.collisionVertexArray,p.text.placed,!t||x,o.x,o.y),i.verticalTextBox&&Mt(e.textCollisionBox.collisionVertexArray,p.text.placed,!t||v,o.x,o.y);}const a=Boolean(!v&&i.verticalIconBox);i.iconBox&&Mt(e.iconCollisionBox.collisionVertexArray,p.icon.placed,a,u?o.x:0,u?o.y:0),i.verticalIconBox&&Mt(e.iconCollisionBox.collisionVertexArray,p.icon.placed,!a,u?o.x:0,u?o.y:0);}}}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){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId];}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0;}}function Mt(t,e,i,o,a){t.emplaceBack(e?1:0,i?1:0,o||0,a||0),t.emplaceBack(e?1:0,i?1:0,o||0,a||0),t.emplaceBack(e?1:0,i?1:0,o||0,a||0),t.emplaceBack(e?1:0,i?1:0,o||0,a||0);}const At=Math.pow(2,25),Rt=Math.pow(2,24),Lt=Math.pow(2,17),kt=Math.pow(2,16),Bt=Math.pow(2,9),Ft=Math.pow(2,8),Ot=Math.pow(2,1);function Ut(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*At+e*Rt+i*Lt+e*kt+i*Bt+e*Ft+i*Ot+e}const Nt=0;class Gt{constructor(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&!t.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];}continuePlacement(t,e,i,o,a){const s=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-a;return !this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===t.type&&(!t.minzoom||t.minzoom<=a)&&(!t.maxzoom||t.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new Gt(t)),this._inProgressLayer.continuePlacement(o[t.source],this.placement,this._showCollisionBoxes,t,s))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(t){return this.placement.commit(t),this.placement}}const qt=512/t.EXTENT/2;class Vt{constructor(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(let i=0;it.overscaledZ)for(const i in a){const s=a[i];s.tileID.isChildOf(t)&&s.findMatches(e.symbolInstances,t,o);}else {const s=a[t.scaledTo(Number(i)).key];s&&s.findMatches(e.symbolInstances,t,o);}}for(let t=0;t{e[t]=!0;}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t];}}var Wt=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]);class Ht extends t.Evented{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.renderHistory=[],this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,this.renderHistorySize=t._cache.max,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom;}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;for(const t in this._tiles){const e=this._tiles[t];e.textures.forEach((t=>t.destroy())),e.textures=[];}}update(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];for(const o of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))this._renderableTilesKeys.push(o.key),this._tiles[o.key]||(o.posMatrix=new Float64Array(16),t.ortho(o.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[o.key]=new k(o,this.tileSize));}removeOutdated(t){const e={};this.renderHistory=this.renderHistory.filter(((t,e)=>this.renderHistory.indexOf(t)===e)).slice(0,this.renderHistorySize);for(const t of this._renderableTilesKeys)e[t]=!0;for(const t of this.renderHistory)e[t]=!0;for(const i in this._tiles)e[i]||(this._tiles[i].clearTextures(t),delete this._tiles[i]);}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(e){const i={};for(const o of this._renderableTilesKeys){const a=this._tiles[o].tileID;if(a.canonical.equals(e.canonical)){const a=e.clone();a.posMatrix=new Float64Array(16),t.ortho(a.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[o]=a;}else if(a.canonical.isChildOf(e.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const r=a.canonical.z-e.canonical.z,n=a.canonical.x-(a.canonical.x>>r<>r<>r;t.ortho(s.posMatrix,0,c,0,c,0,1),t.translate(s.posMatrix,s.posMatrix,[-n*c,-l*c,0]),i[o]=s;}else if(e.canonical.isChildOf(a.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const r=e.canonical.z-a.canonical.z,n=e.canonical.x-(e.canonical.x>>r<>r<>r;t.ortho(s.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(s.posMatrix,s.posMatrix,[n*c,l*c,0]),t.scale(s.posMatrix,s.posMatrix,[1/2**r,1/2**r,0]),i[o]=s;}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let o=t.overscaledZ-this.deltaZoom;if(o>i.maxzoom&&(o=i.maxzoom),o=i.minzoom&&(!a||!a.dem);)a=this.sourceCache.getTileByID(t.scaledTo(o--).key);return a}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeLoaded>=t))}}class Kt{constructor(t,e,i){this.style=t,this.sourceCache=new Ht(e),this.options=i,this.exaggeration=\"number\"==typeof i.exaggeration?i.exaggeration:1,this.elevationOffset=\"number\"==typeof i.elevationOffset?i.elevationOffset:450,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024,this.clearRerenderCache();}getDEMElevation(e,i,o,a=t.EXTENT){if(!(i>=0&&i=0&&oe.canonical.z&&(e.canonical.z>=o?a=e.canonical.z-o:t.warnOnce(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const s=e.canonical.x-(e.canonical.x>>a<>a<>8<<4|t>>8,i[e+3]=0;const o=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),a=new l(e,o,e.gl.RGBA,{premultiply:!1});return a.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=a,a}pointCoordinate(e){const i=new Uint8Array(4),o=this.style.map.painter,a=o.context,s=a.gl;a.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),s.readPixels(e.x,o.height/devicePixelRatio-e.y-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),a.bindFramebuffer.set(null);const r=i[0]+(i[2]>>4<<8),n=i[1]+((15&i[2])<<8),l=this.coordsIndex[255-i[3]],c=l&&this.sourceCache.getTileByID(l);if(!c)return null;const h=this._coordsTextureSize,u=(1<t.emitValidationErrors(e,i&&i.filter((t=>\"source.canvas\"!==t.identifier))),Jt=t.pick(W,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Qt=t.pick(W,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),te=function(){const e={},i=t.spec.$version;for(const o in t.spec.$root){const a=t.spec.$root[o];if(a.required){let t=null;t=\"version\"===o?i:\"array\"===a.type?[]:{},null!=t&&(e[o]=t);}}return e}();class ee extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new v(j(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new m(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new x(256,512),this.crossTileSymbolIndex=new $t,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());const o=this;this._rtlTextPluginCallback=ee.registerForPluginStateChange((e=>{o.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in o.sourceCaches)o.sourceCaches[t].reload();}));})),this.on(\"data\",(t=>{if(\"source\"!==t.dataType||\"metadata\"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e);}}));}loadURL(e,i={}){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));const o=\"boolean\"!=typeof i.validate||i.validate,a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,o);}));}loadJSON(e,i={}){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate);}));}loadEmpty(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(te,!1);}_load(e,i){if(i&&Yt(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=e;for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);const o=$(this.stylesheet.layers);this._order=o.map((t=>t.id)),this._layers={},this._serializedLayers={};for(let e of o)e=t.createStyleLayer(e),e.setEventedParent(this,{layer:{id:e.id}}),this._layers[e.id]=e,this._serializedLayers[e.id]=e.serialize();this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new g(this.stylesheet.light),this.setTerrain(this.stylesheet.terrain),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"));}_loadSprite(e){this._spriteRequest=function(e,i,o,a){let s,r,n;const l=o>1?\"@2x\":\"\";let c=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,l,\".json\"),t.ResourceType.SpriteJSON),((t,e)=>{c=null,n||(n=t,s=e,u());})),h=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,l,\".png\"),t.ResourceType.SpriteImage),((t,e)=>{h=null,n||(n=t,r=e,u());}));function u(){if(n)a(n);else if(s&&r){const e=t.exported.getImageData(r),i={};for(const o in s){const{width:a,height:r,x:n,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:_}=s[o],m=new t.RGBAImage({width:a,height:r});t.RGBAImage.copy(e,m,{x:n,y:l},{x:0,y:0},{width:a,height:r}),i[o]={data:m,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:_};}a(null,i);}}return {cancel(){c&&(c.cancel(),c=null),h&&(h.cancel(),h=null);}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));}));}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const o=e.sourceLayer;if(!o)return;const a=i.getSource();(\"geojson\"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(o))&&this.fire(new t.ErrorEvent(new Error(`Source layer \"${o}\" does not exist on source \"${a.id}\" as specified by style layer \"${e.id}\".`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];\"custom\"!==t.type&&e.push(t.serialize());}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(const t in this._layers)if(this._layers[t].hasTransition())return !0;return !1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];\"reload\"===e?this._reloadSource(t):\"clear\"===e&&this._clearSource(t);}this._updateTilesForChangedImages();for(const t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates();}const o={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];o[t]=e.used,e.used=!1;}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);}for(const e in o){const i=this.sourceCaches[e];o[e]!==i.used&&i.fire(new t.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:e}));}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event(\"data\",{dataType:\"style\"}));}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};}setTerrain(e){if(this._checkLoaded(),this._terrainDataCallback&&this.off(\"data\",this._terrainDataCallback),this._terrainfreezeElevationCallback&&this.map.off(\"freezeElevation\",this._terrainfreezeElevationCallback),e){const t=this.sourceCaches[e.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain=new Kt(this,t,e),this.map.transform.updateElevation(this.terrain),this._terrainfreezeElevationCallback=t=>{t.freeze?this.map.transform.freezeElevation=!0:(this.map.transform.freezeElevation=!1,this.map.transform.recalculateZoom(this.terrain));},this._terrainDataCallback=t=>{t.tile&&(t.sourceId===e.source?(this.map.transform.updateElevation(this.terrain),this.terrain.rememberForRerender(t.sourceId,t.tile.tileID)):\"geojson\"===t.source.type&&this.terrain.rememberForRerender(t.sourceId,t.tile.tileID));},this.on(\"data\",this._terrainDataCallback),this.map.on(\"freezeElevation\",this._terrainfreezeElevationCallback);}else this.terrain=null,this.map.transform.updateElevation(this.terrain);this.map.fire(new t.Event(\"terrain\",{terrain:e}));}setState(e){if(this._checkLoaded(),Yt(this,t.validateStyle(e)))return !1;(e=t.clone$1(e)).layers=$(e.layers);const i=function(t,e){if(!t)return [{command:W.setStyle,args:[e]}];let i=[];try{if(!a(t.version,e.version))return [{command:W.setStyle,args:[e]}];a(t.center,e.center)||i.push({command:W.setCenter,args:[e.center]}),a(t.zoom,e.zoom)||i.push({command:W.setZoom,args:[e.zoom]}),a(t.bearing,e.bearing)||i.push({command:W.setBearing,args:[e.bearing]}),a(t.pitch,e.pitch)||i.push({command:W.setPitch,args:[e.pitch]}),a(t.sprite,e.sprite)||i.push({command:W.setSprite,args:[e.sprite]}),a(t.glyphs,e.glyphs)||i.push({command:W.setGlyphs,args:[e.glyphs]}),a(t.transition,e.transition)||i.push({command:W.setTransition,args:[e.transition]}),a(t.light,e.light)||i.push({command:W.setLight,args:[e.light]});const o={},s=[];!function(t,e,i,o){let s;for(s in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,s)&&(Object.prototype.hasOwnProperty.call(e,s)||K(s,i,o));for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&(Object.prototype.hasOwnProperty.call(t,s)?a(t[s],e[s])||(\"geojson\"===t[s].type&&\"geojson\"===e[s].type&&J(t,e,s)?i.push({command:W.setGeoJSONSourceData,args:[s,e[s].data]}):Y(s,e,i,o)):H(s,e,i));}(t.sources,e.sources,s,o);const r=[];t.layers&&t.layers.forEach((t=>{o[t.source]?i.push({command:W.removeLayer,args:[t.id]}):r.push(t);})),i=i.concat(s),function(t,e,i){e=e||[];const o=(t=t||[]).map(tt),s=e.map(tt),r=t.reduce(et,{}),n=e.reduce(et,{}),l=o.slice(),c=Object.create(null);let h,u,d,_,m,p,f;for(h=0,u=0;h!(t.command in Qt)));if(0===i.length)return !1;const o=i.filter((t=>!(t.command in Jt)));if(o.length>0)throw new Error(`Unimplemented: ${o.map((t=>t.command)).join(\", \")}.`);return i.forEach((t=>{\"setTransition\"!==t.command&&this[t.command].apply(this,t.args);})),this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named \"${e}\" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e);}updateImage(t,e){this.imageManager.updateImage(t,e);}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named \"${e}\" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e);}_afterImageUpdated(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\"}));}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,o={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source \"${e}\" already exists.`);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))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const a=this.sourceCaches[e]=new O(e,i,this.dispatcher);a.style=this,a.setEventedParent(this,(()=>({isSourceLoaded:this.loaded(),source:a.serialize(),sourceId:e}))),a.onAdd(this.map),this._changed=!0;}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(const 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.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0;}setGeoJSONSourceData(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0;}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(e,i,o={}){this._checkLoaded();const a=e.id;if(this.getLayer(a))return void this.fire(new t.ErrorEvent(new Error(`Layer \"${a}\" already exists on this map.`)));let s;if(\"custom\"===e.type){if(Yt(this,t.validateCustomStyleLayer(e)))return;s=t.createStyleLayer(e);}else {if(\"object\"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,`layers.${a}`,e,{arrayIndex:-1},o))return;s=t.createStyleLayer(e),this._validateLayer(s),s.setEventedParent(this,{layer:{id:a}}),this._serializedLayers[s.id]=s.serialize();}const r=i?this._order.indexOf(i):this._order.length;if(i&&-1===r)this.fire(new t.ErrorEvent(new Error(`Cannot add layer \"${a}\" before non-existing layer \"${i}\".`)));else {if(this._order.splice(r,0,a),this._layerOrderChanged=!0,this._layers[a]=s,this._removedLayers[a]&&s.source&&\"custom\"!==s.type){const t=this._removedLayers[a];delete this._removedLayers[a],t.type!==s.type?this._updatedSources[s.source]=\"clear\":(this._updatedSources[s.source]=\"reload\",this.sourceCaches[s.source].pause());}this._updateLayer(s),s.onAdd&&s.onAdd(this.map);}}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const o=this._order.indexOf(e);this._order.splice(o,1);const a=i?this._order.indexOf(i):this._order.length;i&&-1===a?this.fire(new t.ErrorEvent(new Error(`Cannot move layer \"${e}\" before non-existing layer \"${i}\".`))):(this._order.splice(a,0,e),this._layerOrderChanged=!0);}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer \"${e}\".`)));i.setEventedParent(null);const 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);}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,o){this._checkLoaded();const a=this.getLayer(e);a?a.minzoom===i&&a.maxzoom===o||(null!=i&&(a.minzoom=i),null!=o&&(a.maxzoom=o),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer \"${e}\".`)));}setFilter(e,i,o={}){this._checkLoaded();const s=this.getLayer(e);if(s){if(!a(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(t.validateStyle.filter,`layers.${s.id}.filter`,i,null,o)||(s.filter=t.clone$1(i),this._updateLayer(s)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer \"${e}\".`)));}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,o,s={}){this._checkLoaded();const r=this.getLayer(e);r?a(r.getLayoutProperty(i),o)||(r.setLayoutProperty(i,o,s),this._updateLayer(r)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer \"${e}\".`)));}getLayoutProperty(e,i){const o=this.getLayer(e);if(o)return o.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer \"${e}\".`)));}setPaintProperty(e,i,o,s={}){this._checkLoaded();const r=this.getLayer(e);r?a(r.getPaintProperty(i),o)||(r.setPaintProperty(i,o,s)&&this._updateLayer(r),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer \"${e}\".`)));}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const o=e.source,a=e.sourceLayer,s=this.sourceCaches[o];if(void 0===s)return void this.fire(new t.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const r=s.getSource().type;\"geojson\"===r&&a?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==r||a?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),s.setFeatureState(a,e.id,i)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}removeFeatureState(e,i){this._checkLoaded();const o=e.source,a=this.sourceCaches[o];if(void 0===a)return void this.fire(new t.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const s=a.getSource().type,r=\"vector\"===s?e.sourceLayer:void 0;\"vector\"!==s||r?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.\"))):a.removeFeatureState(r,e.id,i):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}getFeatureState(e){this._checkLoaded();const i=e.source,o=e.sourceLayer,a=this.sourceCaches[i];if(void 0!==a)return \"vector\"!==a.getSource().type||o?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.getFeatureState(o,e.id)):void this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){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,(t=>t.serialize())),layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(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;}_flattenAndSortRenderedFeatures(t){const e=t=>\"fill-extrusion\"===this._layers[t].type,i={},o=[];for(let a=this._order.length-1;a>=0;a--){const s=this._order[a];if(e(s)){i[s]=a;for(const e of t){const t=e[s];if(t)for(const e of t)o.push(e);}}}o.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const a=[];for(let s=this._order.length-1;s>=0;s--){const r=this._order[s];if(e(r))for(let t=o.length-1;t>=0;t--){const e=o[t].feature;if(i[e.layer.id]{const o=i.featureSortOrder;if(o){const i=o.indexOf(t.featureIndex);return o.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of a)e.push(t);}}for(const e in n)n[e].forEach((o=>{const a=o.feature,s=i[t[e].source].getFeatureState(a.layer[\"source-layer\"],a.id);a.source=a.layer.source,a.layer[\"source-layer\"]&&(a.sourceLayer=a.layer[\"source-layer\"]),a.state=s;}));return n}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",i.filter,null,i);const o=this.sourceCaches[e];return o?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),o=[],a={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)));}const o=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);r=r||o;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===o)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new Zt(e,this.terrain,this._order,s,i,o,a,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.exported.now()),n=!0),r&&this.pauseablePlacement.placement.setStale()),n||r)for(const t of this._order){const e=this._layers[t];\"symbol\"===e.type&&this.placement.updateLayerOpacities(e,l[e.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const o=this.sourceCaches[e.source];o&&o.setDependencies(e.tileID.key,e.type,e.icons);}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);}getResource(e,i,o){return t.makeRequest(i,o)}}ee.getSourceType=function(t){return M[t]},ee.setSourceType=function(t,e){M[t]=e;},ee.registerForPluginStateChange=t.registerForPluginStateChange;var ie=\"attribute vec2 a_pos;uniform mat4 u_matrix;varying vec2 v_texture_pos;varying float v_depth;void main() {v_texture_pos=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);v_depth=gl_Position.z/gl_Position.w;}\";const oe={prelude:ae(\"#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;}\\n#ifdef TERRAIN3D\\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_offset;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\\n#endif\\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\\n#ifdef TERRAIN3D\\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\\n#else\\nreturn 1.0;\\n#endif\\n}float calculate_visibility(vec4 pos) {\\n#ifdef TERRAIN3D\\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\\n#else\\nreturn 1.0;\\n#endif\\n}float ele(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\\n#else\\nreturn 0.0;\\n#endif\\n}float get_elevation(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return (elevation+u_terrain_offset)*u_terrain_exaggeration;\\n#else\\nreturn 0.0;\\n#endif\\n}\"),background:ae(\"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);}\"),backgroundPattern:ae(\"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);}\"),circle:ae(\"varying vec3 v_data;varying float v_visibility;\\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=v_visibility*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;varying float v_visibility;\\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);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));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,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,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);}\"),clippingMask:ae(\"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);}\"),heatmap:ae(\"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;}\"),heatmapTexture:ae(\"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;}\"),collisionBox:ae(\"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,get_elevation(a_pos),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;}\"),collisionCircle:ae(\"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);}\"),debug:ae(\"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,get_elevation(a_pos),1);}\"),fill:ae(\"#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);}\"),fillOutline:ae(\"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;}\"),fillOutlinePattern:ae(\"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;}\"),fillPattern:ae(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform 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);}\"),fillExtrusion:ae(\"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;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying 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;\\n#ifdef TERRAIN3D\\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\\n#else\\nfloat baseDelta=0.0;float ele=0.0;\\n#endif\\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+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;}\"),fillExtrusionPattern:ae(\"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;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying 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;\\n#ifdef TERRAIN3D\\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\\n#else\\nfloat baseDelta=0.0;float ele=0.0;\\n#endif\\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+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;}\"),hillshadePrepare:ae(\"#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;}\"),hillshade:ae(\"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;}\"),line:ae(\"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;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat 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;\\n#endif\\nv_width2=vec2(outset,inset);}\"),lineGradient:ae(\"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;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat 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;\\n#endif\\nv_width2=vec2(outset,inset);}\"),linePattern:ae(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform 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;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat 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;\\n#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),lineSDF:ae(\"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;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat 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;\\n#endif\\nv_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);}\"),raster:ae(\"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;}\"),symbolIcon:ae(\"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;float ele=get_elevation(a_pos);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,ele,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),ele,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,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;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),z,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;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}\"),symbolSDF:ae(\"#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;float ele=get_elevation(a_pos);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,ele,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),ele,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,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),symbolTextAndIcon:ae(\"#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;float ele=get_elevation(a_pos);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,ele,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),ele,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,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,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);}\"),terrain:ae(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",ie),terrainDepth:ae(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",ie),terrainCoords:ae(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",ie)};function ae(t,e){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,o=e.match(/attribute ([\\w]+) ([\\w]+)/g),a=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),s=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),r=s?s.concat(a):a,n={};return {fragmentSource:t=t.replace(i,((t,e,i,o,a)=>(n[a]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nvarying ${i} ${o} ${a};\\n#else\\nuniform ${i} ${o} u_${a};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${a}\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`))),vertexSource:e=e.replace(i,((t,e,i,o,a)=>{const s=\"float\"===o?\"vec2\":\"vec4\",r=a.match(/color/)?\"color\":s;return n[a]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nuniform lowp float u_${a}_t;\\nattribute ${i} ${s} a_${a};\\nvarying ${i} ${o} ${a};\\n#else\\nuniform ${i} ${o} u_${a};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${a} = a_${a};\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${a} = unpack_mix_${r}(a_${a}, u_${a}_t);\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nuniform lowp float u_${a}_t;\\nattribute ${i} ${s} a_${a};\\n#else\\nuniform ${i} ${o} u_${a};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${i} ${o} ${a} = a_${a};\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${i} ${o} ${a} = unpack_mix_${r}(a_${a}, u_${a}_t);\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`})),staticAttributes:o,staticUniforms:r}}class se{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;}bind(t,e,i,o,a,s,r,n,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==o.length;for(let t=0;!c&&t({u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_offset:new t.Uniform1f(e,i.u_terrain_offset),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,w),this.binderUniforms=a?a.getUniforms(e,w):[];}draw(t,e,i,o,a,s,r,n,l,c,h,u,d,_,m,p,f,g){const x=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(o),t.setColorMode(a),t.setCullFace(s),n){t.activeTexture.set(x.TEXTURE2),x.bindTexture(x.TEXTURE_2D,n.depthTexture),t.activeTexture.set(x.TEXTURE3),x.bindTexture(x.TEXTURE_2D,n.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(n[t]);}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(r[t]);m&&m.setUniforms(t,this.binderUniforms,d,{zoom:_});const v={[x.LINES]:2,[x.TRIANGLES]:3,[x.LINE_STRIP]:1}[e];for(const i of u.get()){const o=i.vaos||(i.vaos={});(o[l]||(o[l]=new se)).bind(t,this,c,m?m.getPaintVertexBuffers():[],h,i.vertexOffset,p,f,g),x.drawElements(e,i.primitiveLength*v,x.UNSIGNED_SHORT,i.primitiveOffset*v*2);}}}function le(t,e,i){const o=1/bt(i,1,e.transform.tileZoom),a=Math.pow(2,i.tileID.overscaledZ),s=i.tileSize*Math.pow(2,e.transform.tileZoom)/a,r=s*(i.tileID.canonical.x+i.tileID.wrap*a),n=s*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:[r>>16,n>>16],u_pixel_coord_lower:[65535&r,65535&n]}}const ce=(e,i,o,a)=>{const s=i.style.light,r=s.properties.get(\"position\"),n=[r.x,r.y,r.z],l=t.create$1();\"viewport\"===s.properties.get(\"anchor\")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(n,n,l);const c=s.properties.get(\"color\");return {u_matrix:e,u_lightpos:n,u_lightintensity:s.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+o,u_opacity:a}},he=(e,i,o,a,s,r,n)=>t.extend(ce(e,i,o,a),le(r,i,n),{u_height_factor:-Math.pow(2,s.overscaledZ)/n.tileSize/8}),ue=t=>({u_matrix:t}),de=(e,i,o,a)=>t.extend(ue(e),le(o,i,a)),_e=(t,e)=>({u_matrix:t,u_world:e}),me=(e,i,o,a,s)=>t.extend(de(e,i,o,a),{u_world:s}),pe=(t,e,i,o)=>{const a=t.transform;let s,r;if(\"map\"===o.paint.get(\"circle-pitch-alignment\")){const t=bt(i,1,a.zoom);s=!0,r=[t,t];}else s=!1,r=a.pixelsToGLUnits;return {u_camera_to_center_distance:a.cameraToCenterDistance,u_scale_with_map:+(\"map\"===o.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,i,o.paint.get(\"circle-translate\"),o.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+s,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:r}},fe=(t,e,i)=>{const o=bt(i,1,e.zoom),a=Math.pow(2,e.zoom-i.tileID.overscaledZ),s=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*a),e.pixelsToGLUnits[1]/(o*a)],u_overscale_factor:s}},ge=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),xe=t=>({u_matrix:t}),ve=(t,e,i,o)=>({u_matrix:t,u_extrude_scale:bt(e,1,i),u_intensity:o});function ye(e,i){const o=Math.pow(2,i.canonical.z),a=i.canonical.y;return [new t.MercatorCoordinate(0,a/o).toLngLat().lat,new t.MercatorCoordinate(0,(a+1)/o).toLngLat().lat]}const be=(t,e,i,o)=>{const a=t.transform;return {u_matrix:Ce(t,e,i,o),u_ratio:1/bt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},we=(e,i,o,a,s)=>t.extend(be(e,i,o,s),{u_image:0,u_image_height:a}),Te=(t,e,i,o,a)=>{const s=t.transform,r=Ie(e,s);return {u_matrix:Ce(t,e,i,a),u_texsize:e.imageAtlasTexture.size,u_ratio:1/bt(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[r,o.fromScale,o.toScale],u_fade:o.t,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Ee=(e,i,o,a,s,r)=>{const n=e.lineAtlas,l=Ie(i,e.transform),c=\"round\"===o.layout.get(\"line-cap\"),h=n.getDash(a.from,c),u=n.getDash(a.to,c),d=h.width*s.fromScale,_=u.width*s.toScale;return t.extend(be(e,i,o,r),{u_patternscale_a:[l/d,-h.height/2],u_patternscale_b:[l/_,-u.height/2],u_sdfgamma:n.width/(256*Math.min(d,_)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:s.t})};function Ie(t,e){return 1/bt(t,1,e.tileZoom)}function Ce(t,e,i,o){return t.translatePosMatrix(o?o.posMatrix:e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}const Se=(t,e,i,o,a)=>{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*a.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get(\"raster-brightness-min\"),u_brightness_high:a.paint.get(\"raster-brightness-max\"),u_saturation_factor:(r=a.paint.get(\"raster-saturation\"),r>0?1-1/(1.001-r):-r),u_contrast_factor:(s=a.paint.get(\"raster-contrast\"),s>0?1/(1-s):1+s),u_spin_weights:De(a.paint.get(\"raster-hue-rotate\"))};var s,r;};function De(t){t*=Math.PI/180;const 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]}const ze=(t,e,i,o,a,s,r,n,l,c)=>{const h=a.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:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:r,u_coord_matrix:n,u_is_text:+l,u_pitch_with_map:+o,u_texsize:c,u_texture:0}},Pe=(e,i,o,a,s,r,n,l,c,h,u)=>{const d=s.transform;return t.extend(ze(e,i,o,a,s,r,n,l,c,h),{u_gamma_scale:a?Math.cos(d._pitch)*d.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+u})},Me=(e,i,o,a,s,r,n,l,c,h)=>t.extend(Pe(e,i,o,a,s,r,n,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Ae=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),Re=(e,i,o,a,s,r)=>t.extend(function(t,e,i,o){const a=i.imageManager.getPattern(t.from.toString()),s=i.imageManager.getPattern(t.to.toString()),{width:r,height:n}=i.imageManager.getPixelSize(),l=Math.pow(2,o.tileID.overscaledZ),c=o.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(o.tileID.canonical.x+o.tileID.wrap*l),u=c*o.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:s.tl,u_pattern_br_b:s.br,u_texsize:[r,n],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:s.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/bt(o,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(a,r,o,s),{u_matrix:e,u_opacity:i}),Le={fillExtrusion:(e,i)=>({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:(e,i)=>({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:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({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:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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:(e,i)=>({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)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id)})};class ke{constructor(t,e,i){this.context=t;const 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;}bind(){this.context.bindElementBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);}}const Be={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Fe{constructor(t,e,i,o){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=o,this.context=t;const a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindVertexBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);}enableAttributes(t,e){for(let i=0;i0){const i=t.create(),o=x;t.mul(i,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,g.placementViewportMatrix),u.push({circleArray:y,circleOffset:_,transform:o,invTransform:i,coord:p}),d+=y.length/4,_=d;}v&&h.draw(l,c.LINES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Ii.disabled,fe(x,e.transform,f),e.style.terrain&&e.style.terrain.getTerrainData(p),o.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,null,e.transform.zoom,null,null,v.collisionVertexBuffer);}if(!n||!u.length)return;const m=e.useProgram(\"collisionCircle\"),p=new t.CollisionCircleLayoutArray;p.resize(4*d),p._trim();let f=0;for(const t of u)for(let e=0;e=0&&(p[f.associatedIconIndex]={shiftedAnchor:I,angle:C});}else gt(f.numGlyphs,_);}if(h){m.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.terrain.getElevation(l,t,i):null,i=\"map\"===o.layout.get(\"text-rotation-alignment\");ht(c,l.posMatrix,e,s,B,F,g,h,i,t);}const N=e.translatePosMatrix(l.posMatrix,a,r,n),G=x||s&&T||U?Di:B,Z=e.translatePosMatrix(F,a,r,n,!0),q=_&&0!==o.paint.get(s?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let V;V=_?c.iconsInText?Me(w.kind,S,v,g,e,N,G,Z,z,R):Pe(w.kind,S,v,g,e,N,G,Z,s,z,!0):ze(w.kind,S,v,g,e,N,G,Z,s,z);const j={program:C,buffers:u,uniformValues:V,atlasTexture:P,atlasTextureIcon:L,atlasInterpolation:M,atlasInterpolationIcon:A,isSDF:_,hasHalo:q};if(y&&c.canOverlap){b=!0;const e=u.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:j,terrainData:D});}else E.push({segments:u.segments,sortKey:0,state:j,terrainData:D});}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(_.activeTexture.set(m.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,m.CLAMP_TO_EDGE),i.atlasTextureIcon&&(_.activeTexture.set(m.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,m.CLAMP_TO_EDGE)),i.isSDF){const a=i.uniformValues;i.hasHalo&&(a.u_is_halo=1,Ri(i.buffers,t.segments,o,e,i.program,w,u,d,a,t.terrainData)),a.u_is_halo=0;}Ri(i.buffers,t.segments,o,e,i.program,w,u,d,i.uniformValues,t.terrainData);}}function Ri(t,e,i,o,a,s,r,n,l,c){const h=o.context;a.draw(h,h.gl.TRIANGLES,s,r,n,Ii.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,o.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Li(t,e,i,o,a,s,r){const n=t.context.gl,l=i.paint.get(\"fill-pattern\"),c=l&&l.constantOr(1),h=i.getCrossfadeParameters();let u,d,_,m,p;r?(d=c&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",u=n.LINES):(d=c?\"fillPattern\":\"fill\",u=n.TRIANGLES);for(const f of o){const o=e.getTile(f);if(c&&!o.patternsLoaded())continue;const g=o.getBucket(i);if(!g)continue;const x=g.programConfigurations.get(i.id),v=t.useProgram(d,x),y=t.style.terrain&&t.style.terrain.getTerrainData(f);c&&(t.context.activeTexture.set(n.TEXTURE0),o.imageAtlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE),x.updatePaintBuffers(h));const b=l.constantOr(null);if(b&&o.imageAtlas){const t=o.imageAtlas,e=t.patternPositions[b.to.toString()],i=t.patternPositions[b.from.toString()];e&&i&&x.setConstantPatternPositions(e,i);}const w=y?f:null,T=t.translatePosMatrix(w?w.posMatrix:f.posMatrix,o,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(r){m=g.indexBuffer2,p=g.segments2;const e=[n.drawingBufferWidth,n.drawingBufferHeight];_=\"fillOutlinePattern\"===d&&c?me(T,t,h,o,e):_e(T,e);}else m=g.indexBuffer,p=g.segments,_=c?de(T,t,h,o):ue(T);v.draw(t.context,u,a,t.stencilModeForClipping(f),s,Ii.disabled,_,y,i.id,g.layoutVertexBuffer,m,p,i.paint,t.transform.zoom,x);}}function ki(t,e,i,o,a,s,r){const n=t.context,l=n.gl,c=i.paint.get(\"fill-extrusion-pattern\"),h=c.constantOr(1),u=i.getCrossfadeParameters(),d=i.paint.get(\"fill-extrusion-opacity\");for(const _ of o){const o=e.getTile(_),m=o.getBucket(i);if(!m)continue;const p=t.style.terrain&&t.style.terrain.getTerrainData(_),f=m.programConfigurations.get(i.id),g=t.useProgram(h?\"fillExtrusionPattern\":\"fillExtrusion\",f);h&&(t.context.activeTexture.set(l.TEXTURE0),o.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),f.updatePaintBuffers(u));const x=c.constantOr(null);if(x&&o.imageAtlas){const t=o.imageAtlas,e=t.patternPositions[x.to.toString()],i=t.patternPositions[x.from.toString()];e&&i&&f.setConstantPatternPositions(e,i);}const v=t.translatePosMatrix(_.posMatrix,o,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),y=i.paint.get(\"fill-extrusion-vertical-gradient\"),b=h?he(v,t,y,d,_,u,o):ce(v,t,y,d);g.draw(n,n.gl.TRIANGLES,a,s,r,Ii.backCCW,b,p,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,f,t.style.terrain&&m.centroidVertexBuffer);}}function Bi(t,e,i,o,a,s,r){const n=t.context,l=n.gl,c=i.fbo;if(!c)return;const h=t.useProgram(\"hillshade\"),u=t.style.terrain&&t.style.terrain.getTerrainData(e);n.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(n,l.TRIANGLES,a,s,r,Ii.disabled,((t,e,i,o)=>{const a=i.paint.get(\"hillshade-shadow-color\"),s=i.paint.get(\"hillshade-highlight-color\"),r=i.paint.get(\"hillshade-accent-color\");let n=i.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===i.paint.get(\"hillshade-illumination-anchor\")&&(n-=t.transform.angle);const l=!t.options.moving;return {u_matrix:o?o.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:ye(0,e.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),n],u_shadow:a,u_highlight:s,u_accent:r}})(t,i,o,u?e:null),u,o.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}function Fi(e,i,o,a,s,r){const n=e.context,c=n.gl,h=i.dem;if(h&&h.data){const u=h.dim,d=h.stride,_=h.getPixels();if(n.activeTexture.set(c.TEXTURE1),n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(d),i.demTexture){const t=i.demTexture;t.update(_,{premultiply:!1}),t.bind(c.NEAREST,c.CLAMP_TO_EDGE);}else i.demTexture=new l(n,_,c.RGBA,{premultiply:!1}),i.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);n.activeTexture.set(c.TEXTURE0);let m=i.fbo;if(!m){const t=new l(n,{width:u,height:u,data:null},c.RGBA);t.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=i.fbo=n.createFramebuffer(u,u,!0),m.colorAttachment.set(t.texture);}n.bindFramebuffer.set(m.framebuffer),n.viewport.set([0,0,u,u]),e.useProgram(\"hillshadePrepare\").draw(n,c.TRIANGLES,a,s,r,Ii.disabled,((e,i)=>{const o=i.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[o,o],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function Oi(e,i,o,a,s,r){const n=a.paint.get(\"raster-fade-duration\");if(!r&&n>0){const a=t.exported.now(),r=(a-e.timeAdded)/n,l=i?(a-i.timeAdded)/n:-1,c=o.getSource(),h=s.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=u&&e.refreshedUponExpiration?1:t.clamp(u?r:1-l,0,1);return e.refreshedUponExpiration&&r>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return {opacity:1,mix:0}}const Ui=new t.Color(1,0,0,1),Ni=new t.Color(0,1,0,1),Gi=new t.Color(0,0,1,1),Zi=new t.Color(1,0,1,1),qi=new t.Color(0,1,1,1);function Vi(t,e,i,o){Xi(t,0,e+i/2,t.transform.width,i,o);}function ji(t,e,i,o){Xi(t,e-i/2,0,i,t.transform.height,o);}function Xi(t,e,i,o,a,s){const r=t.context,n=r.gl;n.enable(n.SCISSOR_TEST),n.scissor(e*t.pixelRatio,i*t.pixelRatio,o*t.pixelRatio,a*t.pixelRatio),r.clear({color:s}),n.disable(n.SCISSOR_TEST);}function $i(e,i,o){const a=e.context,s=a.gl,r=o.posMatrix,n=e.useProgram(\"debug\"),l=wi.disabled,c=Ei.disabled,h=e.colorModeForRenderPass(),u=\"$debug\",d=e.style.terrain&&e.style.terrain.getTerrainData(o);a.activeTexture.set(s.TEXTURE0),e.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE);const _=i.getTileByID(o.key).latestRawTileData,m=Math.floor((_&&_.byteLength||0)/1024),p=i.getTile(o).tileSize,f=512/Math.min(p,512)*(o.overscaledZ/e.transform.zoom)*.5;let g=o.canonical.toString();o.overscaledZ!==o.canonical.z&&(g+=` => ${o.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,o=t.context.gl,a=t.debugOverlayCanvas.getContext(\"2d\");a.clearRect(0,0,i.width,i.height),a.shadowColor=\"white\",a.shadowBlur=2,a.lineWidth=1.5,a.strokeStyle=\"white\",a.textBaseline=\"top\",a.font=\"bold 36px Open Sans, sans-serif\",a.fillText(e,5,5),a.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE);}(e,`${g} ${m}kB`),n.draw(a,s.TRIANGLES,l,c,yi.alphaBlended,Ii.disabled,ge(r,t.Color.transparent,f),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),n.draw(a,s.LINE_STRIP,l,c,h,Ii.disabled,ge(r,t.Color.red),d,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);}function Wi(t,e,i){const o=t.context,a=o.gl,s=t.colorModeForRenderPass(),r=new wi(a.LEQUAL,wi.ReadWrite,t.depthRangeFor3D),n=t.useProgram(\"terrain\"),l=e.getTerrainMesh(),c=e.getTerrainData(i.tileID);o.bindFramebuffer.set(null),o.viewport.set([0,0,t.width,t.height]),o.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.getRTTFramebuffer().colorAttachment.get());const h=t.transform.calculatePosMatrix(i.tileID.toUnwrapped());n.draw(o,a.TRIANGLES,r,Ei.disabled,s,Ii.backCCW,{u_matrix:h,u_texture:0},c,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments);}function Hi(t,e,i,o){const a=t.context,s=i.tileSize*e.qualityFactor;i.textures[o]||(i.textures[o]=t.getTileTexture(s)||new l(a,{width:s,height:s,data:null},a.gl.RGBA),i.textures[o].bind(a.gl.LINEAR,a.gl.CLAMP_TO_EDGE),0===o&&e.sourceCache.renderHistory.unshift(i.tileID.key));const r=e.getRTTFramebuffer();r.colorAttachment.set(i.textures[o].texture),a.bindFramebuffer.set(r.framebuffer),a.viewport.set([0,0,s,s]);}class Ki{constructor(t){this._coordsDescendingInv={},this._coordsDescendingInvStr={},this.painter=t,this._renderToTexture={background:!0,fill:!0,line:!0,raster:!0},this._coordsDescendingInv={},this._coordsDescendingInvStr={},this._stacks=[],this._prevType=null,this._rerender={},this._renderableTiles=t.style.terrain.sourceCache.getRenderableTiles(),this._init();}_init(){const t=this.painter.style,e=t.terrain;for(const i in t.sourceCaches){this._coordsDescendingInv[i]={};const o=t.sourceCaches[i].getVisibleCoordinates();for(const t of o){const o=e.sourceCache.getTerrainCoords(t);for(const t in o)this._coordsDescendingInv[i][t]||(this._coordsDescendingInv[i][t]=[]),this._coordsDescendingInv[i][t].push(o[t]);}}for(const e of t._order){const i=t._layers[e],o=i.source;if(this._renderToTexture[i.type]&&!this._coordsDescendingInvStr[o]){this._coordsDescendingInvStr[o]={};for(const t in this._coordsDescendingInv[o])this._coordsDescendingInvStr[o][t]=this._coordsDescendingInv[o][t].map((t=>t.key)).sort().join();}}return this._renderableTiles.forEach((t=>{for(const i in this._coordsDescendingInvStr){const o=this._coordsDescendingInvStr[i][t.tileID.key];o&&o!==t.textureCoords[i]&&t.clearTextures(this.painter),e.needsRerender(i,t.tileID)&&t.clearTextures(this.painter);}this._rerender[t.tileID.key]=!t.textures.length;})),e.clearRerenderCache(),e.sourceCache.removeOutdated(this.painter),this}renderLayer(e){const i=e.type,o=this.painter,a=o.style._order,s=o.currentLayer,r=s+1===a.length;if(this._renderToTexture[i]&&(this._prevType&&this._renderToTexture[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(a[s]),!r))return !0;if(this._renderToTexture[this._prevType]||\"hillshade\"===i||this._renderToTexture[i]&&r){this._prevType=i;const r=this._stacks.length-1,n=this._stacks[r]||[];for(const e of this._renderableTiles){if(Hi(o,o.style.terrain,e,r),this._rerender[e.tileID.key]){o.context.clear({color:t.Color.transparent});for(let t=0;ti.style.terrain.getElevation(s,t,e):null);}}}(a,e,o,i,o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),s),0!==o.paint.get(\"icon-opacity\").constantOr(1)&&Ai(e,i,o,a,!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\"),r,n),0!==o.paint.get(\"text-opacity\").constantOr(1)&&Ai(e,i,o,a,!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\"),r,n),i.map.showCollisionBoxes&&(Si(e,i,o,a,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),!0),Si(e,i,o,a,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),!1));},circle:function(e,i,o,a){if(\"translucent\"!==e.renderPass)return;const s=o.paint.get(\"circle-opacity\"),r=o.paint.get(\"circle-stroke-width\"),n=o.paint.get(\"circle-stroke-opacity\"),l=!o.layout.get(\"circle-sort-key\").isConstant();if(0===s.constantOr(1)&&(0===r.constantOr(1)||0===n.constantOr(1)))return;const c=e.context,h=c.gl,u=e.depthModeForSublayer(0,wi.ReadOnly),d=Ei.disabled,_=e.colorModeForRenderPass(),m=[];for(let s=0;st.sortKey-e.sortKey));for(const t of m){const{programConfiguration:i,program:a,layoutVertexBuffer:s,indexBuffer:r,uniformValues:n,terrainData:l}=t.state;a.draw(c,h.TRIANGLES,u,d,_,Ii.disabled,n,l,o.id,s,r,t.segments,o.paint,e.transform.zoom,i);}},heatmap:function(e,i,o,a){if(0!==o.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){const s=e.context,r=s.gl,n=Ei.disabled,l=new yi([r.ONE,r.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const o=t.gl;t.activeTexture.set(o.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let a=i.heatmapFbo;if(a)o.bindTexture(o.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer);else {const s=o.createTexture();o.bindTexture(o.TEXTURE_2D,s),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),a=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,o){const a=t.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,e.width/4,e.height/4,0,a.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),o.colorAttachment.set(i);}(t,e,s,a);}}(s,e,o),s.clear({color:t.Color.transparent});for(let t=0;t{const s=t.create();t.ortho(s,0,e.width,e.height,0,0,1);const r=e.context.gl;return {u_matrix:s,u_world:[r.drawingBufferWidth,r.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom);}(e,o));},line:function(e,i,o,a){if(\"translucent\"!==e.renderPass)return;const s=o.paint.get(\"line-opacity\"),r=o.paint.get(\"line-width\");if(0===s.constantOr(1)||0===r.constantOr(1))return;const n=e.depthModeForSublayer(0,wi.ReadOnly),c=e.colorModeForRenderPass(),h=o.paint.get(\"line-dasharray\"),u=o.paint.get(\"line-pattern\"),d=u.constantOr(1),_=o.paint.get(\"line-gradient\"),m=o.getCrossfadeParameters(),p=d?\"linePattern\":h?\"lineSDF\":_?\"lineGradient\":\"line\",f=e.context,g=f.gl;let x=!0;for(const s of a){const a=i.getTile(s);if(d&&!a.patternsLoaded())continue;const r=a.getBucket(o);if(!r)continue;const v=r.programConfigurations.get(o.id),y=e.context.program.get(),b=e.useProgram(p,v),w=x||b.program!==y,T=e.style.terrain&&e.style.terrain.getTerrainData(s),E=u.constantOr(null);if(E&&a.imageAtlas){const t=a.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&v.setConstantPatternPositions(e,i);}const I=T?s:null,C=d?Te(e,a,o,m,I):h?Ee(e,a,o,h,m,I):_?we(e,a,o,r.lineClipsArray.length,I):be(e,a,o,I);if(d)f.activeTexture.set(g.TEXTURE0),a.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),v.updatePaintBuffers(m);else if(h&&(w||e.lineAtlas.dirty))f.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(f);else if(_){const a=r.gradients[o.id];let n=a.texture;if(o.gradientVersion!==a.version){let c=256;if(o.stepInterpolant){const o=i.getSource().maxzoom,a=s.canonical.z===o?Math.ceil(1<256&&this.clearStencil(),i.setColorMode(yi.disabled),i.setDepthMode(wi.disabled);const a=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,s=this.style.terrain&&this.style.terrain.getTerrainData(t);a.draw(i,o.TRIANGLES,wi.disabled,new Ei({func:o.ALWAYS,mask:0},e,255,o.KEEP,o.KEEP,o.REPLACE),yi.disabled,Ii.disabled,xe(t.posMatrix),s,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Ei({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Ei({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),o=i[i.length-1].overscaledZ,a=i[0].overscaledZ-o+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[o[this.currentLayer]],e=a[t.source],i=r[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer{i.source&&!i.isHidden(this.transform.zoom)&&(i.source!==(e&&e.id)&&(e=this.style.sourceCaches[i.source]),(!t||t.getSource().maxzoom0?e.pop():null}isPatternMissing(t){if(!t)return !1;if(!t.from||!t.to)return !0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.terrain?\"/terrain\":\"\");return this.cache[i]||(this.cache[i]=new ne(this.context,t,oe[t],e,Le[t],this._showOverdrawInspector,this.style.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();}setBaseState(){const 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);}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new l(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy();}}class Qi{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(e,i,o){const a=Math.pow(2,o),s=[[-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((o=>{const s=1/(o=t.transformMat4([],o,e))[3]/i*a;return t.mul$1(o,o,[s,s,1/o[3],s])})),r=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const i=t.sub([],s[e[0]],s[e[1]]),o=t.sub([],s[e[2]],s[e[1]]),a=t.normalize([],t.cross([],i,o)),r=-t.dot(a,s[e[1]]);return a.concat(r)}));return new Qi(s,r)}}class to{constructor(e,i){this.min=e,this.max=i,this.center=t.scale$1([],t.add([],this.min,this.max),.5);}quadrant(e){const i=[e%2==0,e<2],o=t.clone$2(this.min),a=t.clone$2(this.max);for(let t=0;t=0&&r++;if(0===r)return 0;r!==i.length&&(o=!1);}if(o)return 2;for(let t=0;t<3;t++){let i=Number.MAX_VALUE,o=-Number.MAX_VALUE;for(let a=0;athis.max[t]-this.min[t])return 0}return 1}}class eo{constructor(t=0,e=0,i=0,o=0){if(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;}interpolate(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}getCenter(e,i){const o=t.clamp((this.left+e-this.right)/2,0,e),a=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.pointGeometry(o,a)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new eo(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class io{constructor(e,i,o,a,s){this.tileSize=512,this.maxValidLatitude=85.051129,this.freezeElevation=!1,this._renderWorldCopies=void 0===s||!!s,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==o?0:o,this._maxPitch=null==a?60:a,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new eo,this._posMatrixCache={},this._alignedPosMatrixCache={};}clone(){const t=new io(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._elevation=this._elevation,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}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.pointGeometry(this.width,this.height)}get bearing(){return -this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;var o;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(o=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(o[1]=0,o[2]=0),o[0]=1,o[3]=1,o),function(t,e,i){var o=e[0],a=e[1],s=e[2],r=e[3],n=Math.sin(i),l=Math.cos(i);t[0]=o*l+s*n,t[1]=a*l+r*n,t[2]=o*-n+s*l,t[3]=a*-n+r*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());}get zoom(){return this._zoom}set zoom(t){const 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());}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices());}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const o=this.pointCoordinate(new t.pointGeometry(0,0)),a=this.pointCoordinate(new t.pointGeometry(this.width,0)),s=this.pointCoordinate(new t.pointGeometry(this.width,this.height)),r=this.pointCoordinate(new t.pointGeometry(0,this.height)),n=Math.floor(Math.min(o.x,a.x,s.x,r.x)),l=Math.floor(Math.max(o.x,a.x,s.x,r.x)),c=1;for(let o=n-c;o<=l+c;o++)0!==o&&i.push(new t.UnwrappedTileID(o,e));}return i}coveringTiles(e){var i,o;let a=this.coveringZoomLevel(e);const s=a;if(void 0!==e.minzoom&&ae.maxzoom&&(a=e.maxzoom);const r=this.pointCoordinate(this.getCameraPoint()),n=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,a),c=[l*r.x,l*r.y,0],h=[l*n.x,l*n.y,0],u=Qi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,a);let d=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=a);const _=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,m=t=>({aabb:new to([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),p=[],f=[],g=a,x=e.reparseOverscaled?s:a;if(this._renderWorldCopies)for(let t=1;t<=3;t++)p.push(m(-t)),p.push(m(t));for(p.push(m(0));p.length>0;){const a=p.pop(),s=a.x,r=a.y;let n=a.fullyVisible;if(!n){const t=a.aabb.intersects(u);if(0===t)continue;n=2===t;}const l=e.terrain?c:h,m=a.aabb.distanceX(l),v=a.aabb.distanceY(l),y=Math.max(Math.abs(m),Math.abs(v)),b=_+(1<b&&a.zoom>=d){const e=g-a.zoom,i=c[0]-.5-(s<>1),u=a.zoom+1;let d=a.aabb.quadrant(l);if(e.terrain){const s=new t.OverscaledTileID(u,a.wrap,u,c,h),r=e.terrain.getMinMaxElevation(s),n=null!==(i=r.minElevation)&&void 0!==i?i:this.elevation,l=null!==(o=r.maxElevation)&&void 0!==o?o:this.elevation;d=new to([d.min[0],d.min[1],n],[d.max[0],d.max[1],l]);}p.push({aabb:d,zoom:u,x:c,y:h,wrap:a.wrap,fullyVisible:n});}}return f.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.pointGeometry(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}updateElevation(t){this.freezeElevation||(this.elevation=t?this.getElevation(this._center,t):0);}getElevation(e,i){const o=t.MercatorCoordinate.fromLngLat(e),a=(1<r&&(a=r-e);}if(this.lngRange){const e=(n+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),a=c.x/2;i-al&&(o=l-a);}void 0===o&&void 0===a||(this.center=this.unproject(new t.pointGeometry(void 0!==o?o:u.x,void 0!==a?a:u.y)).wrap()),this._unmodified=h,this._constraining=!1;}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,o=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let a=t.identity(new Float64Array(16));t.scale(a,a,[this.width/2,-this.height/2,1]),t.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=t.identity(new Float64Array(16)),t.scale(a,a,[1,-1,1]),t.translate(a,a,[-1,-1,0]),t.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a,this.cameraToSeaLevelDistance=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch);const s=Math.PI/2+this._pitch,r=this._fov*(.5+e.y/this.height),n=Math.sin(r)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-r,.01,Math.PI-.01)),l=this.getHorizon(),c=2*Math.atan(l/this.cameraToCenterDistance)*(.5+e.y/(2*l)),h=Math.sin(c)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-c,.01,Math.PI-.01)),u=Math.cos(Math.PI/2-this._pitch)*n+this.cameraToSeaLevelDistance,d=Math.cos(Math.PI/2-this._pitch)*h+this.cameraToSeaLevelDistance,_=1.01*Math.min(u,d),m=this.height/50;a=new Float64Array(16),t.perspective(a,this._fov,this.width/this.height,m,_),a[8]=2*-e.x/this.width,a[9]=2*e.y/this.height,t.scale(a,a,[1,-1,1]),t.translate(a,a,[0,0,-this.cameraToCenterDistance]),t.rotateX(a,a,this._pitch),t.rotateZ(a,a,this.angle),t.translate(a,a,[-i,-o,0]),this.mercatorMatrix=t.scale([],a,[this.worldSize,this.worldSize,this.worldSize]),t.scale(a,a,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,a),t.translate(a,a,[0,0,-this.elevation]),this.projMatrix=a,this.invProjMatrix=t.invert([],a),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,a);const p=this.width%2/2,f=this.height%2/2,g=Math.cos(this.angle),x=Math.sin(this.angle),v=i-Math.round(i)+g*p+x*f,y=o-Math.round(o)+g*f+x*p,b=new Float64Array(a);if(t.translate(b,b,[v>.5?v-1:v,y>.5?y-1:y,0]),this.alignedProjMatrix=b,a=t.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=a,this._posMatrixCache={},this._alignedPosMatrixCache={};}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.pointGeometry(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.pointGeometry(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return [e[0],i];{let o=i.x,a=i.y,s=i.x,r=i.y;for(const t of e)o=Math.min(o,t.x),a=Math.min(a,t.y),s=Math.max(s,t.x),r=Math.max(r,t.y);return [new t.pointGeometry(o,a),new t.pointGeometry(s,a),new t.pointGeometry(s,r),new t.pointGeometry(o,r),new t.pointGeometry(o,a)]}}}class oo{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=function(t,e){let i=!1,o=null;const a=()=>{o=null,i&&(t(),o=setTimeout(a,300),i=!1);};return ()=>(i=!0,o||a(),o)}(this._updateHashUnthrottled.bind(this));}addTo(t){return this._map=t,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,o=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,o),s=Math.round(e.lng*a)/a,r=Math.round(e.lat*a)/a,n=this._map.getBearing(),l=this._map.getPitch();let c=\"\";if(c+=t?`/${s}/${r}/${i}`:`${i}/${r}/${s}`,(n||l)&&(c+=\"/\"+Math.round(10*n)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split(\"&\").map((i=>{const o=i.split(\"=\")[0];return o===t?(e=!0,`${o}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join(\"&\")}`}return `#${c}`}_getCurrentHash(){const t=window.location.hash.replace(\"#\",\"\");if(this._hashName){let e;return t.split(\"&\").map((t=>t.split(\"=\"))).forEach((t=>{t[0]===this._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")}return t.split(\"/\")}_onHashChange(){const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const 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}_updateHashUnthrottled(){const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t);}catch(t){}}}const ao={linearity:.3,easing:t.bezier(0,0,.3,1)},so=t.extend({deceleration:2500,maxSpeed:1400},ao),ro=t.extend({deceleration:20,maxSpeed:1400},ao),no=t.extend({deceleration:1e3,maxSpeed:360},ao),lo=t.extend({deceleration:1e3,maxSpeed:90},ao);class co{constructor(t){this._map=t,this.clear();}clear(){this._inertiaBuffer=[];}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e});}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift();}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.pointGeometry(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,a={};if(i.pan.mag()){const s=uo(i.pan.mag(),o,t.extend({},so,e||{}));a.offset=i.pan.mult(s.amount/i.pan.mag()),a.center=this._map.transform.center,ho(a,s);}if(i.zoom){const t=uo(i.zoom,o,ro);a.zoom=this._map.transform.zoom+t.amount,ho(a,t);}if(i.bearing){const e=uo(i.bearing,o,no);a.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),ho(a,e);}if(i.pitch){const t=uo(i.pitch,o,lo);a.pitch=this._map.transform.pitch+t.amount,ho(a,t);}if(a.zoom||a.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;a.around=t?this._map.unproject(t):this._map.getCenter();}return this.clear(),t.extend(a,{noMoveStart:!0})}}function ho(t,e){(!t.duration||t.durationi.unproject(t))),l=r.reduce(((t,e,i,o)=>t.add(e.div(o.length))),new t.pointGeometry(0,0));super(e,{points:r,point:l,lngLats:n,lngLat:i.unproject(l),originalEvent:o}),this._defaultPrevented=!1;}preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}}class po extends t.Event{constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1;}preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}}class fo{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance;}reset(){delete this._mousedownPos;}wheel(t){return this._firePreventable(new po(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new _o(t.type,this._map,t))}mouseup(t){this._map.fire(new _o(t.type,this._map,t));}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new _o(t.type,this._map,t));}dblclick(t){return this._firePreventable(new _o(t.type,this._map,t))}mouseover(t){this._map.fire(new _o(t.type,this._map,t));}mouseout(t){this._map.fire(new _o(t.type,this._map,t));}touchstart(t){return this._firePreventable(new mo(t.type,this._map,t))}touchmove(t){this._map.fire(new mo(t.type,this._map,t));}touchend(t){this._map.fire(new mo(t.type,this._map,t));}touchcancel(t){this._map.fire(new mo(t.type,this._map,t));}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class go{constructor(t){this._map=t;}reset(){this._delayContextMenu=!1,delete this._contextMenuEvent;}mousemove(t){this._map.fire(new _o(t.type,this._map,t));}mousedown(){this._delayContextMenu=!0;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new _o(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new _o(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class xo{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;}isEnabled(){return !!this._enabled}isActive(){return !!this._active}enable(){this.isEnabled()||(this._enabled=!0);}disable(){this.isEnabled()&&(this._enabled=!1);}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(s.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(o,a,this._map.getBearing(),{linear:!0})};this._fireEvent(\"boxzoomcancel\",e);}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\",\"mapboxgl-crosshair\"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag(),delete this._startPos,delete this._lastPos;}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function vo(t,e){const i={};for(let o=0;othis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),o.length===this.numTouches&&(this.centroid=function(e){const i=new t.pointGeometry(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=vo(o,i)));}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const o=vo(i,e);for(const t in this.touches){const e=this.touches[t],i=o[t];(!i||i.dist(e)>30)&&(this.aborted=!0);}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class bo{constructor(t){this.singleTap=new yo(t),this.numTaps=t.numTaps,this.reset();}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();}touchstart(t,e,i){this.singleTap.touchstart(t,e,i);}touchmove(t,e,i){this.singleTap.touchmove(t,e,i);}touchend(t,e,i){const o=this.singleTap.touchend(t,e,i);if(o){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(o)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}}}class wo{constructor(){this._zoomIn=new bo({numTouches:1,numTaps:2}),this._zoomOut=new bo({numTouches:2,numTaps:1}),this.reset();}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);}touchend(t,e,i){const o=this._zoomIn.touchend(t,e,i),a=this._zoomOut.touchend(t,e,i);return o?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(o)},{originalEvent:t})}):a?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}const To={0:1,2:2};class Eo{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1;}reset(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton;}_correctButton(t,e){return !1}_move(t,e){return {}}mousedown(t,e){if(this._lastPoint)return;const i=s.mouseButton(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i);}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){const i=To[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i){this._cancelCooperativeMessage=!1;}),200);}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const a=vo(o,i),s=new t.pointGeometry(0,0),r=new t.pointGeometry(0,0);let n=0;for(const t in a){const e=a[t],i=this._touches[t];i&&(s._add(e),r._add(e.sub(i)),n++,a[t]=e);}if(this._touches=a,nMath.abs(t.x)}class Bo extends zo{constructor(t){super(),this._map=t;}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints;}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length;}_start(t){this._lastPoints=t,ko(t[0].sub(t[1]))&&(this._valid=!1);}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const o=t[0].sub(this._lastPoints[0]),a=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(o,a,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+a.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const o=t.mag()>=2,a=e.mag()>=2;if(!o&&!a)return;if(!o||!a)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const s=t.y>0==e.y>0;return ko(t)&&ko(e)&&s}}const Fo={panStep:100,bearingStep:15,pitchStep:10};class Oo{constructor(){const t=Fo;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1;}reset(){this._active=!1;}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,o=0,a=0,s=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?o=1:(t.preventDefault(),s=-1);break;case 40:t.shiftKey?o=-1:(t.preventDefault(),s=1);break;default:return}return this._rotationDisabled&&(i=0,o=0),{cameraAnimation:r=>{const n=r.getZoom();r.easeTo({duration:300,easeId:\"keyboardHandler\",easing:Uo,zoom:e?Math.round(n)+e*(t.shiftKey?2:1):n,bearing:r.getBearing()+i*this._bearingStep,pitch:r.getPitch()+o*this._pitchStep,offset:[-a*this._panStep,-s*this._panStep],center:r.getCenter()},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0;}enableRotation(){this._rotationDisabled=!1;}}function Uo(t){return t*(2-t)}const No=4.000244140625;class Go{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll([\"_onTimeout\"],this);}setZoomRate(t){this._defaultZoomRate=t;}setWheelZoomRate(t){this._wheelZoomRate=t;}isEnabled(){return !!this._enabled}isActive(){return !!this._active||void 0!==this._finishTimeout}isZooming(){return !!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around);}disable(){this.isEnabled()&&(this._enabled=!1);}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!this._map._metaPress)return;e.preventDefault();}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const o=t.exported.now(),a=o-(this._lastWheelEventTime||0);this._lastWheelEventTime=o,0!==i&&i%No==0?this._type=\"wheel\":0!==i&&Math.abs(i)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*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();}_onTimeout(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const i=s.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;if(0!==this._delta){const t=\"wheel\"===this._type&&Math.abs(this._delta)>No?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const o=\"number\"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(o*i))),\"wheel\"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}const i=\"number\"==typeof this._targetZoom?this._targetZoom:e.zoom,o=this._startZoom,a=this._easing;let s,r=!1;if(\"wheel\"===this._type&&o&&a){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),n=a(e);s=t.number(o,i,n),e<1?this._frameId||(this._frameId=!0):r=!0;}else s=i,r=!0;return this._active=!0,r&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!r,zoomDelta:s-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,o=(t.exported.now()-e.start)/e.duration,a=e.easing(o+.01)-e.easing(o),s=.27/Math.sqrt(a*a+1e-4)*.01,r=Math.sqrt(.0729-s*s);i=t.bezier(s,r,.25,1);}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}reset(){this._active=!1;}}class Zo{constructor(t,e){this._clickZoom=t,this._tapZoom=e;}enable(){this._clickZoom.enable(),this._tapZoom.enable();}disable(){this._clickZoom.disable(),this._tapZoom.disable();}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class qo{constructor(){this.reset();}reset(){this._active=!1;}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Vo{constructor(){this._tap=new bo({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset();}touchstart(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));}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const o=e[0],a=o.y-this._swipePoint.y;return this._swipePoint=o,t.preventDefault(),this._active=!0,{zoomDelta:a/128}}}else this._tap.touchmove(t,e,i);}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp);}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class jo{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\",\"mapboxgl-touch-drag-pan\");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\",\"mapboxgl-touch-drag-pan\");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Xo{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();}disable(){this._mouseRotate.disable(),this._mousePitch.disable();}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class $o{constructor(t,e,i,o){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0;}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\",\"mapboxgl-touch-zoom-rotate\");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\",\"mapboxgl-touch-zoom-rotate\");}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable();}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();}}const Wo=t=>t.zoom||t.drag||t.pitch||t.rotate;class Ho extends t.Event{}function Ko(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Yo{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new co(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(i),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);const o=this._el;this._listeners=[[o,\"touchstart\",{passive:!0}],[o,\"touchmove\",{passive:!1}],[o,\"touchend\",void 0],[o,\"touchcancel\",void 0],[o,\"mousedown\",void 0],[o,\"mousemove\",void 0],[o,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[o,\"mouseover\",void 0],[o,\"mouseout\",void 0],[o,\"dblclick\",void 0],[o,\"click\",void 0],[o,\"keydown\",{capture:!1}],[o,\"keyup\",void 0],[o,\"wheel\",{passive:!1}],[o,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,i]of this._listeners)s.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}destroy(){for(const[t,e,i]of this._listeners)s.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new fo(e,t));const o=e.boxZoom=new xo(e,t);this._add(\"boxZoom\",o);const a=new wo,s=new qo;e.doubleClickZoom=new Zo(s,a),this._add(\"tapZoom\",a),this._add(\"clickZoom\",s);const r=new Vo;this._add(\"tapDragZoom\",r);const n=e.touchPitch=new Bo(e);this._add(\"touchPitch\",n);const l=new Co(t),c=new So(t);e.dragRotate=new Xo(t,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);const h=new Io(t),u=new Do(t,e);e.dragPan=new jo(i,h,u),this._add(\"mousePan\",h),this._add(\"touchPan\",u,[\"touchZoom\",\"touchRotate\"]);const d=new Lo,_=new Ao;e.touchZoomRotate=new $o(i,_,d,r),this._add(\"touchRotate\",d,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",_,[\"touchPan\",\"touchRotate\"]);const m=e.scrollZoom=new Go(e,this);this._add(\"scrollZoom\",m,[\"mousePan\"]);const p=e.keyboard=new Oo;this._add(\"keyboard\",p),this._add(\"blockableMapEvent\",new go(e));for(const i of [\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"])t.interactive&&t[i]&&e[i].enable(t[i]);}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return !0;return !1}isZooming(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return !!this._eventsInProgress.rotate}isMoving(){return Boolean(Wo(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const o in t)if(o!==i&&(!e||e.indexOf(o)<0))return !0;return !1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`);}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){if(\"blur\"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i=\"renderFrame\"===t.type?void 0:t,o={needsRenderFrame:!1},a={},r={},n=t.touches,l=n?this._getMapTouches(n):void 0,c=l?s.touchPos(this._el,l):s.mousePos(this._el,t);for(const{handlerName:s,handler:n,allowed:h}of this._handlers){if(!n.isEnabled())continue;let u;this._blockedByActive(r,h,s)?n.reset():n[e||t.type]&&(u=n[e||t.type](t,c,l),this.mergeHandlerResult(o,a,u,s,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||n.isActive())&&(r[s]=n);}const h={};for(const t in this._previousActiveHandlers)r[t]||(h[t]=i);this._previousActiveHandlers=r,(Object.keys(h).length||Ko(o))&&(this._changes.push([o,a,h]),this._triggerRenderFrame()),(Object.keys(r).length||Ko(o))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=o;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map));}mergeHandlerResult(e,i,o,a,s){if(!o)return;t.extend(e,o);const r={handlerName:a,originalEvent:o.originalEvent||s};void 0!==o.zoomDelta&&(i.zoom=r),void 0!==o.panDelta&&(i.drag=r),void 0!==o.pitchDelta&&(i.pitch=r),void 0!==o.bearingDelta&&(i.rotate=r);}_applyChanges(){const e={},i={},o={};for(const[a,s,r]of this._changes)a.panDelta&&(e.panDelta=(e.panDelta||new t.pointGeometry(0,0))._add(a.panDelta)),a.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+a.zoomDelta),a.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+a.bearingDelta),a.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+a.pitchDelta),void 0!==a.around&&(e.around=a.around),void 0!==a.pinchAround&&(e.pinchAround=a.pinchAround),a.noInertia&&(e.noInertia=a.noInertia),t.extend(i,s),t.extend(o,r);this._updateMapTransform(e,i,o),this._changes=[];}_updateMapTransform(e,i,o){const a=this._map,s=a.transform,r=a.style&&a.style.terrain;if(!(Ko(e)||r&&this._drag))return this._fireEvents(i,o,!0);let{panDelta:n,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,pinchAround:d}=e;void 0!==d&&(u=d),a._stop(!0),u=u||a.transform.centerPoint;const _=s.pointLocation(n?u.sub(n):u);c&&(s.bearing+=c),h&&(s.pitch+=h),l&&(s.zoom+=l),r?i.drag&&!this._drag?(this._drag={center:s.centerPoint,lngLat:s.pointLocation(u),point:u,handlerName:i.drag.handlerName},a.fire(new t.Event(\"freezeElevation\",{freeze:!0}))):this._drag&&o[this._drag.handlerName]?(a.fire(new t.Event(\"freezeElevation\",{freeze:!1})),this._drag=null):i.drag&&this._drag&&(s.center=s.pointLocation(s.centerPoint.sub(n))):s.setLocationAtPoint(_,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,o,!0);}_fireEvents(e,i,o){const a=Wo(this._eventsInProgress),s=Wo(e),r={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(r[`${t}start`]=i),this._eventsInProgress[t]=e[t];}!a&&s&&this._fireEvent(\"movestart\",s.originalEvent);for(const t in r)this._fireEvent(t,r[t]);s&&this._fireEvent(\"move\",s.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i);}const n={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:o}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||o,n[`${t}end`]=l);}for(const t in n)this._fireEvent(t,n[t]);const c=Wo(this._eventsInProgress);if(o&&(a||s)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Ho(\"renderFrame\",{timeStamp:t})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}const Jo={extend:(e,...i)=>t.extend(e,...i),run(t){t();},logToElement(t,e=!1,i=\"log\"){const o=window.document.getElementById(i);o&&(e&&(o.innerHTML=\"\"),o.innerHTML+=`
${t}`);}};class Qo extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this);}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,o){return e=t.pointGeometry.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),o)}panTo(e,i,o){return this.easeTo(t.extend({center:e},i),o)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,o){return this.easeTo(t.extend({zoom:e},i),o)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,o){return this.easeTo(t.extend({bearing:e},i),o)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(o.zoom=t.number(a,l,e)),this._rotating&&(o.bearing=t.number(s,c,e)),this._pitching&&(o.pitch=t.number(r,h,e)),this._padding&&(o.interpolatePadding(n,u,e),_=o.centerPoint.add(d)),v)o.setLocationAtPoint(v,y);else {const t=o.zoomScale(o.zoom-a),i=l>a?Math.min(2,x):Math.max(.5,x),s=Math.pow(i,1-e),r=o.unproject(f.add(g.mult(e*s)).mult(t));o.setLocationAtPoint(o.renderWorldCopies?r.wrap():r,_);}this._fireMoveEvents(i);}),(t=>{this._afterEase(i,t);}),e),this}_prepareEase(e,i,o={}){this._moving=!0,this.fire(new t.Event(\"freezeElevation\",{freeze:!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));}_fireMoveEvents(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));}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId,this.fire(new t.Event(\"freezeElevation\",{freeze:!1}));const o=this._zooming,a=this._rotating,s=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)),a&&this.fire(new t.Event(\"rotateend\",e)),s&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e));}flyTo(e,i){if(!e.essential&&t.exported.prefersReducedMotion){const o=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(o,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);const o=this.transform,a=this.getZoom(),s=this.getBearing(),r=this.getPitch(),n=this.getPadding(),l=\"zoom\"in e?t.clamp(+e.zoom,o.minZoom,o.maxZoom):a,c=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,h=\"pitch\"in e?+e.pitch:r,u=\"padding\"in e?e.padding:o.padding,d=o.zoomScale(l-a),_=t.pointGeometry.convert(e.offset);let m=o.centerPoint.add(_);const p=o.pointLocation(m),f=t.LngLat.convert(e.center||p);this._normalizeCenter(f);const g=o.project(p),x=o.project(f).sub(g);let v=e.curve;const y=Math.max(o.width,o.height),b=y/d,w=x.mag();if(\"minZoom\"in e){const i=t.clamp(Math.min(e.minZoom,a,l),o.minZoom,o.maxZoom),s=y/o.zoomScale(i-a);v=Math.sqrt(s/w*2);}const T=v*v;function E(t){const e=(b*b-y*y+(t?-1:1)*T*T*w*w)/(2*(t?b:y)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function I(t){return (Math.exp(t)-Math.exp(-t))/2}function C(t){return (Math.exp(t)+Math.exp(-t))/2}const S=E(0);let D=function(t){return C(S)/C(S+v*t)},z=function(t){return y*((C(S)*(I(e=S+v*t)/C(e))-I(S))/T)/w;var e;},P=(E(1)-S)/v;if(Math.abs(w)<1e-6||!isFinite(P)){if(Math.abs(y-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==c,this._pitching=h!==r,this._padding=!o.isPaddingEqual(u),this._prepareEase(i,!1),this._ease((e=>{const d=e*P,p=1/D(d);o.zoom=1===e?l:a+o.scaleZoom(p),this._rotating&&(o.bearing=t.number(s,c,e)),this._pitching&&(o.pitch=t.number(r,h,e)),this._padding&&(o.interpolatePadding(n,u,e),m=o.centerPoint.add(_));const v=1===e?f:o.unproject(g.add(x.mult(z(d))).mult(p));o.setLocationAtPoint(o.renderWorldCopies?v.wrap():v,m),this._fireMoveEvents(i);}),(()=>this._afterEase(i)),e),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e);}if(!t){const t=this.handlers;t&&t.stop(!1);}return this}_ease(e,i,o){!1===o.animate||0===o.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=o,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const o=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0;}}class ta{constructor(e={}){this.options=e,t.bindAll([\"_toggleAttribution\",\"_updateData\",\"_updateCompact\",\"_updateCompactMinimize\"],this);}getDefaultPosition(){return \"bottom-right\"}onAdd(t){return this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=s.create(\"summary\",\"maplibregl-ctrl-attrib-button mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=s.create(\"div\",\"maplibregl-ctrl-attrib-inner mapboxgl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){s.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0;}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);}_toggleAttribution(){this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\",\"mapboxgl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\",\"mapboxgl-compact-show\"),this._container.removeAttribute(\"open\")));}_updateData(t){!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType||this._updateAttributions();}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>\"string\"!=typeof t?\"\":t))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id;}const e=this._map.style.sourceCaches;for(const i in e){const o=e[i];if(o.used){const e=o.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution);}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let o=i+1;o=0)return !1;return !0}));const i=t.join(\" | \");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove(\"maplibregl-attrib-empty\",\"mapboxgl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\",\"mapboxgl-attrib-empty\"),this._updateCompact(),this._editLink=null);}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"mapboxgl-compact\",\"maplibregl-compact-show\",\"mapboxgl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\",\"mapboxgl-compact\",\"mapboxgl-compact-show\"));}_updateCompactMinimize(){this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\",\"mapboxgl-compact-show\");}}class ea{constructor(e={}){this.options=e,t.bindAll([\"_updateCompact\"],this);}getDefaultPosition(){return \"bottom-left\"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create(\"div\",\"maplibregl-ctrl mapboxgl-ctrl\");const e=s.create(\"a\",\"maplibregl-ctrl-logo mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://maplibre.org/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){s.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0;}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add(\"maplibregl-compact\",\"mapboxgl-compact\"):e.classList.remove(\"maplibregl-compact\",\"mapboxgl-compact\");}}}class ia{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1;}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];}}const oa={\"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\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"},aa={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,cooperativeGestures:void 0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},sa={showCompass:!0,showZoom:!0,visualizePitch:!1};class ra{constructor(e,i,o=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new Co({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,o&&(this.mousePitch=new So({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),s.addEventListener(i,\"mousedown\",this.mousedown),s.addEventListener(i,\"touchstart\",this.touchstart,{passive:!1}),s.addEventListener(i,\"touchmove\",this.touchmove),s.addEventListener(i,\"touchend\",this.touchend),s.addEventListener(i,\"touchcancel\",this.reset);}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),s.disableDrag();}move(t,e){const i=this.map,o=this.mouseRotate.mousemoveWindow(t,e);if(o&&o.bearingDelta&&i.setBearing(i.getBearing()+o.bearingDelta),this.mousePitch){const o=this.mousePitch.mousemoveWindow(t,e);o&&o.pitchDelta&&i.setPitch(i.getPitch()+o.pitchDelta);}}off(){const t=this.element;s.removeEventListener(t,\"mousedown\",this.mousedown),s.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),s.removeEventListener(t,\"touchmove\",this.touchmove),s.removeEventListener(t,\"touchend\",this.touchend),s.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();}offTemp(){s.enableDrag(),s.removeEventListener(window,\"mousemove\",this.mousemove),s.removeEventListener(window,\"mouseup\",this.mouseup);}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),s.mousePos(this.element,e)),s.addEventListener(window,\"mousemove\",this.mousemove),s.addEventListener(window,\"mouseup\",this.mouseup);}mousemove(t){this.move(t,s.mousePos(this.element,t));}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp();}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos));}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos));}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)180;){const t=o.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=o.width&&t.y<=o.height)break;e.lng>o.center.lng?e.lng-=360:e.lng+=360;}return e}const la={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 ca(t,e,i){const o=t.classList;for(const t in la)o.remove(`maplibregl-${i}-anchor-${t}`,`mapboxgl-${i}-anchor-${t}`);o.add(`maplibregl-${i}-anchor-${e}`,`mapboxgl-${i}-anchor-${e}`);}class ha extends t.Evented{constructor(e,i){if(super(),(e instanceof HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=e&&e.anchor||\"center\",this._color=e&&e.color||\"#3FB1CE\",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||\"auto\",this._pitchAlignment=e&&e.pitchAlignment&&\"auto\"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.pointGeometry.convert(e&&e.offset||[0,0]);else {this._defaultMarker=!0,this._element=s.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");const i=s.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),o=41,a=27;i.setAttributeNS(null,\"display\",\"block\"),i.setAttributeNS(null,\"height\",`${o}px`),i.setAttributeNS(null,\"width\",`${a}px`),i.setAttributeNS(null,\"viewBox\",`0 0 ${a} ${o}`);const r=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");r.setAttributeNS(null,\"stroke\",\"none\"),r.setAttributeNS(null,\"stroke-width\",\"1\"),r.setAttributeNS(null,\"fill\",\"none\"),r.setAttributeNS(null,\"fill-rule\",\"evenodd\");const n=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");const c=[{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\"}];for(const t of c){const e=s.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");e.setAttributeNS(null,\"opacity\",\"0.04\"),e.setAttributeNS(null,\"cx\",\"10.5\"),e.setAttributeNS(null,\"cy\",\"5.80029008\"),e.setAttributeNS(null,\"rx\",t.rx),e.setAttributeNS(null,\"ry\",t.ry),l.appendChild(e);}const h=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");h.setAttributeNS(null,\"fill\",this._color);const u=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");u.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\"),h.appendChild(u);const d=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"opacity\",\"0.25\"),d.setAttributeNS(null,\"fill\",\"#000000\");const _=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.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\"),d.appendChild(_);const m=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),m.setAttributeNS(null,\"fill\",\"#FFFFFF\");const p=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const f=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");f.setAttributeNS(null,\"fill\",\"#000000\"),f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"cx\",\"5.5\"),f.setAttributeNS(null,\"cy\",\"5.5\"),f.setAttributeNS(null,\"r\",\"5.4999962\");const g=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");g.setAttributeNS(null,\"fill\",\"#FFFFFF\"),g.setAttributeNS(null,\"cx\",\"5.5\"),g.setAttributeNS(null,\"cy\",\"5.5\"),g.setAttributeNS(null,\"r\",\"5.4999962\"),p.appendChild(f),p.appendChild(g),n.appendChild(l),n.appendChild(h),n.appendChild(d),n.appendChild(m),n.appendChild(p),i.appendChild(n),i.setAttributeNS(null,\"height\",o*this._scale+\"px\"),i.setAttributeNS(null,\"width\",a*this._scale+\"px\"),this._element.appendChild(i),this._offset=t.pointGeometry.convert(e&&e.offset||[0,-14]);}this._element.classList.add(\"maplibregl-marker\",\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault();})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault();})),ca(this._element,this._anchor,\"marker\"),this._popup=null;}addTo(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}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),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),s.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(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)){const e=38.1,i=13.5,o=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-e],\"bottom-left\":[o,-1*(e-i+o)],\"bottom-right\":[-o,-1*(e-i+o)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}: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}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}_update(t){if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=na(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?i=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),s.setTransform(this._element,`${la[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${e}`),this._map.style&&this._map.style.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?\"0.2\":\"1.0\",this._opacityTimeout=null;}),100));}getOffset(){return this._offset}setOffset(e){return this._offset=t.pointGeometry.convert(e),this._update(),this}_onMove(e){if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t;}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\")));}_onUp(){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\";}_addDragHandler(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));}setDraggable(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}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}const ua={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let da,_a=0,ma=!1;const pa={maxWidth:100,unit:\"metric\"};function fa(t,e,i){const o=i&&i.maxWidth||100,a=t._container.clientHeight/2,s=t.unproject([0,a]),r=t.unproject([o,a]),n=s.distanceTo(r);if(i&&\"imperial\"===i.unit){const i=3.2808*n;i>5280?ga(e,o,i/5280,t._getUIString(\"ScaleControl.Miles\")):ga(e,o,i,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?ga(e,o,n/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):n>=1e3?ga(e,o,n/1e3,t._getUIString(\"ScaleControl.Kilometers\")):ga(e,o,n,t._getUIString(\"ScaleControl.Meters\"));}function ga(t,e,i,o){const a=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(a/i)+\"px\",t.innerHTML=`${a} ${o}`;}const xa={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},va=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function ya(e){if(e){if(\"number\"==typeof e){const i=Math.round(Math.sqrt(.5*Math.pow(e,2)));return {center:new t.pointGeometry(0,0),top:new t.pointGeometry(0,e),\"top-left\":new t.pointGeometry(i,i),\"top-right\":new t.pointGeometry(-i,i),bottom:new t.pointGeometry(0,-e),\"bottom-left\":new t.pointGeometry(i,-i),\"bottom-right\":new t.pointGeometry(-i,-i),left:new t.pointGeometry(e,0),right:new t.pointGeometry(-e,0)}}if(e instanceof t.pointGeometry||Array.isArray(e)){const i=t.pointGeometry.convert(e);return {center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return {center:t.pointGeometry.convert(e.center||[0,0]),top:t.pointGeometry.convert(e.top||[0,0]),\"top-left\":t.pointGeometry.convert(e[\"top-left\"]||[0,0]),\"top-right\":t.pointGeometry.convert(e[\"top-right\"]||[0,0]),bottom:t.pointGeometry.convert(e.bottom||[0,0]),\"bottom-left\":t.pointGeometry.convert(e[\"bottom-left\"]||[0,0]),\"bottom-right\":t.pointGeometry.convert(e[\"bottom-right\"]||[0,0]),left:t.pointGeometry.convert(e.left||[0,0]),right:t.pointGeometry.convert(e.right||[0,0])}}return ya(new t.pointGeometry(0,0))}const ba={supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:class extends Qo{constructor(e){var i;if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},aa,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>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new io(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,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 ia,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},oa,e.locale),this._clickTolerance=e.clickTolerance,this._pixelRatio=null!==(i=e.pixelRatio)&&void 0!==i?i:devicePixelRatio,this._requestManager=new r(e.transformRequest),\"string\"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else {if(!(e.container instanceof HTMLElement))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\",(()=>this._update(!1))),this.on(\"moveend\",(()=>this._update(!1))),this.on(\"zoom\",(()=>this._update(!0))),this.on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0);})),\"undefined\"!=typeof window&&(addEventListener(\"online\",this._onWindowOnline,!1),addEventListener(\"resize\",this._onWindowResize,!1),addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new Yo(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new oo(\"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 ta({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new ea,e.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(e=>{this._update(\"style\"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e));})),this.on(\"dataloading\",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e));})),this.on(\"dataabort\",(e=>{this.fire(new t.Event(\"sourcedataabort\",e));}));}_getMapId(){return this._mapId}addControl(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.\")));const o=e.onAdd(this);this._controls.push(e);const a=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?a.insertBefore(o,a.firstChild):a.appendChild(o),this}removeControl(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.\")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}resize(e){const i=this._containerDimensions(),o=i[0],a=i[1];this._resizeCanvas(o,a,this.getPixelRatio()),this.transform.resize(o,a),this.painter.resize(o,a,this.getPixelRatio());const s=!this._moving;return s&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),s&&this.fire(new t.Event(\"moveend\",e)),this}getPixelRatio(){return this._pixelRatio}setPixelRatio(t){const[e,i]=this._containerDimensions();this._pixelRatio=t,this._resizeCanvas(e,i,t),this.painter.resize(e,i,t);}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=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\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(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()85)throw new Error(\"maxPitch must be less than or equal to 85\");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\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.style.terrain)}unproject(e){return this.transform.pointLocation(t.pointGeometry.convert(e),this.style&&this.style.terrain)}isMoving(){return this._moving||this.handlers.isMoving()}isZooming(){return this._zooming||this.handlers.isZooming()}isRotating(){return this._rotating||this.handlers.isRotating()}_createDelegatedListener(t,e,i){if(\"mouseenter\"===t||\"mouseover\"===t){let o=!1;const a=a=>{const s=this.getLayer(e)?this.queryRenderedFeatures(a.point,{layers:[e]}):[];s.length?o||(o=!0,i.call(this,new _o(t,this,a.originalEvent,{features:s}))):o=!1;};return {layer:e,listener:i,delegates:{mousemove:a,mouseout:()=>{o=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let o=!1;const a=a=>{(this.getLayer(e)?this.queryRenderedFeatures(a.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,i.call(this,new _o(t,this,a.originalEvent)));},s=e=>{o&&(o=!1,i.call(this,new _o(t,this,e.originalEvent)));};return {layer:e,listener:i,delegates:{mousemove:a,mouseout:s}}}{const o=t=>{const o=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];o.length&&(t.features=o,i.call(this,t),delete t.features);};return {layer:e,listener:i,delegates:{[t]:o}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const o=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(o);for(const t in o.delegates)this.on(t,o.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const o=this._createDelegatedListener(t,e,i);for(const t in o.delegates)this.once(t,o.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(o=>{const a=this._delegatedListeners[t];for(let t=0;t{e?this.fire(new t.ErrorEvent(e)):o&&this._updateDiff(o,i);}));}else \"object\"==typeof e&&this._updateDiff(e,i);}_updateDiff(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);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const 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}'`)));}setTerrain(t){return this.style.setTerrain(t),this}getTerrain(){return this.style.terrain&&this.style.terrain.options}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}}return !0}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:o=1,sdf:a=!1,stretchX:s,stretchY:r,content:n}={}){if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||t.isImageBitmap(i)){const{width:l,height:c,data:h}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},h),pixelRatio:o,stretchX:s,stretchY:r,content:n,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`\")));{const{width:l,height:c,data:h}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(h)),pixelRatio:o,stretchX:s,stretchY:r,content:n,sdf:a,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e);}}}updateImage(e,i){const 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.\")));const a=i instanceof HTMLImageElement||t.isImageBitmap(i)?t.exported.getImageData(i):i,{width:s,height:r,data:n}=a;if(void 0===s||void 0===r)return 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`\")));if(s!==o.data.width||r!==o.data.height)return 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\")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));o.data.replace(n,l),this.style.updateImage(e,o);}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t);}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i);}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,o={}){return this.style.setPaintProperty(t,e,i,o),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,o={}){return this.style.setLayoutProperty(t,e,i,o),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add(\"maplibregl-map\",\"mapboxgl-map\");const e=this._canvasContainer=s.create(\"div\",\"maplibregl-canvas-container mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\",\"mapboxgl-interactive\"),this._canvas=s.create(\"canvas\",\"maplibregl-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\");const i=this._containerDimensions();this._resizeCanvas(i[0],i[1],this.getPixelRatio());const o=this._controlContainer=s.create(\"div\",\"maplibregl-control-container mapboxgl-control-container\",t),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{a[t]=s.create(\"div\",`maplibregl-ctrl-${t} mapboxgl-ctrl-${t}`,o);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_setupCooperativeGestures(){const t=this._container;this._metaPress=!1,this._cooperativeGesturesScreen=s.create(\"div\",\"maplibregl-cooperative-gesture-screen\",t);let e=\"Control\",i=\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";0===navigator.platform.indexOf(\"Mac\")&&(i=\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use ⌘ + scroll to zoom the map\",e=\"Meta\"),this._cooperativeGesturesScreen.innerHTML=`\\n
${i}
\\n
${\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\\n `,document.addEventListener(\"keydown\",(t=>{t.key===e&&(this._metaPress=!0);})),document.addEventListener(\"keyup\",(t=>{t.key===e&&(this._metaPress=!1);})),this._canvasContainer.addEventListener(\"wheel\",(t=>{this._onCooperativeGesture(t,this._metaPress,1);}),!1),this._canvasContainer.classList.remove(\"mapboxgl-touch-drag-pan\",\"maplibregl-touch-drag-pan\");}_resizeCanvas(t,e,i){this._canvas.width=i*t,this._canvas.height=i*e,this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`;}_setupPainter(){const 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 Ji(o,this.transform),t.exported$1.testSupport(o)):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")));}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}));}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}));}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}_onCooperativeGesture(t,e,i){return !e&&i<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\");}),100)),!1}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t);}_render(e){let i,o=0;const a=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(i=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,i),o=t.exported.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let s=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=t.exported.now();this.style.zoomHistory.update(e,i);const o=new t.EvaluationParameters(e,{now:i,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),a=o.crossFadingFactor();1===a&&a===this._crossFadingFactor||(s=!0,this._crossFadingFactor=a),this.style.update(o);}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.style.terrain&&this.style.terrain.sourceCache.update(this.transform,this.style.terrain),this.transform.updateElevation(this.style.terrain),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,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||s)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){const e=t.exported.now()-o;a.endQueryEXT(a.TIME_ELAPSED_EXT,i),setTimeout((()=>{const o=a.getQueryObjectEXT(i,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(i),this.fire(new t.Event(\"gpu-timing-frame\",{cpuTime:e,gpuTime:o}));}),50);}if(this.listens(\"gpu-timing-layer\")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event(\"gpu-timing-layer\",{layerTimes:i}));}),50);}const r=this._sourcesDirty||this._styleDirty||this._placementDirty;return r||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event(\"idle\")),!this._loaded||this._fullyLoaded||r||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.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),\"undefined\"!=typeof window&&(removeEventListener(\"resize\",this._onWindowResize,!1),removeEventListener(\"orientationchange\",this._onWindowResize,!1),removeEventListener(\"online\",this._onWindowOnline,!1));const e=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");e&&e.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),s.remove(this._canvasContainer),s.remove(this._controlContainer),this._cooperativeGestures&&s.remove(this._cooperativeGesturesScreen),this._container.classList.remove(\"maplibregl-map\",\"mapboxgl-map\"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event(\"remove\"));}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.exported.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e);})));}_onWindowOnline(){this._update();}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update();}get showTileBoundaries(){return !!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());}get showPadding(){return !!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update());}get showCollisionBoxes(){return !!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());}get showOverdrawInspector(){return !!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());}get repaint(){return !!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());}get vertices(){return !!this._vertices}set vertices(t){this._vertices=t,this._update();}_setCacheLimits(e,i){t.setCacheLimits(e,i);}get version(){return \"2.3.0\"}},NavigationControl:class{constructor(e){this.options=t.extend({},sa,e),this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in mapboxgl-ctrl-zoom-in\",(t=>this._map.zoomIn({},{originalEvent:t}))),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out mapboxgl-ctrl-zoom-out\",(t=>this._map.zoomOut({},{originalEvent:t}))),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"maplibregl-ctrl-compass mapboxgl-ctrl-compass\",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t});})),this._compassIcon=s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"));}_updateZoomButtons(){const 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());}_rotateCompassArrow(){const 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;}onAdd(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 ra(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){s.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;}_createButton(t,e){const i=s.create(\"button\",t,this._container);return i.type=\"button\",i.addEventListener(\"click\",e),i}_setButtonTitle(t,e){const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({},ua,e),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this);}onAdd(t){var e;return this._map=t,this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group\"),e=this._setupUI,void 0!==da?e(da):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then((t=>{da=\"denied\"!==t.state,e(da);})):(da=!!window.navigator.geolocation,e(da)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(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(),s.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,_a=0,ma=!1;}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\");}}_onSuccess(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(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\",\"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(\"maplibregl-user-location-dot-stale\",\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish();}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),o=e.coords.accuracy,a=this._map.getBearing(),s=t.extend({bearing:a},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(o),s,{geolocateSource:!0});}_updateMarker(e){if(e){const 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();}_updateCircleRadius(){const t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),o=e.distanceTo(i),a=Math.ceil(2*this._accuracy/o);this._circleElement.style.width=`${a}px`,this._circleElement.style.height=`${a}px`;}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===e.code&&ma)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\",\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish();}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;}_setupUI(e){if(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=s.create(\"button\",\"maplibregl-ctrl-geolocate mapboxgl-ctrl-geolocate\",this._container),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const e=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute(\"aria-label\",e);}else {const t=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=s.create(\"div\",\"maplibregl-user-location-dot mapboxgl-user-location-dot\"),this._userLocationDotMarker=new ha(this._dotElement),this._circleElement=s.create(\"div\",\"maplibregl-user-location-accuracy-circle mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ha({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\",(e=>{e.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||e.originalEvent&&\"resize\"===e.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this.fire(new t.Event(\"trackuserlocationend\")));}));}trigger(){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\":_a--,ma=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"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(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\");}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),_a++,_a>1?(t={maximumAge:6e5,timeout:0},ma=!0):(t=this.options.positionOptions,ma=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t);}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);}},AttributionControl:ta,LogoControl:ea,ScaleControl:class{constructor(e){this.options=t.extend({},pa,e),t.bindAll([\"_onMove\",\"setUnit\"],this);}getDefaultPosition(){return \"bottom-left\"}_onMove(){fa(this._map,this._container,this.options);}onAdd(t){return this._map=t,this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){s.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;}setUnit(t){this.options.unit=t,fa(this._map,this._container,this.options);}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\");}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group 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}onRemove(){s.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon);}_checkFullscreenSupport(){return !!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=s.create(\"button\",\"maplibregl-ctrl-fullscreen mapboxgl-ctrl-fullscreen\",this._controlContainer);s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon);}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_changeIcon(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle());}_onClickFullscreen(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&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();}},TerrainControl:class{constructor(e){this.options=e,t.bindAll([\"_toggleTerrain\",\"_updateTerrainIcon\"],this);}onAdd(t){return this._map=t,this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group\"),this._terrainButton=s.create(\"button\",\"maplibregl-ctrl-terrain mapboxgl-ctrl-terrain\",this._container),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){s.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0;}_toggleTerrain(){this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon();}_updateTerrainIcon(){this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\",\"mapboxgl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\",\"mapboxgl-ctrl-terrain-enabled\"),this._map.style.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\",\"mapboxgl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\",\"mapboxgl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"));}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(xa),e),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this);}addTo(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(\"maplibregl-popup-track-pointer\",\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\",\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this}isOpen(){return !!this._map}remove(){return this._content&&s.remove(this._content),this._container&&(s.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}getLngLat(){return this._lngLat}setLngLat(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(\"maplibregl-popup-track-pointer\",\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\",\"mapboxgl-track-pointer\")),this}trackPointer(){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(\"maplibregl-popup-track-pointer\",\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\",\"mapboxgl-track-pointer\")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement(\"body\");let o;for(i.innerHTML=t;o=i.firstChild,o;)e.appendChild(o);return this.setDOMContent(e)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=s.create(\"div\",\"maplibregl-popup-content mapboxgl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t);}removeClassName(t){this._container&&this._container.classList.remove(t);}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=s.create(\"button\",\"maplibregl-popup-close-button mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));}_onMouseUp(t){this._update(t.point);}_onMouseMove(t){this._update(t.point);}_onDrag(t){this._update(t.point);}_update(t){if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(this._container||(this._container=s.create(\"div\",\"maplibregl-popup mapboxgl-popup\",this._map.getContainer()),this._tip=s.create(\"div\",\"maplibregl-popup-tip mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((t=>this._container.classList.add(t))),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\",\"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=na(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let i=this.options.anchor;const o=ya(this.options.offset);if(!i){const t=this._container.offsetWidth,a=this._container.offsetHeight;let s;s=e.y+o.bottom.ythis._map.transform.height-a?[\"bottom\"]:[],e.xthis._map.transform.width-t/2&&s.push(\"right\"),i=0===s.length?\"bottom\":s.join(\"-\");}const a=e.add(o[i]).round();s.setTransform(this._container,`${la[i]} translate(${a.x}px,${a.y}px)`),ca(this._container,i,\"popup\");}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(va);t&&t.focus();}_onClose(){this.remove();}},Marker:ha,Style:ee,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.pointGeometry,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,AJAXError:t.AJAXError,config:t.config,CanvasSource:P,GeoJSONSource:C,ImageSource:D,RasterDEMTileSource:I,RasterTileSource:T,VectorTileSource:w,VideoSource:z,prewarm:function(){j().acquire(G);},clearPrewarmedResources:function(){const t=V;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(G),V=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 version(){return \"2.3.0\"},get workerCount(){return Z.workerCount},set workerCount(t){Z.workerCount=t;},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e;},clearStorage(e){t.clearTileCache(e);},workerUrl:\"\",addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i;},removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e];}};return Jo.extend(ba,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),ba}));\n\n//\n\nvar maplibregl$1 = maplibregl;\n\nreturn maplibregl$1;\n\n}));\n//# sourceMappingURL=maplibre-gl.js.map\n","import {\r\n DomEvent,\r\n DomUtil,\r\n extend,\r\n latLngBounds,\r\n Layer,\r\n setOptions,\r\n Util\r\n} from 'leaflet';\r\nimport maplibregl from 'maplibre-gl';\r\n\r\nexport var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n\r\n map.getPane(paneName).removeChild(this._container);\r\n this._container = null;\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applys the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n const halfSize = this.getSize().multiplyBy(0.5);\r\n const center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane)\r\n ? this.options.pane\r\n : 'tilePane';\r\n },\r\n\r\n _initContainer: function () {\r\n if (this._container) {\r\n return;\r\n }\r\n\r\n this._container = DomUtil.create('div', 'leaflet-gl-layer');\r\n\r\n const size = this.getSize();\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n this._container.style.width = size.x + 'px';\r\n this._container.style.height = size.y + 'px';\r\n\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(this._container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n if (this._glMap) {\r\n return;\r\n }\r\n\r\n const center = this._map.getCenter();\r\n\r\n const options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once(\r\n 'styledata',\r\n function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this)\r\n );\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n const canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n const size = this.getSize();\r\n const container = this._container;\r\n const gl = this._glMap;\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n const center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n const tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n const scale = this._map.getZoomScale(e.zoom);\r\n const padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n const viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n const topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n const offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n const scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(this._glMap._actualCanvas, null, scale);\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n const zoom = this._map.getZoom();\r\n const center = this._map.getCenter();\r\n const offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com',\r\n // for performance optimization default to `false`\r\n // set to `true` to resolve printing issues in Firefox\r\n preserveDrawingBuffer: false\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, propagate to token\r\n // if token is passed in, propagate to apiKey\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n } else if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error(\r\n 'An ITEM ID or SERVICE URL is required for vectorTileLayer.'\r\n );\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n this.fire('load-error', {\r\n value: error\r\n });\r\n return;\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n this._createMaplibreLayer(style);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n _setupAttribution: function () {\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const sourcesKeys = Object.keys(sources);\r\n this.options.attribution =\r\n sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n },\r\n\r\n _createMaplibreLayer: function (style) {\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity,\r\n preserveDrawingBuffer: this.options.preserveDrawingBuffer\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function () {\r\n this._setupAttribution();\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n","import { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData, getBasemapStyleV2Url } from './Util';\r\nimport { VectorTileLayer } from './VectorTileLayer';\r\n\r\nexport var VectorBasemapLayer = VectorTileLayer.extend({\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n // Default to the v1 service endpoint\r\n if (!options.version) {\r\n if (key.includes('/')) options.version = 2;\r\n else options.version = 1;\r\n }\r\n if (!key) {\r\n // Default style enum if none provided\r\n key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets';\r\n }\r\n // If no API Key or token is provided (support outdated casing apiKey of apikey)\r\n if (!(options.apikey || options.apiKey || options.token)) {\r\n throw new Error('An API Key or token is required for vectorBasemapLayer.');\r\n }\r\n // Validate language param\r\n if (options.language) {\r\n if (options.version !== 2) {\r\n throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n }\r\n // Determine layer order\r\n if (!options.pane) {\r\n if (key.includes(':Label') || key.includes('/label')) {\r\n options.pane = 'esri-labels';\r\n } else if (key.includes(':Detail') || key.includes('/detail')) {\r\n options.pane = 'esri-detail';\r\n } else {\r\n // Create layer in the tilePane by default\r\n options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n // Options has been configured, continue on to create the layer:\r\n VectorTileLayer.prototype.initialize.call(this, key, options);\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n let styleUrl;\r\n if (this.options.version && this.options.version === 2) {\r\n styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, this.options.language);\r\n } else {\r\n styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n }\r\n this._createMaplibreLayer(styleUrl);\r\n },\r\n\r\n _setupAttribution: function () {\r\n // Set attribution\r\n Util.setEsriAttribution(this._map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n this._map.attributionControl.addAttribution('' + allAttributions.join(', ') + '');\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, this._map);\r\n }\r\n\r\n this._map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n _initPane: function () {\r\n if (!this._map.getPane(this.options.pane)) {\r\n const pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n\r\n let zIndex = 500;\r\n if (this.options.pane === 'esri-detail') {\r\n zIndex = 250;\r\n } else if (this.options.pane === 'esri-labels') {\r\n zIndex = 300;\r\n }\r\n pane.style.zIndex = zIndex;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n const element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n const vectorAttribution = element[0].outerHTML;\r\n // this doesn't work, not sure why.\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._initPane();\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","// export version\r\nimport packageInfo from '../package.json';\r\nconst version = packageInfo.version;\r\nexport { version as VERSION };\r\n\r\nexport { VectorBasemapLayer, vectorBasemapLayer } from './VectorBasemapLayer';\r\nexport { VectorTileLayer, vectorTileLayer } from './VectorTileLayer';\r\nexport { EsriUtil as Util } from './Util';\r\nexport { MaplibreGLJSLayer, maplibreGLJSLayer } from './MaplibreGLLayer';\r\n"],"names":["loadStyle","idOrUrl","options","callback","test","loadStyleFromService","itemId","itemStyleUrl","portalUrl","loadStyleFromUrl","error","style","loadItem","item","url","loadService","service","loadStyleFromItem","serviceUrl","params","token","request","defaultStylesUrl","sanitizedServiceUrl","charAt","length","slice","defaultStyles","styleUrl","isSameTLD","url1","url2","URL","hostname","formatStyle","metadata","sourcesKeys","Object","keys","sources","sourceIndex","source","indexOf","replace","tiles","minzoom","minLOD","tileInfo","lods","level","maxzoom","maxLOD","lastSource","attribution","copyrightText","layerIndex","layers","layer","layout","sprite","console","warn","glyphs","getAttributionData","map","Support","cors","attributions","_esriAttributions","c","contributors","contributor","i","coverageAreas","coverageArea","southWest","latLng","bbox","northEast","push","score","bounds","latLngBounds","minZoom","zoomMin","maxZoom","zoomMax","sort","a","b","obj","target","Util","_updateMapAttribution","WEB_MERCATOR_WKIDS","EsriUtil","module","exports","shared","worker","maplibregl","define","_","chunk","workerBundleString","sharedChunk","window","workerUrl","createObjectURL","Blob","type","t","e","r","n","this","cx","bx","ax","cy","by","ay","p1x","p1y","p2x","p2y","solve","prototype","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","Math","abs","s","o","min","max","l","u","forEach","bind","call","h","p","Array","isArray","f","d","y","x","m","g","WorkerGlobalScope","self","toLowerCase","parseInt","isNaN","v","w","navigator","userAgent","safari","match","A","ImageBitmap","k","now","performance","Date","frame","requestAnimationFrame","cancel","cancelAnimationFrame","getImageData","document","createElement","getContext","Error","width","height","drawImage","resolveURL","href","hardwareConcurrency","prefersReducedMotion","matchMedia","matches","S","I","clone","add","_add","sub","_sub","multByPoint","_multByPoint","divByPoint","_divByPoint","mult","_mult","div","_div","rotate","_rotate","rotateAround","_rotateAround","matMult","_matMult","unit","_unit","perp","_perp","round","_round","mag","sqrt","equals","dist","distSqr","angle","atan2","angleTo","angleWith","angleWithSep","cos","sin","convert","M","MAX_PARALLEL_IMAGE_REQUESTS","REGISTERED_PROTOCOLS","z","B","C","P","V","E","caches","open","F","T","supported","testSupport","$","D","R","U","L","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","isContextLost","deleteTexture","onload","onerror","src","O","Unknown","Style","Source","Tile","Glyphs","SpriteImage","SpriteJSON","Image","freeze","q","constructor","super","status","statusText","body","j","referrer","location","protocol","parent","N","AbortController","Request","method","credentials","headers","signal","set","fetch","then","ok","arrayBuffer","json","text","Headers","get","toUTCString","getTime","Response","ReadableStream","blob","put","catch","message","code","abort","K","actor","send","substring","hasOwnProperty","XMLHttpRequest","responseType","setRequestHeader","withCredentials","response","JSON","parse","getResponseHeader","Z","G","host","J","X","Y","H","accept","requestParameters","cancelled","shift","createImageBitmap","Uint8Array","revokeObjectURL","byteLength","cacheControl","expires","W","Q","splice","tt","et","rt","on","_listeners","off","_oneTimeListeners","once","fire","listens","_eventedParent","_eventedParentData","setEventedParent","nt","$version","$root","version","required","values","name","center","value","zoom","bearing","default","period","units","pitch","light","terrain","transition","source_vector","vector","scheme","xyz","tms","promoteId","volatile","source_raster","raster","tileSize","source_raster_dem","encoding","terrarium","mapbox","source_geojson","geojson","data","buffer","maximum","minimum","filter","tolerance","cluster","clusterRadius","clusterMaxZoom","clusterMinPoints","clusterProperties","lineMetrics","generateId","source_video","video","urls","coordinates","source_image","image","id","fill","line","symbol","circle","heatmap","hillshade","background","paint","layout_background","visibility","visible","none","layout_fill","expression","interpolated","parameters","layout_circle","layout_heatmap","layout_line","butt","square","bevel","miter","requires","layout_symbol","point","auto","never","always","cooperative","viewport","both","tokens","left","right","top","bottom","horizontal","vertical","uppercase","lowercase","layout_raster","layout_hillshade","filter_operator","in","all","any","has","within","geometry_type","Point","LineString","Polygon","function","stops","base","property","identity","exponential","interval","categorical","colorSpace","rgb","lab","hcl","function_stop","anchor","position","color","intensity","exaggeration","elevationOffset","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","linear","nearest","paint_hillshade","paint_background","duration","delay","constant","it","identifier","__line__","at","key","st","ot","Number","String","Boolean","valueOf","lt","ut","ct","bindings","concat","ht","kind","pt","ft","dt","yt","mt","gt","xt","vt","bt","wt","_t","itemType","At","kt","St","It","some","Mt","zt","Bt","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","Ct","Pt","parseFloat","Vt","Et","parseCSSColor","substr","split","pop","Ft","static","toString","toArray","Tt","sensitivity","locale","collator","Intl","Collator","usage","compare","resolvedLocale","resolvedOptions","Lt","scale","fontStack","textColor","Dt","sections","isEmpty","fromString","join","$t","stringify","Rt","available","Ut","Ot","qt","jt","Nt","expectedType","evaluate","eachChild","outputDefined","Kt","toJSON","Zt","string","number","boolean","object","Gt","args","floor","every","Jt","Xt","parseColor","Yt","Ht","globals","feature","featureState","formattedSection","_parseColorCache","availableImages","canonical","geometryType","geometry","canonicalID","properties","Wt","_evaluate","definitions","overloads","we","registry","path","scope","checkSubtype","errors","Qt","caseSensitive","diacriticSensitive","te","ee","re","ne","PI","log","pow","ie","ae","se","oe","le","ue","ce","he","pe","fe","de","ye","me","geometries","features","ge","xe","ve","be","boundExpression","_parse","typeAnnotation","_e","Ae","ke","input","labels","outputs","Se","Ie","__proto__","array","padding","Me","ze","Be","Ce","Pe","Ve","Ee","Fe","Te","Le","De","$e","alpha","Re","Ue","Oe","forward","reverse","interpolate","qe","je","Ne","operator","interpolation","Ke","controlPoints","interpolationFactor","Ze","Ge","result","Je","index","Xe","needle","haystack","Ye","fromIndex","He","inputType","cases","otherwise","MAX_SAFE_INTEGER","We","branches","Qe","beginIndex","endIndex","tr","er","rr","lhs","rhs","hasUntypedArgument","nr","ir","ar","sr","or","lr","ur","currency","minFractionDigits","maxFractionDigits","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","cr","font","content","hr","pr","fr","case","coalesce","let","literal","step","var","dr","yr","mr","gr","xr","vr","br","wr","_r","Ar","kr","Sr","Ir","Cr","Br","zr","create","Pr","interpolationType","zoomStops","Mr","apply","register","typeof","rgba","heatmapDensity","lineProgress","accumulated","ln2","LN2","pi","log10","LN10","ln","log2","asin","acos","atan","ceil","isSupportedScript","upcase","toUpperCase","downcase","Vr","_warningHistory","_evaluator","_defaultValue","_enumValues","evaluateWithoutErrorHandling","Er","Fr","enum","formatted","resolvedImage","Tr","_styleExpression","isStateDependent","Lr","Dr","Rr","$r","_parameters","_specification","Ur","valueSpec","objectElementValidators","styleSpec","yn","objectKey","Or","arrayElementValidator","arrayIndex","qr","jr","isFinite","Nr","expressionContext","propertyKey","propertyType","Kr","Zr","Gr","Jr","needGeometry","Hr","Yr","Xr","Wr","en","Qr","tn","rn","nn","an","layerType","exec","sn","ref","un","cn","hn","pn","fn","dn","constants","mn","gn","xn","vn","paintProperty","layoutProperty","bn","wn","_n","An","kn","Sn","cells","ArrayBuffer","Int32Array","subarray","bboxes","insert","_insertReadonly","extent","uid","_forEachCell","_insertCell","query","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","In","Mn","defineProperty","writeable","klass","omit","shallow","_classRegistryKey","zn","Bn","RegExp","isView","ImageData","serialize","$name","Cn","deserialize","Pn","first","update","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","Vn","Arabic","Khmer","Hiragana","Katakana","Bopomofo","Kanbun","En","Ln","charCodeAt","Fn","Tn","Dn","$n","Rn","Un","On","qn","jn","Nn","Kn","Zn","Gn","Jn","Xn","pluginStatus","pluginURL","Yn","Hn","Wn","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","isLoaded","isLoading","setState","isParsed","getPluginURL","Qn","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","fromScale","toScale","ti","specification","isDataDriven","possiblyEvaluate","ei","transitioned","ni","untransitioned","ri","_properties","_values","defaultTransitionablePropertyValues","getValue","setValue","getTransition","setTransition","ii","begin","end","prior","defaultTransitioningPropertyValues","oi","hasTransition","ai","defaultPropertyValues","si","isConstant","constantOr","defaultPossiblyEvaluatedValues","li","ui","overrides","ci","_calculate","from","to","hi","fi","overridableProperties","di","yi","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","setPaintProperty","validate","setLayoutProperty","_transitioningPaint","_crossfadeParameters","getLayoutProperty","_validate","getPaintProperty","endsWith","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","isHidden","updateTransitions","recalculate","is3D","isTileClipped","hasOffscreenPass","resize","mi","Int8","Int8Array","Uint8","Int16","Int16Array","Uint16","Uint16Array","Int32","Uint32","Uint32Array","Float32","Float32Array","gi","_structArray","_pos1","size","_pos2","_pos4","_pos8","xi","isTransferred","capacity","_trim","bytesPerElement","_refreshViews","clear","reserve","uint8","vi","members","BYTES_PER_ELEMENT","bi","components","offset","alignment","wi","int16","emplaceBack","emplace","_i","Ai","ki","Si","float32","Ii","uint16","Mi","zi","Bi","uint32","Ci","Pi","Vi","Ei","Fi","Ti","Li","Di","$i","Ri","Ui","Oi","qi","ji","anchorPointX","anchorPointY","x1","y1","x2","y2","featureIndex","sourceLayerIndex","bucketIndex","anchorPoint","Ni","Ki","anchorX","anchorY","glyphStartIndex","numGlyphs","vertexStartIndex","lineStartIndex","lineLength","segment","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","hidden","crossTileID","associatedIconIndex","Zi","Gi","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","placedIconSymbolIndex","verticalPlacedIconSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","verticalIconBoxStartIndex","verticalIconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","numVerticalIconVertices","useRuntimeCollisionCircles","textBoxScale","textOffset0","textOffset1","collisionCircleDiameter","Ji","Xi","getoffsetX","Yi","getx","gety","gettileUnitDistanceFromAnchor","Hi","Wi","Qi","ta","ea","ra","na","ia","aa","sa","oa","la","ua","ca","ha","pa","fa","da","ya","segments","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","sortKey","vertexOffset","primitiveOffset","primitiveLength","destroy","vaos","ma","ga","xa","va","ba","wa","_a","murmur3","murmur2","Aa","ids","positions","indexed","ka","getPositions","start","Float64Array","Sa","Ia","Ma","gl","za","current","uniform1f","Ba","uniform4f","Ca","Pa","Va","Ea","uniformNames","setUniform","getBinding","Fa","patternFrom","patternTo","pixelRatioFrom","pixelRatioTo","setConstantPatternPositions","pixelRatio","tlbr","Ta","maxValue","paintVertexAttributes","paintVertexArray","populatePaintArray","_setPaintValue","updatePaintArray","upload","paintVertexBuffer","updateData","createVertexBuffer","La","useIntegerZoom","Da","layerId","zoomInPaintVertexArray","zoomOutPaintVertexArray","_setPaintValues","patterns","mid","tl","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","$a","binders","_buffers","Ua","Oa","cacheKey","getMaxValue","populatePaintArrays","updatePaintArrays","defines","getBinderAttributes","getBinderUniforms","getPaintVertexBuffers","getUniforms","binding","setUniforms","updatePaintBuffers","Ra","programConfigurations","needsUpload","_featureMap","_bufferOffset","composite","qa","ja","Na","Ka","loadGeometry","Za","Ga","Ja","overscaling","layerIds","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","addFeature","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","Xa","is","Qa","Ya","es","Ha","ns","Wa","ts","rs","as","ss","os","ls","us","cs","hs","ps","fs","ds","ys","hypot","arguments","ms","gs","xs","vs","bs","ws","_s","As","ks","Ss","Uint8ClampedArray","RangeError","Is","Ms","zs","Bs","Cs","resolution","clips","evaluationKey","Ps","Vs","Es","Fs","Ts","Ls","next","prev","steiner","Gs","js","Ns","$s","so","no","Hs","io","Ds","Ys","Zs","prevZ","nextZ","Us","Rs","Os","qs","Js","Ws","eo","Xs","ro","Ks","Qs","ao","oo","lo","co","exp","uo","ho","area","po","fo","patternDependencies","yo","deviation","flatten","vertices","holes","dimensions","mo","patternFeatures","indexArray2","segments2","addFeatures","indexBuffer2","go","xo","vo","bo","wo","_o","Ao","ko","So","_pbf","_geometry","_keys","readFields","Io","readVarint","pos","Mo","types","readSVarint","toGeoJSON","zo","Bo","Co","_features","Po","readString","readFloat","readDouble","readVarint64","readBoolean","Vo","Eo","VectorTile","VectorTileFeature","VectorTileLayer","Fo","To","Lo","Do","centroidVertexArray","centroidVertexBuffer","vertexCount","Ro","$o","Uo","Oo","qo","jo","No","Ko","Zo","Go","Jo","Xo","Yo","lineClipsArray","gradients","layoutVertexArray2","maxLineLength","layoutVertexBuffer2","lineFeatureClips","mapbox_clip_start","mapbox_clip_end","lineClips","addLine","distance","scaledDistance","totalDistance","updateScaledDistance","e1","e2","updateDistance","addCurrentVertex","addHalfVertex","Ho","Wo","Qo","el","rl","nl","il","al","sl","toLocaleUpperCase","toLocaleLowerCase","ol","ll","ul","pl","cl","NaN","hl","buf","Varint","Fixed64","Bytes","Fixed32","fl","dl","yl","ml","TextDecoder","xl","vl","realloc","bl","writeVarint","wl","writeSVarint","_l","writeFloat","Al","writeDouble","kl","writeBoolean","Sl","writeFixed32","Il","writeSFixed32","Ml","writeFixed64","zl","writeSFixed64","Bl","Cl","Pl","Vl","readMessage","El","bitmap","advance","Fl","metrics","readBytes","Tl","skip","readFixed32","readSFixed32","readFixed64","readSFixed64","decode","fromCharCode","readPackedVarint","readPackedSVarint","readPackedBoolean","readPackedFloat","readPackedDouble","readPackedFixed32","readPackedSFixed32","readPackedFixed64","readPackedSFixed64","writeTag","finish","writeString","writeBytes","writeRawMessage","writeMessage","writePackedVarint","writePackedSVarint","writePackedBoolean","writePackedFloat","writePackedDouble","writePackedFixed32","writePackedSFixed32","writePackedFixed64","writePackedSFixed64","writeBytesField","writeFixed32Field","writeSFixed32Field","writeFixed64Field","writeSFixed64Field","writeVarintField","writeSVarintField","writeStringField","writeFloatField","writeDoubleField","writeBooleanField","Ll","stretchX","stretchY","paddedRect","displaySize","Dl","haveRenderCallbacks","addImages","copy","iconPositions","patternPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","WritingMode","horizontalOnly","$l","Rl","imageName","Ul","sectionIndex","imageSectionID","addImageSection","addTextSection","getSection","getSectionIndex","getCharCode","verticalizePunctuation","trim","ql","getMaxScale","reduce","forText","getNextImageSectionCharCode","forImage","Ol","fromFeature","Xl","positionedLines","iconsInText","verticalizable","positionedGlyphs","lineOffset","rect","glyph","Hl","horizontalAlign","verticalAlign","Yl","jl","Nl","Kl","Zl","Gl","badness","priorBreak","Jl","Wl","Ql","collisionPadding","tu","eu","layoutSize","minSize","maxSize","ru","nu","angleDelta","iu","au","su","ou","lu","uu","cu","hu","pu","du","stretch","yu","fixed","tex","glyphOffset","pixelOffsetTL","pixelOffsetBR","minFontScaleX","minFontScaleY","isSDF","fu","mu","boxStartIndex","circleDiameter","boxEndIndex","gu","xu","_down","_up","peek","vu","bu","wu","SQRT2","_u","POSITIVE_INFINITY","Au","ku","Su","textMaxSize","zu","tilePixelRatio","allowVerticalPlacement","addToLineVertexArray","iconSizeData","Iu","compositeIconSizes","addSymbols","icon","placedSymbolArray","Mu","collisionBoxArray","glyphOffsetArray","Du","MAX_GLYPHS","addToSortKeyRanges","symbolInstances","Bu","sdf","textSizeData","compositeTextSizes","compareText","Cu","Pu","Vu","Eu","Fu","Tu","dynamicLayoutVertexArray","opacityVertexArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","itemSize","Lu","layoutAttributes","collisionVertexArray","collisionVertexBuffer","hasRTLText","sortKeyRanges","collisionCircleArray","placementInvProjMatrix","placementViewportMatrix","canOverlap","qu","sortFeaturesByKey","sortFeaturesByY","writingModes","sourceID","createArrays","lineVertexArray","calculateGlyphDependencies","iconDependencies","glyphDependencies","getValueAndResolveTokens","factory","hasDebugData","textCollisionBox","iconCollisionBox","destroyDebugData","tileUnitDistanceFromAnchor","_addCollisionDebugVertex","addCollisionDebugVertices","addDebugCollisionBoxes","generateCollisionDebugBuffers","_deserializeCollisionBoxesForSymbol","textBox","textFeatureIndex","verticalTextBox","verticalTextFeatureIndex","iconBox","iconFeatureIndex","verticalIconBox","verticalIconFeatureIndex","deserializeCollisionBoxes","collisionArrays","hasTextData","hasIconData","hasTextCollisionBoxData","hasIconCollisionBoxData","addIndicesForPlacedSymbol","getSortedSymbolIndexes","sortedAngle","symbolInstanceIndexes","symbolInstanceEnd","symbolInstanceStart","sortFeatures","featureSortOrder","addDynamicAttributes","$u","Ru","runtimeType","getOverride","hasOverride","Uu","defaultValue","Ou","_setPaintOverrides","createBucket","queryRadius","queryIntersectsFeature","hasPaintOverride","_interpolationType","ju","Nu","Ku","onAdd","implementation","painter","context","onRemove","renderingMode","prerender","Zu","cameraToCenterDistance","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","gradientVersion","stepInterpolant","gradientExpression","Gu","_callback","_triggered","MessageChannel","_channel","port2","onmessage","trigger","port1","postMessage","setTimeout","remove","Ju","Xu","lng","lat","wrap","distanceTo","toBounds","Yu","lon","setSouthWest","setNorthEast","_ne","_sw","extend","getCenter","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","contains","Hu","Wu","Qu","tc","ec","rc","nc","toLngLat","toAltitude","meterInMercatorCoordinateUnits","ic","ac","lc","isChildOf","getTilePoint","sc","oc","overscaledZ","scaledTo","calculateScaledKey","children","isLessThan","wrapped","unwrapTo","overscaleFactor","toUnwrapped","uc","stride","dim","_idx","MIN_SAFE_INTEGER","_unpackTerrarium","_unpackMapbox","getUnpackVector","getPixels","backfillBorder","cc","_stringToNumber","_numberToString","encode","hc","_vectorTileFeature","_z","_x","_y","pc","tileID","grid","grid3D","featureIndexArray","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","dc","minX","minY","maxX","maxY","cameraQueryGeometry","yc","loadMatchingFeature","transform","pixelPosMatrix","bucketLayerIDs","getId","getState","fc","intersectionZ","lookupSymbolFeatures","hasLayer","mc","PerformanceMarkers","load","fullLoad","gc","xc","vc","bc","mark","clearMetrics","clearMeasures","clearMarks","getPerformanceMetrics","measure","getEntriesByName","loadTime","fullLoadTime","fps","percentDroppedFrames","AJAXError","ARRAY_TYPE","Actor","mapId","callbacks","tasks","taskQueue","cancelCallbacks","invoker","process","addEventListener","receive","globalScope","random","hasCallback","targetMapId","mustQueue","sourceMapId","processTask","getWorkerSource","removeEventListener","AlphaImage","CanonicalTileID","CollisionBoxArray","CollisionCircleLayoutArray","Color","DEMData","DataConstantProperty","DictionaryCoder","EXTENT","ErrorEvent","EvaluationParameters","Event","Evented","FeatureIndex","FillBucket","FillExtrusionBucket","GeoJSONFeature","ImageAtlas","ImagePosition","LineBucket","LineStripIndexArray","LngLat","LngLatBounds","MercatorCoordinate","ONE_EM","OverscaledTileID","PerformanceUtils","PosArray","Properties","QuadTriangleArray","RGBAImage","RasterBoundsArray","RequestPerformance","_marks","ResourceType","SegmentVector","SymbolBucket","Transitionable","TriangleIndexArray","Uniform1f","Uniform1i","uniform1i","Uniform2f","uniform2f","Uniform3f","uniform3f","Uniform4f","UniformColor","UniformMatrix4f","uniformMatrix4fv","UnwrappedTileID","ValidationError","ZoomHistory","asyncAll","bezier","bindAll","cacheEntryPossiblyAdded","getActor","clamp","clearTileCache","delete","clipLine","clone$1","clone$2","collisionCircleLayout","config","create$1","createExpression","createFilter","createLayout","createStyleLayer","cross","dot","dot$1","ease","emitValidationErrors","enforceCacheSizeLimit","evaluateSizeForFeature","uSize","uSizeT","evaluateSizeForZoom","evaluateVariableOffset","evented","exported","exported$1","filterObject","fromRotation","fromScaling","getAnchorAlignment","getAnchorJustification","getArrayBuffer","getJSON","getOverlapMode","getRTLTextPluginStatus","getReferrer","getVideo","muted","onloadstart","crossOrigin","appendChild","invert","isImageBitmap","isSafari","isWorker","keysDifference","lazyLoadRTLTextPlugin","makeRequest","mapObject","mercatorXfromLng","mercatorYfromLat","mercatorZfromAltitude","mul","mul$1","multiply","nextPowerOfTwo","normalize","ortho","parseCacheControl","parseGlyphPbf","pbf","performSymbolLayout","bucket","iconsNeedLinear","layoutIconSize","layoutTextSize","glyphMap","glyphPositions","imagePositions","imageMap","sdfIcons","showCollisionBoxes","perspective","pick","plugin","pointGeometry","polygonIntersectsPolygon","potpack","refProperties","registerForPluginStateChange","renderColorRamp","rotateX","rotateZ","scale$1","setCacheLimits","setRTLTextPlugin","spec","sphericalToCartesian","sqrLen","toEvaluationFeature","transformMat3","transformMat4","transformMat4$1","translate","triggerPluginCompletionEvent","unicodeBlockLookup","uniqueId","validateCustomStyleLayer","render","validateLight","validateStyle","vectorTile","warnOnce","keyCache","_layerConfigs","_layers","familiesBySource","collectResourceTiming","returnDependencies","stacks","icons","buckets","glyphAtlasImage","imageAtlas","iconMap","rawData","loadVectorData","loading","loaded","loadTile","resourceTiming","reloadTile","reloadCallback","abortTile","removeTile","rawImageData","offscreenCanvas","offscreenCanvasContext","OffscreenCanvas","clearRect","_feature","tags","_geojsonTileLayer","rawGeometry","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","nodeSize","points","coords","range","minPoints","radius","fround","trees","time","timeEnd","_cluster","getClusters","_limitZoom","numPoints","getChildren","_getOriginId","_getOriginZoom","parentId","getLeaves","_appendLeaves","getTile","_addTileFeatures","getClusterExpansionZoom","cluster_id","point_count","_map","point_count_abbreviated","transformed","numSimplified","numFeatures","debug","tileCoords","indexMaxZoom","indexMaxPoints","stats","total","splitTile","_geoJSONIndex","byteOffset","loadGeoJSON","loadData","_pendingRequest","_pendingCallback","abandoned","superclusterOptions","geojsonVtOptions","removeSource","clusterId","getClusterChildren","getClusterLeaves","limit","layerIndexes","workerSourceTypes","workerSources","demWorkerSources","registerWorkerSource","registerRTLTextPlugin","setReferrer","setImages","setLayers","getLayerIndex","updateLayers","removedIds","loadDEMTile","getDEMWorkerSource","removeDEMTile","loadWorkerSource","importScripts","syncRTLPluginState","getAvailableImages","lastIndexOf","reduceRight","Function","getPrototypeOf","getOwnPropertyNames","isSealed","isFrozen","isExtensible","getOwnPropertyDescriptor","defineProperties","seal","preventExtensions","Worker","terminate","failIfMajorPerformanceCaveat","webGLContextAttributes","createShader","VERTEX_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","documentMode","antialias","stencil","depth","docStyle","className","createElementNS","selectProp","userSelect","transformProp","capture","preventDefault","stopPropagation","suppressClickInternal","getBoundingClientRect","clientX","clientLeft","clientY","clientTop","button","parentNode","removeChild","documentElement","testProp","_transformRequestFn","transformRequest","normalizeSpriteURL","authority","setTransformRequest","texture","useMipmap","pixelStoreUnpackFlipY","pixelStoreUnpack","pixelStoreUnpackPremultiplyAlpha","premultiply","HTMLImageElement","HTMLCanvasElement","HTMLVideoElement","texSubImage2D","isSizePowerOfTwo","generateMipmap","LINEAR_MIPMAP_NEAREST","LINEAR","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","userImage","images","callbackDispatchedThisFrame","requestors","atlasImage","dirty","setLoaded","_notify","addImage","_validateStretch","_validateContent","updateImage","removeImage","listImages","getImages","getPixelSize","getPattern","bin","_updatePatternAtlas","atlasTexture","CLAMP_TO_EDGE","beginFrame","requestManager","localIdeographFontFamily","entries","setURL","getGlyphs","stack","requests","ranges","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","fontSize","cutoff","fontFamily","fontWeight","draw","glyphWidth","glyphHeight","glyphLeft","glyphTop","glyphAdvance","fontStyle","_createCanvas","ctx","willReadFrequently","textBaseline","textAlign","fillStyle","gridOuter","gridInner","actualBoundingBoxAscent","actualBoundingBoxDescent","actualBoundingBoxLeft","actualBoundingBoxRight","measureText","fillText","_transitionable","setLight","_transitioning","getLight","nextRow","dashEntry","getDash","addDash","getDashRanges","isDash","zeroLength","addRoundDash","addRegularDash","ALPHA","REPEAT","workerPool","actors","currentActor","acquire","broadcast","release","vector_layers","vectorLayers","vectorLayerIds","validateBounds","dispatcher","reparseOverscaled","_loaded","_options","_collectResourceTiming","dataType","_tileJSONRequest","_requestManager","sourceCaches","clearTiles","tileBounds","sourceDataType","hasTile","setSourceProperty","setTiles","setUrl","getPixelRatio","aborted","_refreshExpiredTiles","setExpiryData","state","unloadTile","unloadVectorData","roundZoom","getTileTexture","extTextureFilterAnisotropic","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","extTextureFilterAnisotropicMax","saveTileTexture","dem","needsHillshadePrepare","needsTerrainPrepare","coord","neighboringTiles","_getNeighboringTiles","backfilled","demTexture","fbo","_removed","_pendingLoads","_data","workerOptions","_updateWorkerData","setData","_finishLoading","setCoordinates","fromLngLat","_boundsArray","boundsBuffer","prepare","boundsSegments","simpleSegment","loop","triggerRepaint","play","pause","seek","seekable","currentTime","readyState","paused","animate","canvas","getElementById","_hasInvalidDimensions","_playing","getCanvas","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","tile","queryRenderedFeatures","_state","getFeatureState","uses","expirationTime","hasSymbolBuckets","dependencies","textures","textureCoords","expiredRequestCount","registerFadeDuration","timeAdded","fadeEndTime","wasRequested","clearTextures","hasData","latestFeatureIndex","latestRawTileData","getLayer","justReloaded","imageAtlasTexture","glyphAtlasTexture","getBucket","querySourceFeatures","patternsLoaded","getExpiryTimeout","setFeatureState","holdingForFade","symbolFadeHoldUntil","symbolFadeFinished","clearFadeHold","setHoldDuration","setDependencies","hasDependency","reset","timeout","clearTimeout","order","_getAndRemoveByKey","getAndRemove","getByKey","setMaxSize","stateChanges","deletedStates","updateState","removeFeatureState","initializeTileState","coalesceChanges","_sourceLoaded","_paused","reload","_sourceErrored","_source","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_loadedParentTiles","_coveredTiles","getSource","resume","_shouldReloadOnResume","_loadTile","_abortTile","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","_tileLoaded","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","_getLoadedTile","updateCacheSize","handleWrapJump","_prevLng","used","usedForTerrain","getVisibleUnwrappedCoordinates","coveringTiles","coveringZoomLevel","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_addTile","_fadeDuration","_removeTile","_updateLoadedParentTileCache","releaseSymbolFadeTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","reloadTilesForDependencies","active","workers","workerCount","numActive","isPreloaded","setStyle","addLayer","removeLayer","setFilter","addSource","setGeoJSONSourceData","setLayerZoomRange","setLayerProperty","setCenter","setZoom","setBearing","setPitch","setSprite","setGlyphs","command","_distances","paddedLength","lerp","boxCells","circleCells","xCellCount","yCellCount","circleKeys","boxKeys","circles","xScale","yScale","boxUid","circleUid","keysLength","_insertBoxCell","insertCircle","_insertCircleCell","_query","hitTest","overlapMode","seenUids","box","hitTestCircle","_queryCellCircle","_circleAndRectCollide","_circlesCollide","_convertToXCellCoord","_convertToYCellCoord","labelPlaneMatrix","glCoordMatrix","signedDistanceFromCamera","useVertical","notEnoughRoom","needsFlipping","last","ignoredGrid","pitchfactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","perspectiveRatioCutoff","placeCollisionBox","projectAndGetPerspectiveRatio","perspectiveRatio","isInsideGrid","offscreen","isOffscreen","placeCollisionCircles","collisionDetected","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","getViewportMatrix","opacity","placed","skipFade","invProjMatrix","viewportMatrix","crossSourceCollisions","maxGroupID","collisionGroups","ID","predicate","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","collisionCircleArrays","prevPlacement","placedOrientations","getBucketParts","textLabelPlaneMatrix","labelToScreenMatrix","textPixelRatio","partiallyEvaluatedTextSize","collisionGroup","attemptAnchorPlacement","textOffset","prevAnchor","markUsedJustification","markUsedOrientation","placedGlyphBoxes","placeLayerBucketPart","getElevation","elevation","unshift","commit","zoomAtLastRecencyCheck","prevZoomAdjustment","zoomAdjustment","symbolFadeChange","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","hasTransitions","stillRecent","setStale","_sortAcrossTiles","_currentTileIndex","_currentPartIndex","_seenCrossTileIDs","_bucketParts","continuePlacement","placement","_currentPlacementIndex","_forceFullPlacement","_showCollisionBoxes","_done","isDone","_inProgressLayer","indexedSymbolInstances","getScaledCoordinates","findMatches","maxCrossTileID","generate","indexes","usedCrossTileIDs","addBucket","removeBucketCrossTileIDs","removeStaleBuckets","crossTileIDs","maxBucketInstanceId","bucketsInCurrentPlacement","pruneUnusedLayers","sourceCache","_renderableTilesKeys","_sourceTileCache","renderHistory","deltaZoom","renderHistorySize","destruct","removeOutdated","getRenderableTiles","getTerrainCoords","getSourceTile","tilesAfterTime","timeLoaded","qualityFactor","meshSize","_demMatrixCache","coordsIndex","_coordsTextureSize","clearRerenderCache","getDEMElevation","getTerrainData","u_terrain_matrix","rememberForRerender","_rerender","needsRerender","_emptyDemTexture","_emptyDepthTexture","_emptyDemUnpack","NEAREST","_emptyDemMatrix","matrix","u_depth","u_terrain","u_terrain_dim","u_terrain_unpack","u_terrain_offset","u_terrain_exaggeration","depthTexture","_fboDepthTexture","getRTTFramebuffer","_rttFramebuffer","createFramebuffer","depthAttachment","createRenderbuffer","DEPTH_COMPONENT16","getFramebuffer","devicePixelRatio","_fbo","_fboCoordsTexture","colorAttachment","getCoordsTexture","_coordsTexture","bindFramebuffer","framebuffer","readPixels","getTerrainMesh","_mesh","vertexBuffer","getMinMaxElevation","minElevation","maxElevation","glyphManager","lineAtlas","crossTileSymbolIndex","_serializedLayers","_order","_availableImages","_resetUpdates","_rtlTextPluginCallback","sourceId","_validateLayer","loadURL","_request","_load","loadJSON","loadEmpty","stylesheet","_loadSprite","_serializeLayers","setTerrain","_spriteRequest","_updatedSources","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updateTilesForChangedImages","_updatedPaintProps","_changedImages","_terrainDataCallback","_terrainfreezeElevationCallback","updateElevation","freezeElevation","recalculateZoom","_afterImageUpdated","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getFilter","_flattenAndSortRenderedFeatures","addSourceType","getSourceType","setSourceType","workerSourceURL","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getResource","prelude","backgroundPattern","clippingMask","heatmapTexture","collisionBox","collisionCircle","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","hillshadePrepare","lineGradient","linePattern","lineSDF","symbolIcon","symbolSDF","symbolTextAndIcon","terrainDepth","terrainCoords","fragmentSource","vertexSource","staticAttributes","staticUniforms","boundProgram","boundLayoutVertexBuffer","boundPaintVertexBuffers","boundIndexBuffer","boundVertexOffset","boundDynamicVertexBuffer","vao","extVertexArrayObject","boundDynamicVertexBuffer2","boundDynamicVertexBuffer3","bindVertexArrayOES","dynamicDraw","freshBind","numAttributes","createVertexArrayOES","currentNumAttributes","disableVertexAttribArray","enableAttributes","setVertexAttribPointers","deleteVertexArrayOES","program","createProgram","FRAGMENT_SHADER","failedToCreate","attachShader","attributes","bindAttribLocation","linkProgram","deleteShader","getUniformLocation","fixedUniforms","terrainUniforms","binderUniforms","setDepthMode","setStencilMode","setColorMode","setCullFace","activeTexture","TEXTURE2","TEXTURE3","LINES","TRIANGLES","LINE_STRIP","drawElements","UNSIGNED_SHORT","tileZoom","u_image","u_texsize","u_scale","u_fade","u_pixel_coord_upper","u_pixel_coord_lower","u_matrix","u_lightpos","u_lightintensity","u_lightcolor","u_vertical_gradient","u_opacity","u_height_factor","u_world","pixelsToGLUnits","u_camera_to_center_distance","u_scale_with_map","translatePosMatrix","u_pitch_with_map","u_device_pixel_ratio","u_extrude_scale","u_pixels_to_tile_units","u_overscale_factor","u_color","u_overlay","u_overlay_scale","u_intensity","u_ratio","u_units_to_pixels","u_image_height","u_patternscale_a","u_patternscale_b","u_sdfgamma","u_tex_y_a","u_tex_y_b","u_mix","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","mix","u_image0","u_image1","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_is_size_zoom_constant","u_is_size_feature_constant","u_size_t","u_size","u_pitch","u_rotate_symbol","u_aspect_ratio","u_fade_change","u_label_plane_matrix","u_coord_matrix","u_is_text","u_texture","u_gamma_scale","u_is_halo","u_texsize_icon","u_texture_icon","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_pattern_size_a","u_pattern_size_b","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_inv_matrix","u_viewport_size","u_color_ramp","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_unpack","u_terrain_coords_id","createBuffer","unbindVAO","bindElementBuffer","bufferData","ELEMENT_ARRAY_BUFFER","DYNAMIC_DRAW","STATIC_DRAW","bufferSubData","deleteBuffer","bindVertexBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","getDefault","setDefault","clearColor","clearDepth","clearStencil","colorMask","depthMask","stencilMask","func","ALWAYS","mask","stencilFunc","KEEP","stencilOp","enable","STENCIL_TEST","disable","depthRange","DEPTH_TEST","LESS","depthFunc","BLEND","ONE","ZERO","blendFunc","blendColor","FUNC_ADD","blendEquation","CULL_FACE","BACK","cullFace","CCW","frontFace","useProgram","TEXTURE0","drawingBufferWidth","drawingBufferHeight","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","bindBuffer","pixelStorei","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","setDirty","framebufferTexture2D","COLOR_ATTACHMENT0","framebufferRenderbuffer","DEPTH_ATTACHMENT","deleteRenderbuffer","deleteFramebuffer","blendFunction","Replace","disabled","unblended","alphaBlended","getExtension","stencilTest","depthTest","blend","cullFaceSide","getParameter","MAX_TEXTURE_MAX_ANISOTROPY_EXT","extTextureHalfFloat","extRenderToTextureHalfFloat","extTimerQuery","maxTextureSize","MAX_TEXTURE_SIZE","renderbufferStorage","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","mode","fail","depthFail","pass","ReadOnly","ReadWrite","circleArray","circleOffset","invTransform","colorModeForRenderPass","backCCW","shiftedAnchor","depthModeForSublayer","rotating","zooming","buffers","uniformValues","atlasTextureIcon","atlasInterpolation","atlasInterpolationIcon","hasHalo","terrainData","TEXTURE1","stencilModeForClipping","moving","rasterBoundsBuffer","quadTriangleIndexBuffer","rasterBoundsSegments","SCISSOR_TEST","scissor","emptyTexture","initDebugOverlayCanvas","debugOverlayCanvas","shadowColor","shadowBlur","lineWidth","strokeStyle","strokeText","debugOverlayTexture","debugBuffer","debugSegments","tileBorderIndexBuffer","LEQUAL","depthRangeFor3D","_coordsDescendingInv","_coordsDescendingInvStr","_renderToTexture","_stacks","_prevType","_renderableTiles","_init","renderLayer","currentLayer","_renderTileClippingMasks","renderPass","programConfiguration","HALF_FLOAT_OES","viewportBuffer","viewportSegments","gradient","opaquePassEnabledForLayer","stencilModeFor3D","stencilConfigForOverlap","isPatternMissing","tileExtentBuffer","tileExtentSegments","custom","setCustomLayerDefaults","customLayerMatrix","setBaseState","_tileTextures","terrainFacilitator","renderTime","setup","numSublayers","depthEpsilon","gpuTimers","stencilClearMode","nextStencilID","currentStencilSource","_tileClippingMaskIDs","REPLACE","NOTEQUAL","EQUAL","GEQUAL","_showOverdrawInspector","CONSTANT_COLOR","opaquePassCutoff","projMatrix","showOverdrawInspector","showTileBoundaries","showPadding","centerPoint","gpuTimingStart","gpuTimingEnd","gpuTiming","calls","cpuTime","createQueryEXT","beginQueryEXT","TIME_ELAPSED_EXT","endQueryEXT","collectGpuTimers","queryGpuTimers","getQueryObjectEXT","QUERY_RESULT_EXT","deleteQueryEXT","cache","planes","quadrant","distanceX","distanceY","intersects","MAX_VALUE","maxValidLatitude","_renderWorldCopies","_minZoom","_maxZoom","_minPitch","_maxPitch","setMaxBounds","_center","_elevation","_fov","_unmodified","_edgeInsets","_posMatrixCache","_alignedPosMatrixCache","maxPitch","latRange","_calcMatrices","minPitch","renderWorldCopies","worldSize","centerOffset","rotationMatrix","fov","_zoom","zoomScale","zoomFraction","_constrain","isPaddingEqual","interpolatePadding","scaleZoom","getCameraPoint","fromInvProjectionMatrix","aabb","fullyVisible","distanceSq","tileDistanceToCamera","unmodified","project","unproject","getCameraPosition","lngLat","pointLocation","altitude","_pixelPerMeter","setLocationAtPoint","locationCoordinate","coordinateLocation","locationPoint","coordinatePoint","pixelMatrix3D","pixelMatrixInverse","pixelMatrix","getBounds","getHorizon","getMaxBounds","lngRange","alignedProjMatrix","mercatorMatrix","_constraining","cameraToSeaLevelDistance","_hashName","encodeURIComponent","_updateHash","_updateHashUnthrottled","addTo","_onHashChange","getHashString","getZoom","getBearing","getPitch","hash","_getCurrentHash","dragRotate","isEnabled","touchZoomRotate","jumpTo","history","replaceState","linearity","easing","deceleration","maxSpeed","_inertiaBuffer","record","_drainInertiaBuffer","settings","_onMoveEnd","pan","pinchAround","around","zoomDelta","bearingDelta","pitchDelta","panDelta","amount","noMoveStart","mousePos","getCanvasContainer","originalEvent","_defaultPrevented","defaultPrevented","changedTouches","touches","touchPos","lngLats","_clickTolerance","clickTolerance","_mousedownPos","wheel","_firePreventable","mousedown","mouseup","click","dblclick","mouseover","mouseout","touchstart","touchmove","touchend","touchcancel","isActive","_delayContextMenu","_contextMenuEvent","mousemove","contextmenu","_el","_container","getContainer","_enabled","_active","shiftKey","disableDrag","_startPos","_lastPos","mousemoveWindow","_box","classList","_fireEvent","setTransform","mouseupWindow","suppressClick","cameraAnimation","fitScreenCoordinates","keydown","keyCode","enableDrag","numTouches","centroid","startTime","timeStamp","singleTap","numTaps","lastTime","lastTap","count","_zoomIn","_zoomOut","easeTo","_moved","_lastPoint","_eventButton","_correctButton","_move","mouseButton","buttons","ctrlKey","_minTouches","cooperativeGestures","_touches","_sum","_cancelCooperativeMessage","_calculateTransform","_cooperativeGestures","_onCooperativeGesture","_firstTwoTouches","_start","_aroundCenter","_distance","_startDistance","_minDiameter","_startVector","_vector","_isBelowThreshold","_valid","_firstMove","_lastPoints","_currentTouchCount","gestureBeginsVertically","panStep","bearingStep","pitchStep","_panStep","_bearingStep","_pitchStep","_rotationDisabled","altKey","metaKey","easeId","disableRotation","enableRotation","_handler","_delta","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","_finishTimeout","isZooming","_zooming","_metaPress","deltaMode","WheelEvent","DOM_DELTA_LINE","deltaY","_lastWheelEventTime","_type","_lastValue","_timeout","_onTimeout","_lastWheelEvent","_frameId","_around","_aroundPoint","_triggerRenderFrame","renderFrame","_targetZoom","_startZoom","_easing","_smoothOutEasing","noInertia","needsRenderFrame","_prevEase","_clickZoom","_tapZoom","_tap","_swipePoint","_swipeTouch","_tapTime","_mousePan","_touchPan","_inertiaOptions","_pitchWithRotate","pitchWithRotate","_mouseRotate","_mousePitch","_touchZoom","_touchRotate","_tapDragZoom","drag","_handlers","_handlersById","_changes","_inertia","_bearingSnap","bearingSnap","_previousActiveHandlers","_eventsInProgress","_addDefaultHandlers","passive","handleWindowEvent","handleEvent","boxZoom","doubleClickZoom","touchPitch","dragPan","scrollZoom","keyboard","interactive","handlerName","handler","allowed","stop","_updatingCamera","_fireEvents","isRotating","isMoving","_blockedByActive","_getMapTouches","mergeHandlerResult","_stop","_applyChanges","_updateMapTransform","_drag","_update","resetNorth","_requestFrame","_renderTaskQueue","run","logToElement","innerHTML","_moving","panBy","panTo","zoomTo","zoomIn","zoomOut","getPadding","setPadding","rotateTo","resetNorthPitch","snapToNorth","cameraForBounds","_cameraForBoxAndBearing","fitBounds","_fitInternal","flyTo","essential","_normalizeBearing","_normalizeCenter","_rotating","pitching","_pitching","_padding","_easeId","_prepareEase","_ease","_fireMoveEvents","_afterEase","speed","curve","screenSpeed","maxDuration","isEasing","_easeFrameId","_cancelRenderFrame","_onEaseFrame","_onEaseEnd","handlers","_easeStart","_easeOptions","_requestRenderFrame","_renderFrameCallback","getDefaultPosition","_compact","compact","_compactButton","_toggleAttribution","_setElementTitle","_innerContainer","_updateAttributions","_updateCompact","_updateData","_updateCompactMinimize","_attribHTML","_getUIString","title","setAttribute","removeAttribute","customAttribution","styleOwner","owner","styleId","_editLink","offsetWidth","rel","display","_queue","_id","_cleared","_currentlyRunning","attributionControl","maplibreLogo","preserveDrawingBuffer","trackResize","refreshExpiredTiles","maxTileCacheSize","showCompass","showZoom","visualizePitch","element","mouseRotate","mousePitch","down","move","offTemp","targetTouches","HTMLElement","_anchor","_color","_scale","_draggable","draggable","_isDragging","_rotation","rotation","_rotationAlignment","rotationAlignment","_pitchAlignment","pitchAlignment","_element","_offset","_defaultMarker","createNS","setAttributeNS","rx","ry","_popup","setDraggable","_onMapClick","_opacityTimeout","_addDragHandler","_onUp","_onMove","getLngLat","_lngLat","setLngLat","_pos","getElement","setPopup","_onKeyPress","_originalTabIndex","getAttribute","charCode","togglePopup","getPopup","isOpen","getOffset","setOffset","_pointerdownPos","_positionDelta","pointerEvents","isDraggable","setRotation","getRotation","setRotationAlignment","getRotationAlignment","setPitchAlignment","getPitchAlignment","positionOptions","enableHighAccuracy","maximumAge","fitBoundsOptions","trackUserLocation","showAccuracyCircle","showUserLocation","maxWidth","clientHeight","closeButton","closeOnClick","focusAfterOpen","Map","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","_trackResize","_crossSourceCollisions","_crossFadingFactor","_controls","_mapId","_locale","_pixelRatio","container","maxBounds","_setupContainer","_setupPainter","_onWindowOnline","_onWindowResize","_setupCooperativeGestures","_hash","_localIdeographFontFamily","addControl","logoPosition","_getMapId","_controlPositions","insertBefore","firstChild","removeControl","hasControl","_containerDimensions","_resizeCanvas","setPixelRatio","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","setMinPitch","getMinPitch","setMaxPitch","getMaxPitch","getRenderWorldCopies","setRenderWorldCopies","_createDelegatedListener","listener","delegates","_delegatedListeners","diff","_diffStyle","_updateStyle","_lazyInitEmptyStyle","_updateDiff","getStyle","isStyleLoaded","getTerrain","areTilesLoaded","hasImage","loadImage","_canvasContainer","_canvas","clientWidth","_contextLost","_contextRestored","_controlContainer","_onMapScroll","_cooperativeGesturesScreen","windowsHelpText","platform","macHelpText","mobileHelpText","_frame","scrollTop","scrollLeft","_styleDirty","_sourcesDirty","_render","_placementDirty","gpuTime","layerTimes","_repaint","_fullyLoaded","redraw","loseContext","_showTileBoundaries","_showPadding","repaint","_vertices","_setCacheLimits","NavigationControl","_zoomInButton","_createButton","_zoomOutButton","_compass","_compassIcon","_updateZoomButtons","_rotateCompassArrow","_setButtonTitle","GeolocateControl","_setupUI","permissions","geolocation","_geolocationWatchID","clearWatch","_userLocationDotMarker","_accuracyCircleMarker","_onZoom","_isOutOfMapMaxBounds","longitude","latitude","_setErrorState","_watchState","_geolocateButton","_onSuccess","_updateMarker","_finish","_lastKnownPosition","_updateCamera","_dotElement","accuracy","geolocateSource","_accuracy","_updateCircleRadius","_circleElement","_onError","_clearWatch","_timeoutId","_setup","watchPosition","getCurrentPosition","AttributionControl","LogoControl","ScaleControl","setUnit","FullscreenControl","_fullscreen","_fullscreenchange","_checkFullscreenSupport","_changeIcon","fullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","webkitFullscreenEnabled","_fullscreenButton","_updateTitle","_onClickFullscreen","_getTitle","_isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","toggle","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","TerrainControl","_terrainButton","_toggleTerrain","_updateTerrainIcon","Popup","_onClose","closeOnMove","_focusFirstElement","_trackPointer","_onMouseMove","_onMouseUp","_content","_onDrag","trackPointer","setText","setDOMContent","createTextNode","setHTML","createDocumentFragment","getMaxWidth","setMaxWidth","hasChildNodes","_createCloseButton","addClassName","removeClassName","toggleClassName","_closeButton","_tip","offsetHeight","querySelector","focus","Marker","CanvasSource","GeoJSONSource","ImageSource","RasterDEMTileSource","RasterTileSource","VectorTileSource","VideoSource","prewarm","clearPrewarmedResources","maxParallelImageRequests","clearStorage","addProtocol","removeProtocol","maplibregl$1","MaplibreGLJSLayer","Layer","updateInterval","pane","initialize","setOptions","_throttledUpdate","throttle","_initContainer","paneName","getPaneName","getPane","_initGL","containerPointToLayerPoint","zoomAnimation","DomEvent","_proxy","DomUtil","TRANSITION_END","_transitionEnd","_glMap","getEvents","zoomanim","_animateZoom","_pinchZoom","zoomstart","_zoomStart","zoomend","_zoomEnd","_resize","getMaplibreMap","getSize","multiplyBy","getOpacity","setOpacity","halfSize","latLngToContainerPoint","containerPointToLatLng","subtract","topLeft","setPosition","res","Infinity","_transformGL","_actualCanvas","addClass","undefined","getZoomScale","viewHalf","_divideBy","_subtract","_getMapPanePos","requestAnimFrame","maplibreGLJSLayer","apiKey","apikey","_createLayer","wkid","spatialReference","_createMaplibreLayer","_setupAttribution","getAttribution","_maplibreGL","addAttribution","_ready","_asyncAdd","VectorBasemapLayer","includes","language","startsWith","getBasemapStyleV2Url","getBasemapStyleUrl","setEsriAttribution","allAttributions","attributionUrls","_getAttributionUrls","_initPane","createPane","zIndex","getElementsByClassName","vectorAttribution","outerHTML","removeAttribution","packageInfo"],"mappings":"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"} \ No newline at end of file diff --git a/dist/siteData.json b/dist/siteData.json new file mode 100644 index 0000000..73647da --- /dev/null +++ b/dist/siteData.json @@ -0,0 +1 @@ +{"name": "esri-leaflet-vector","version": "4.2.0","lib": {"path": "dist/esri-leaflet-vector.js","integrity": "sha512-WqjXfyMEr2wcDhZhxx9cweWHU/yEBLSLSZTZvVwOP5EKXTp3I5aaB7qlMaMJNcOfxBXYnum6Zm/yG2nxTFy49g=="}}