diff --git a/dist/esri-leaflet-vector-debug.js b/dist/esri-leaflet-vector-debug.js new file mode 100644 index 0000000..bf3ad9f --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js @@ -0,0 +1,1113 @@ +/* esri-leaflet-vector - v4.2.4 - Wed Aug 21 2024 09:15:30 GMT-0500 (Central Daylight Time) + * Copyright (c) 2024 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.4"; + 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)", + "George Owen (https://geowen.dev/)" + ]; + 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.0.0 || ^3.0.0 || ^4.0.0" + }; + 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; + } + + /** + * Utility to establish a URL for the basemap styles API v2 + * + * @param {string} style + * @param {string} token + * @param {Object} [options] Optional list of options: language, worldview, or places. + * @returns {string} the URL + */ + function getBasemapStyleV2Url (style, token, options) { + 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 (options.language) { + throw new Error('The \'language\' parameter is not supported for custom basemap styles'); + } + } else { + url = url + style; + } + + if (!token) throw new Error('A token is required to access basemap styles.'); + + url = url + '?token=' + token; + if (options.language) { + url = url + '&language=' + options.language; + } + if (options.worldview) { + url = url + '&worldview=' + options.worldview; + } + if (options.places) { + url = url + '&places=' + options.places; + } + 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 + }; + + const setRTLTextPlugin = (url, callback, deferred) => { + maplibregl__default["default"].setRTLTextPlugin(url, callback, deferred); + }; + + 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, // applies 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'; + }, + + _resize: function () { + return this._glMap._resize; + }, + + _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 v2 service params + if (options.version !== 2) { + if (options.language) { + throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.'); + } + if (options.worldview) { + throw new Error('The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.'); + } + if (options.places) { + throw new Error('The places 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, { + language: this.options.language, + worldview: this.options.worldview, + places: this.options.places + }); + } 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) { + if (esriLeaflet.Util.removeEsriAttribution) esriLeaflet.Util.removeEsriAttribution(map); + + const element = document.getElementsByClassName('esri-dynamic-attribution'); + + if (element && element.length > 0) { + const vectorAttribution = element[0].outerHTML; + // call removeAttribution twice here + // this is needed due to the 2 different ways that addAttribution is called inside _setupAttribution. + // leaflet attributionControl.removeAttribution method ignore a call when the attribution sent is not present there + map.attributionControl.removeAttribution(vectorAttribution); + map.attributionControl.removeAttribution(''); + } + } + }, + + _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.setRTLTextPlugin = setRTLTextPlugin; + 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..af93125 --- /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\n/**\r\n * Utility to establish a URL for the basemap styles API v2\r\n *\r\n * @param {string} style\r\n * @param {string} token\r\n * @param {Object} [options] Optional list of options: language, worldview, or places.\r\n * @returns {string} the URL\r\n */\r\nexport function getBasemapStyleV2Url (style, token, options) {\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 (options.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 (!token) throw new Error('A token is required to access basemap styles.');\r\n\r\n url = url + '?token=' + token;\r\n if (options.language) {\r\n url = url + '&language=' + options.language;\r\n }\r\n if (options.worldview) {\r\n url = url + '&worldview=' + options.worldview;\r\n }\r\n if (options.places) {\r\n url = url + '&places=' + options.places;\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 const setRTLTextPlugin = (url, callback, deferred) => {\r\n maplibregl.setRTLTextPlugin(url, callback, deferred);\r\n};\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, // applies 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 _resize: function () {\r\n return this._glMap._resize;\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 v2 service params\r\n if (options.version !== 2) {\r\n if (options.language) {\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 if (options.worldview) {\r\n throw new Error('The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n if (options.places) {\r\n throw new Error('The places 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, {\r\n language: this.options.language,\r\n worldview: this.options.worldview,\r\n places: this.options.places\r\n });\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 if (Util.removeEsriAttribution) Util.removeEsriAttribution(map);\r\n\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 // call removeAttribution twice here\r\n // this is needed due to the 2 different ways that addAttribution is called inside _setupAttribution.\r\n // leaflet attributionControl.removeAttribution method ignore a call when the attribution sent is not present there\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n map.attributionControl.removeAttribution('');\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, setRTLTextPlugin } from './MaplibreGLLayer';\r\n"],"names":["request","Support","latLng","latLngBounds","Util","maplibregl","Layer","setOptions","DomEvent","DomUtil","extend"],"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..2b0f0c3 --- /dev/null +++ b/dist/esri-leaflet-vector.js @@ -0,0 +1,5 @@ +/* esri-leaflet-vector - v4.2.4 - Wed Aug 21 2024 09:15:30 GMT-0500 (Central Daylight Time) + * Copyright (c) 2024 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.4";function n(t,e,i){if(/^https?:\/\//.test(t)&&/\/VectorTileServer\/?$/.test(t)){o(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){a(t,e,n?function(t,r){t?i(t):o(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 a(t,i,r){const n=i.token?{token:i.token}:{},s=i.portalUrl+"/sharing/rest/content/items/"+t;e.request(s,n,r)}function o(t,e,i){s(t,e,(function(r,n){if(r)return void i(r);let s,a=t;"/"===t.charAt(t.length-1)&&(a=t.slice(0,t.length-1)),s="/"===n.defaultStyles.charAt(0)?a+n.defaultStyles+"/root.json":a+"/"+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?a=i:o=i,i=.5*(o-a)+a;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=i(a);let c,h;function u(){return null==c&&(c="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),c}function d(){if(null==h&&(h=!1,u())){const t=5,e=new OffscreenCanvas(t,t).getContext("2d",{willReadFrequently:!0});if(e){for(let i=0;in.solve(t)}const f=p(.25,.1,.25,1);function m(t,e,i){return Math.min(i,Math.max(e,t))}function _(t,e,i){const r=i-e,n=((t-e)%r+r)%r+e;return n===e?i:n}function g(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let y=1;function x(t,e,i){const r={};for(const i in t)r[i]=e.call(this,t[i],i,t);return r}function v(t,e,i){const r={};for(const i in t)e.call(this,t[i],i,t)&&(r[i]=t[i]);return r}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?x(t,b):t}const w={};function T(t){w[t]||("undefined"!=typeof console&&console.warn(t),w[t]=!0)}function S(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function I(t){return"undefined"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let P=null;function A(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function M(t,i,r,n,s){return e(this,void 0,void 0,(function*(){if("undefined"==typeof VideoFrame)throw new Error("VideoFrame not supported");const e=new VideoFrame(t,{timestamp:0});try{const a=null==e?void 0:e.format;if(!a||!a.startsWith("BGR")&&!a.startsWith("RGB"))throw new Error(`Unrecognized format ${a}`);const o=a.startsWith("BGR"),l=new Uint8ClampedArray(n*s*4);if(yield e.copyTo(l,function(t,e,i,r,n){const s=4*Math.max(-e,0),a=(Math.max(0,i)-i)*r*4+s,o=4*r,l=Math.max(0,e),c=Math.max(0,i);return{rect:{x:l,y:c,width:Math.min(t.width,e+r)-l,height:Math.min(t.height,i+n)-c},layout:[{offset:a,stride:o}]}}(t,i,r,n,s)),o)for(let t=0;tI(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href,V=function(t,i){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=R(t.url);if(e)return e(t,i);if(I(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,targetMapId:B},i)}if(!(/^file:/.test(r=t.url)||/^file:/.test(O())&&!/^\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(t,i){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:O(),signal:i.signal});"json"!==t.type||e.headers.has("Accept")||e.headers.set("Accept","application/json");const r=yield fetch(e);if(!r.ok){const e=yield r.blob();throw new F(r.status,r.statusText,t.url,e)}let n;n="arrayBuffer"===t.type||"image"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text();const s=yield n;if(i.signal.aborted)throw D();return{data:s,cacheControl:r.headers.get("Cache-Control"),expires:r.headers.get("Expires")}}))}(t,i);if(I(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,mustQueue:!0,targetMapId:B},i)}var r;return function(t,e){return new Promise(((i,r)=>{var n;const s=new XMLHttpRequest;s.open(t.method||"GET",t.url,!0),"arrayBuffer"!==t.type&&"image"!==t.type||(s.responseType="arraybuffer");for(const e in t.headers)s.setRequestHeader(e,t.headers[e]);"json"===t.type&&(s.responseType="text",(null===(n=t.headers)||void 0===n?void 0:n.Accept)||s.setRequestHeader("Accept","application/json")),s.withCredentials="include"===t.credentials,s.onerror=()=>{r(new Error(s.statusText))},s.onload=()=>{if(!e.signal.aborted)if((s.status>=200&&s.status<300||0===s.status)&&null!==s.response){let e=s.response;if("json"===t.type)try{e=JSON.parse(s.response)}catch(t){return void r(t)}i({data:e,cacheControl:s.getResponseHeader("Cache-Control"),expires:s.getResponseHeader("Expires")})}else{const e=new Blob([s.response],{type:s.getResponseHeader("Content-Type")});r(new F(s.status,s.statusText,t.url,e))}},e.signal.addEventListener("abort",(()=>{s.abort(),r(D())})),s.send(t.body)}))}(t,i)};function N(t){if(!t||t.indexOf("://")<=0||0===t.indexOf("data:image/")||0===t.indexOf("blob:"))return!0;const e=new URL(t),i=window.location;return e.protocol===i.protocol&&e.host===i.host}function U(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function j(t,e,i){if(i&&i[t]){const r=i[t].indexOf(e);-1!==r&&i[t].splice(r,1)}}class ${constructor(t,e={}){g(this,e),this.type=t}}class q extends ${constructor(t,e={}){super("error",g({error:t},e))}}class Z{on(t,e){return this._listeners=this._listeners||{},U(t,e,this._listeners),this}off(t,e){return j(t,e,this._listeners),j(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},U(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new $(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)j(i,e,this._oneTimeListeners),e.call(this,t);const n=this._eventedParent;n&&(g(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(t))}else t instanceof q&&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 G={$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"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},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:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,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-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"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":{}}},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}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},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"}}};const X=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function W(t,e){const i={};for(const e in t)"ref"!==e&&(i[e]=t[e]);return X.forEach((t=>{t in e&&(i[t]=e[t])})),i}function H(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let i=0;i`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const wt=[lt,ct,ht,ut,dt,_t,pt,vt(ft),gt,yt,xt];function Tt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Tt(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 wt)if(!Tt(t,e))return null}return`Expected ${bt(t)} but found ${bt(e)} instead.`}function St(t,e){return e.some((e=>e.kind===t.kind))}function It(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))}function Pt(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const At=.96422,Ct=.82521,Mt=4/29,kt=6/29,zt=3*kt*kt,Et=kt*kt*kt,Dt=Math.PI/180,Lt=180/Math.PI;function Rt(t){return(t%=360)<0&&(t+=360),t}function Bt([t,e,i,r]){let n,s;const a=Ot((.2225045*(t=Ft(t))+.7168786*(e=Ft(e))+.0606169*(i=Ft(i)))/1);t===e&&e===i?n=s=a:(n=Ot((.4360747*t+.3850649*e+.1430804*i)/At),s=Ot((.0139322*t+.0971045*e+.7141733*i)/Ct));const o=116*a-16;return[o<0?0:o,500*(n-a),200*(a-s),r]}function Ft(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ot(t){return t>Et?Math.pow(t,1/3):t/zt+Mt}function Vt([t,e,i,r]){let n=(t+16)/116,s=isNaN(e)?n:n+e/500,a=isNaN(i)?n:n-i/200;return n=1*Ut(n),s=At*Ut(s),a=Ct*Ut(a),[Nt(3.1338561*s-1.6168667*n-.4906146*a),Nt(-.9787684*s+1.9161415*n+.033454*a),Nt(.0719453*s-.2289914*n+1.4052427*a),r]}function Nt(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Ut(t){return t>kt?t*t*t:zt*(t-Mt)}function jt(t){return parseInt(t.padEnd(2,t),16)/255}function $t(t,e){return qt(e?t/100:t,0,1)}function qt(t,e,i){return Math.min(Math.max(e,t),i)}function Zt(t){return!t.some(Number.isNaN)}const Gt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Xt{constructor(t,e,i,r=1,n=!0){this.r=t,this.g=e,this.b=i,this.a=r,n||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter("rgb",[t,e,i,r]))}static parse(t){if(t instanceof Xt)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=Gt[t];if(e){const[t,i,r]=e;return[t/255,i/255,r/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let i=1;return[jt(t.slice(i,i+=e)),jt(t.slice(i,i+=e)),jt(t.slice(i,i+=e)),jt(t.slice(i,i+e)||"ff")]}if(t.startsWith("rgb")){const e=t.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(e){const[t,i,r,n,s,a,o,l,c,h,u,d]=e,p=[n||" ",o||" ",h].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[r,a,c].join(""),e="%%%"===t?100:""===t?255:0;if(e){const t=[qt(+i/e,0,1),qt(+s/e,0,1),qt(+l/e,0,1),u?$t(+u,d):1];if(Zt(t))return t}}return}}const i=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(i){const[t,e,r,n,s,a,o,l,c]=i,h=[r||" ",s||" ",o].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const t=[+e,qt(+n,0,100),qt(+a,0,100),l?$t(+l,c):1];if(Zt(t))return function([t,e,i,r]){function n(r){const n=(r+t/30)%12,s=e*Math.min(i,1-i);return i-s*Math.max(-1,Math.min(n-3,9-n,1))}return t=Rt(t),e/=100,i/=100,[n(0),n(8),n(4),r]}(t)}}}(t);return e?new Xt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:i,a:r}=this,n=r||1/0;return this.overwriteGetter("rgb",[t/n,e/n,i/n,r])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,i,r,n]=Bt(t),s=Math.sqrt(i*i+r*r);return[Math.round(1e4*s)?Rt(Math.atan2(r,i)*Lt):NaN,s,e,n]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Bt(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,i,r]=this.rgb;return`rgba(${[t,e,i].map((t=>Math.round(255*t))).join(",")},${r})`}}Xt.black=new Xt(0,0,0,1),Xt.white=new Xt(1,1,1,1),Xt.transparent=new Xt(0,0,0,0),Xt.red=new Xt(1,0,0,1);class Wt{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 Ht{constructor(t,e,i,r,n){this.text=t,this.image=e,this.scale=i,this.fontStack=r,this.textColor=n}}class Kt{constructor(t){this.sections=t}static fromString(t){return new Kt([new Ht(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 Kt?t:Kt.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Jt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Jt)return t;if("number"==typeof t)return new Jt([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 Jt(t)}}toString(){return JSON.stringify(this.values)}}const Yt=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Qt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Qt)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=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 ie(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof Xt||t instanceof Wt||t instanceof Kt||t instanceof Jt||t instanceof Qt||t instanceof te)return!0;if(Array.isArray(t)){for(const e of t)if(!ie(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!ie(t[e]))return!1;return!0}return!1}function re(t){if(null===t)return lt;if("string"==typeof t)return ht;if("boolean"==typeof t)return ut;if("number"==typeof t)return ct;if(t instanceof Xt)return dt;if(t instanceof Wt)return mt;if(t instanceof Kt)return _t;if(t instanceof Jt)return gt;if(t instanceof Qt)return xt;if(t instanceof te)return yt;if(Array.isArray(t)){const e=t.length;let i;for(const e of t){const t=re(e);if(i){if(i===t)continue;i=ft;break}i=t}return vt(i||ft,e)}return pt}function ne(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Xt||t instanceof Kt||t instanceof Jt||t instanceof Qt||t instanceof te?t.toString():JSON.stringify(t)}class se{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(!ie(t[1]))return e.error("invalid value");const i=t[1];let r=re(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 se(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class ae{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const oe={string:ht,number:ct,boolean:ut,object:pt};class le{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 oe)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);n=oe[i],r++}else n=ft;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=vt(n,s)}else{if(!oe[n])throw new Error(`Types doesn't contain name = ${n}`);i=oe[n]}const s=[];for(;rt.outputDefined()))}}const ce={"to-boolean":ut,"to-color":dt,"to-number":ct,"to-string":ht};class he{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(!ce[i])throw new Error(`Can't parse ${i} as it is not part of the known types`);if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const r=ce[i],n=[];for(let i=1;i4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ee(e[0],e[1],e[2],e[3]),!i))return new Xt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ae(i||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const i of this.args){e=i.evaluate(t);const r=Jt.parse(e);if(r)return r}throw new ae(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const i of this.args){e=i.evaluate(t);const r=Qt.parse(e);if(r)return r}throw new ae(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{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 ae(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return Kt.fromString(ne(this.args[0].evaluate(t)));case"resolvedImage":return te.fromString(ne(this.args[0].evaluate(t)));default:return ne(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const ue=["Unknown","Point","LineString","Polygon"];class de{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?ue[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]=Xt.parse(t)),e}}class pe{constructor(t,e,i=[],r,n=new ot,s=[]){this.registry=t,this.path=i,this.key=i.map((t=>`[${t}]`)).join(""),this.scope=n,this.errors=s,this.expectedType=r,this._isConstant=e}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 le(e,[t]):"coerce"===i?new he(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("variableAnchorOffsetCollection"!==t.kind||"value"!==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||"coerce");else r=i(r,t,e.typeAnnotation||"assert")}if(!(r instanceof se)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const e=new de;try{r=new se(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 pe(this.registry,this._isConstant,r,e||null,n,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new at(i,t))}checkSubtype(t,e){const i=Tt(t,e);return i&&this.error(i),i}}class fe{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 ae(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new ae(`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 ge{constructor(t,e){this.type=ut,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,ft),r=e.parse(t[2],2,ft);return i&&r?St(i.type,[ut,ht,ct,lt,ft])?new ge(i,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!It(e,["boolean","string","number","null"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${bt(re(e))} instead.`);if(!It(i,["string","array"]))throw new ae(`Expected second argument to be of type array or string, but found ${bt(re(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class ye{constructor(t,e,i){this.type=ct,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,ft),r=e.parse(t[2],2,ft);if(!i||!r)return null;if(!St(i.type,[ut,ht,ct,lt,ft]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,ct);return n?new ye(i,r,n):null}return new ye(i,r)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!It(e,["boolean","string","number","null"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${bt(re(e))} instead.`);if(!It(i,["string","array"]))throw new ae(`Expected second argument to be of type array or string, but found ${bt(re(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 xe{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 a=2;aNumber.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,re(t)))return null}else i=re(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,a,r);if(!h)return null;r=r||h.type,s.push(h)}const a=e.parse(t[1],1,ft);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,r);return o?"value"!==a.type.kind&&e.concat(1).checkSubtype(i,a.type)?null:new xe(i,r,a,n,s,o):null}evaluate(t){const e=this.input.evaluate(t);return(re(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 ve{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 be{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,ft),r=e.parse(t[2],2,ct);if(!i||!r)return null;if(!St(i.type,[vt(ft),ht,ft]))return e.error(`Expected first argument to be of type array or string, but found ${bt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,ct);return n?new be(i.type,i,r,n):null}return new be(i.type,i,r)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!It(e,["string","array"]))throw new ae(`Expected first argument to be of type array or string, but found ${bt(re(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 we(t,e){const i=t.length-1;let r,n,s=0,a=i,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),r=t[o],n=t[o+1],r<=e){if(o===i||ee))throw new ae("Input is not a number.");a=o-1}return 0}class Te{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,ct);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.',o);const c=e.parse(a,l,n);if(!c)return null;n=n||c.type,r.push([s,c])}return new Te(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[we(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){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ie=Pe;function Pe(t,e,i,r){this.cx=3*t,this.bx=3*(i-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(r-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=i,this.p2y=r}Pe.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 i=t,r=0;r<8;r++){var n=this.sampleCurveX(i)-t;if(Math.abs(n)n?a=i:o=i,i=.5*(o-a)+a;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ae=Se(Ie);function Ce(t,e,i){return t+i*(e-t)}function Me(t,e,i){return t.map(((t,r)=>Ce(t,e[r],i)))}const ke={number:Ce,color:function(t,e,i,r="rgb"){switch(r){case"rgb":{const[r,n,s,a]=Me(t.rgb,e.rgb,i);return new Xt(r,n,s,a,!1)}case"hcl":{const[r,n,s,a]=t.hcl,[o,l,c,h]=e.hcl;let u,d;if(isNaN(r)||isNaN(o))isNaN(r)?isNaN(o)?u=NaN:(u=o,1!==s&&0!==s||(d=l)):(u=r,1!==c&&0!==c||(d=n));else{let t=o-r;o>r&&t>180?t-=360:o180&&(t+=360),u=r+i*t}const[p,f,m,_]=function([t,e,i,r]){return t=isNaN(t)?0:t*Dt,Vt([i,Math.cos(t)*e,Math.sin(t)*e,r])}([u,null!=d?d:Ce(n,l,i),Ce(s,c,i),Ce(a,h,i)]);return new Xt(p,f,m,_,!1)}case"lab":{const[r,n,s,a]=Vt(Me(t.lab,e.lab,i));return new Xt(r,n,s,a,!1)}}},array:Me,padding:function(t,e,i){return new Jt(Me(t.values,e.values,i))},variableAnchorOffsetCollection:function(t,e,i){const r=t.values,n=e.values;if(r.length!==n.length)throw new ae(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const s=[];for(let t=0;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,ct),!n)return null;const a=[];let o=null;"interpolate-hcl"===i||"interpolate-lab"===i?o=dt:e.expectedType&&"value"!==e.expectedType.kind&&(o=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,o);if(!c)return null;o=o||c.type,a.push([i,c])}return Pt(o,ct)||Pt(o,dt)||Pt(o,gt)||Pt(o,xt)||Pt(o,vt(ct))?new ze(o,i,r,n,a):e.error(`Type ${bt(o)} 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=we(e,r),a=ze.interpolationFactor(this.interpolation,r,e[s],e[s+1]),o=i[s].evaluate(t),l=i[s+1].evaluate(t);switch(this.operator){case"interpolate":return ke[this.type.kind](o,l,a);case"interpolate-hcl":return ke.color(o,l,a,"hcl");case"interpolate-lab":return ke.color(o,l,a,"lab")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ee(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 De{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)}if(!i)throw new Error("No output type");const s=r&&n.some((t=>Tt(r,t.type)));return new De(s?ft: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 te&&!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()))}}function Le(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 Re(t,e,i,r){return 0===r.compare(e,i)}function Be(t,e,i){const r="=="!==t&&"!="!==t;return class n{constructor(t,e,i){this.type=ut,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,ft);if(!s)return null;if(!Le(i,s.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${bt(s.type)}'.`);let a=e.parse(t[2],2,ft);if(!a)return null;if(!Le(i,a.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${bt(a.type)}'.`);if(s.type.kind!==a.type.kind&&"value"!==s.type.kind&&"value"!==a.type.kind)return e.error(`Cannot compare types '${bt(s.type)}' and '${bt(a.type)}'.`);r&&("value"===s.type.kind&&"value"!==a.type.kind?s=new le(a.type,[s]):"value"!==s.type.kind&&"value"===a.type.kind&&(a=new le(s.type,[a])));let o=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==a.type.kind&&"value"!==s.type.kind&&"value"!==a.type.kind)return e.error("Cannot use collator to compare non-string types.");if(o=e.parse(t[3],3,mt),!o)return null}return new n(s,a,o)}evaluate(n){const s=this.lhs.evaluate(n),a=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const e=re(s),i=re(a);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new ae(`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=re(s),i=re(a);if("string"!==t.kind||"string"!==i.kind)return e(n,s,a)}return this.collator?i(n,s,a,this.collator.evaluate(n)):e(n,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const Fe=Be("==",(function(t,e,i){return e===i}),Re),Oe=Be("!=",(function(t,e,i){return e!==i}),(function(t,e,i,r){return!Re(0,e,i,r)})),Ve=Be("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,r){return r.compare(e,i)>0})),Ue=Be("<=",(function(t,e,i){return e<=i}),(function(t,e,i,r){return r.compare(e,i)<=0})),je=Be(">=",(function(t,e,i){return e>=i}),(function(t,e,i,r){return r.compare(e,i)>=0}));class $e{constructor(t,e,i){this.type=mt,this.locale=i,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const i=t[1];if("object"!=typeof i||Array.isArray(i))return e.error("Collator options argument must be an object.");const r=e.parse(void 0!==i["case-sensitive"]&&i["case-sensitive"],1,ut);if(!r)return null;const n=e.parse(void 0!==i["diacritic-sensitive"]&&i["diacritic-sensitive"],1,ut);if(!n)return null;let s=null;return i.locale&&(s=e.parse(i.locale,1,ht),!s)?null:new $e(r,n,s)}evaluate(t){return new Wt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class qe{constructor(t,e,i,r,n){this.type=ht,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,ct);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,ht),!n))return null;let s=null;if(r.currency&&(s=e.parse(r.currency,1,ht),!s))return null;let a=null;if(r["min-fraction-digits"]&&(a=e.parse(r["min-fraction-digits"],1,ct),!a))return null;let o=null;return r["max-fraction-digits"]&&(o=e.parse(r["max-fraction-digits"],1,ct),!o)?null:new qe(i,n,s,a,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 Ze{constructor(t){this.type=_t,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,ct),!t))return null;let i=null;if(s["text-font"]&&(i=e.parse(s["text-font"],1,vt(ht)),!i))return null;let a=null;if(s["text-color"]&&(a=e.parse(s["text-color"],1,dt),!a))return null;const o=r[r.length-1];o.scale=t,o.font=i,o.textColor=a}else{const s=e.parse(t[i],1,ft);if(!s)return null;const a=s.type.kind;if("string"!==a&&"value"!==a&&"null"!==a&&"resolvedImage"!==a)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 Ze(r)}evaluate(t){return new Kt(this.sections.map((e=>{const i=e.content.evaluate(t);return re(i)===yt?new Ht("",i,null,null,null):new Ht(ne(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 Ge{constructor(t){this.type=yt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,ht);return i?new Ge(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=te.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}}class Xe{constructor(t){this.type=ct,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 ${bt(i.type)} instead.`):new Xe(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 ae(`Expected value to be of type string or array, but found ${bt(re(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const We=8192;function He(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*We),Math.round(r*n*We)]}function Ke(t,e){const i=Math.pow(2,e.z);return[(n=(t[0]/We+e.x)/i,360*n-180),(r=(t[1]/We+e.y)/i,360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90)];var r,n}function Je(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function Ye(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Qe(t,e,i){const r=t[0]-e[0],n=t[1]-e[1],s=t[0]-i[0],a=t[1]-i[1];return r*a-s*n==0&&r*s<=0&&n*a<=0}function ti(t,e,i,r){return 0!=(n=[r[0]-i[0],r[1]-i[1]])[0]*(s=[e[0]-t[0],e[1]-t[1]])[1]-n[1]*s[0]&&!(!ai(t,e,i,r)||!ai(i,r,t,e));var n,s}function ei(t,e,i){for(const r of i)for(let i=0;i(n=t)[1]!=(a=o[e+1])[1]>n[1]&&n[0]<(a[0]-s[0])*(n[1]-s[1])/(a[1]-s[1])+s[0]&&(r=!r)}var n,s,a;return r}function ri(t,e){for(const i of e)if(ii(t,i))return!0;return!1}function ni(t,e){for(const i of t)if(!ii(i,e))return!1;for(let i=0;i0&&o<0||a<0&&o>0}function oi(t,e,i){const r=[];for(let n=0;ni[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}Je(e,t)}function hi(t,e,i,r){const n=Math.pow(2,r.z)*We,s=[r.x*We,r.y*We],a=[];for(const r of t)for(const t of r){const r=[t.x+s[0],t.y+s[1]];ci(r,e,i,n),a.push(r)}return a}function ui(t,e,i,r){const n=Math.pow(2,r.z)*We,s=[r.x*We,r.y*We],a=[];for(const i of t){const t=[];for(const r of i){const i=[r.x+s[0],r.y+s[1]];Je(e,i),t.push(i)}a.push(t)}if(e[2]-e[0]<=n/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of a)for(const r of t)ci(r,e,i,n)}var o;return a}class di{constructor(t,e){this.type=ut,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(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const i of e.features){const{type:e,coordinates:r}=i.geometry;"Polygon"===e&&t.push(r),"MultiPolygon"===e&&t.push(...r)}if(t.length)return new di(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new di(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new di(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const i=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],n=t.canonicalID();if("Polygon"===e.type){const s=oi(e.coordinates,r,n),a=hi(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!ii(t,s))return!1}if("MultiPolygon"===e.type){const s=li(e.coordinates,r,n),a=hi(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!ri(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const i=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],n=t.canonicalID();if("Polygon"===e.type){const s=oi(e.coordinates,r,n),a=ui(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!ni(t,s))return!1}if("MultiPolygon"===e.type){const s=li(e.coordinates,r,n),a=ui(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!si(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let pi=class{constructor(t=[],e=fi){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 fi(t,e){return te?1:0}function mi(t,e,i,r,n){_i(t,e,i,r||t.length-1,n||yi)}function _i(t,e,i,r,n){for(;r>i;){if(r-i>600){var s=r-i+1,a=e-i+1,o=Math.log(s),l=.5*Math.exp(2*o/3),c=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);_i(t,e,Math.max(i,Math.floor(e-a*l/s+c)),Math.min(r,Math.floor(e+(s-a)*l/s+c)),n)}var h=t[e],u=i,d=r;for(gi(t,i,e),n(t[r],h)>0&&gi(t,i,r);u0;)d--}0===n(t[i],h)?gi(t,i,d):gi(t,++d,r),d<=e&&(i=d+1),e<=d&&(r=d-1)}}function gi(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function yi(t,e){return te?1:0}function xi(t,e){if(t.length<=1)return[t];const i=[];let r,n;for(const e of t){const t=bi(e);0!==t&&(e.area=Math.abs(t),void 0===n&&(n=t<0),n===t<0?(r&&i.push(r),r=[e]):r.push(e))}if(r&&i.push(r),e>1)for(let t=0;t1?(l=t[o+1][0],c=t[o+1][1]):d>0&&(l+=h/this.kx*d,c+=u/this.ky*d)),h=this.wrap(e[0]-l)*this.kx,u=(e[1]-c)*this.ky;const p=h*h+u*u;p180;)t-=360;return t}}function Pi(t,e){return e[0]-t[0]}function Ai(t){return t[1]-t[0]+1}function Ci(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const i=Ai(t);if(e){if(2===i)return[t,null];const e=Math.floor(i/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===i)return[t,null];const r=Math.floor(i/2)-1;return[[t[0],t[0]+r],[t[0]+r+1,t[1]]]}function ki(t,e){if(!Ci(e,t.length))return[1/0,1/0,-1/0,-1/0];const i=[1/0,1/0,-1/0,-1/0];for(let r=e[0];r<=e[1];++r)Je(i,t[r]);return i}function zi(t){const e=[1/0,1/0,-1/0,-1/0];for(const i of t)for(const t of i)Je(e,t);return e}function Ei(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Di(t,e,i){if(!Ei(t)||!Ei(e))return NaN;let r=0,n=0;return t[2]e[2]&&(r=t[0]-e[2]),t[1]>e[3]&&(n=t[1]-e[3]),t[3]=r)return r;if(Ye(n,s)){if(Ni(t,e))return 0}else if(Ni(e,t))return 0;let a=1/0;for(const r of t)for(let t=0,n=r.length,s=n-1;t0;){const n=a.pop();if(n[0]>=s)continue;const l=n[1],c=e?50:100;if(Ai(l)<=c){if(!Ci(l,t.length))return NaN;if(e){const e=Vi(t,l,i,r);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const n=Oi(t[e],i,r);if(s=Math.min(s,n),0===s)return 0}}else{const i=Mi(l,e);ji(a,s,r,t,o,i[0]),ji(a,s,r,t,o,i[1])}}return s}function Zi(t,e,i,r,n,s=1/0){let a=Math.min(s,n.distance(t[0],i[0]));if(0===a)return a;const o=new pi([[0,[0,t.length-1],[0,i.length-1]]],Pi);for(;o.length>0;){const s=o.pop();if(s[0]>=a)continue;const l=s[1],c=s[2],h=e?50:100,u=r?50:100;if(Ai(l)<=h&&Ai(c)<=u){if(!Ci(l,t.length)&&Ci(c,i.length))return NaN;let s;if(e&&r)s=Bi(t,l,i,c,n),a=Math.min(a,s);else if(e&&!r){const e=t.slice(l[0],l[1]+1);for(let t=c[0];t<=c[1];++t)if(s=Li(i[t],e,n),a=Math.min(a,s),0===a)return a}else if(!e&&r){const e=i.slice(c[0],c[1]+1);for(let i=l[0];i<=l[1];++i)if(s=Li(t[i],e,n),a=Math.min(a,s),0===a)return a}else s=Fi(t,l,i,c,n),a=Math.min(a,s)}else{const s=Mi(l,e),h=Mi(c,r);$i(o,a,n,t,i,s[0],h[0]),$i(o,a,n,t,i,s[0],h[1]),$i(o,a,n,t,i,s[1],h[0]),$i(o,a,n,t,i,s[1],h[1])}}return a}function Gi(t){return"MultiPolygon"===t.type?t.coordinates.map((t=>({type:"Polygon",coordinates:t}))):"MultiLineString"===t.type?t.coordinates.map((t=>({type:"LineString",coordinates:t}))):"MultiPoint"===t.type?t.coordinates.map((t=>({type:"Point",coordinates:t}))):[t]}class Xi{constructor(t,e){this.type=ct,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new Xi(e,e.features.map((t=>Gi(t.geometry))).flat());if("Feature"===e.type)return new Xi(e,Gi(e.geometry));if("type"in e&&"coordinates"in e)return new Xi(e,Gi(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const i=t.geometry(),r=i.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===i.length)return NaN;const n=new Ii(r[0][1]);let s=1/0;for(const t of e){switch(t.type){case"Point":s=Math.min(s,Zi(r,!1,[t.coordinates],!1,n,s));break;case"LineString":s=Math.min(s,Zi(r,!1,t.coordinates,!0,n,s));break;case"Polygon":s=Math.min(s,qi(r,!1,t.coordinates,n,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const i=t.geometry(),r=i.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===i.length)return NaN;const n=new Ii(r[0][1]);let s=1/0;for(const t of e){switch(t.type){case"Point":s=Math.min(s,Zi(r,!0,[t.coordinates],!1,n,s));break;case"LineString":s=Math.min(s,Zi(r,!0,t.coordinates,!0,n,s));break;case"Polygon":s=Math.min(s,qi(r,!0,t.coordinates,n,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const i=t.geometry();if(0===i.length||0===i[0].length)return NaN;const r=xi(i,0).map((e=>e.map((e=>e.map((e=>Ke([e.x,e.y],t.canonical))))))),n=new Ii(r[0][0][0][1]);let s=1/0;for(const t of e)for(const e of r){switch(t.type){case"Point":s=Math.min(s,qi([t.coordinates],!1,e,n,s));break;case"LineString":s=Math.min(s,qi(t.coordinates,!0,e,n,s));break;case"Polygon":s=Math.min(s,Ui(e,t.coordinates,n,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const Wi={"==":Fe,"!=":Oe,">":Ne,"<":Ve,">=":je,"<=":Ue,array:le,at:_e,boolean:le,case:ve,coalesce:De,collator:$e,format:Ze,image:Ge,in:ge,"index-of":ye,interpolate:ze,"interpolate-hcl":ze,"interpolate-lab":ze,length:Xe,let:fe,literal:se,match:xe,number:le,"number-format":qe,object:le,slice:be,step:Te,string:le,"to-boolean":he,"to-color":he,"to-number":he,"to-string":he,var:me,within:di,distance:Xi};class Hi{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=Hi.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,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[r,s]of a){o=new pe(e.registry,tr,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(bt).join(", ")})`:`(${bt(e.type)}...)`;var e})).join(" | "),r=[];for(let i=1;i{i=e?i&&tr(t):i&&t instanceof se})),!!i&&er(t)&&rr(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function er(t){if(t instanceof Hi){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof di)return!1;if(t instanceof Xi)return!1;let e=!0;return t.eachChild((t=>{e&&!er(t)&&(e=!1)})),e}function ir(t){if(t instanceof Hi&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!ir(t)&&(e=!1)})),e}function rr(t,e){if(t instanceof Hi&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!rr(t,e)&&(i=!1)})),i}function nr(t){return{result:"success",value:t}}function sr(t){return{result:"error",value:t}}function ar(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function or(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function lr(t){return!!t.expression&&t.expression.interpolated}function cr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function hr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function ur(t){return t}function dr(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||(lr(e)?"exponential":"interval");if(i||"padding"===e.type){const r=i?Xt.parse:Jt.parse;(t=st({},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"!==(a=t.colorSpace)&&"hcl"!==a&&"lab"!==a)throw new Error(`Unknown color space: "${t.colorSpace}"`);var a;let o,l,c;if("exponential"===s)o=_r;else if("interval"===s)o=mr;else if("categorical"===s){o=fr,l=Object.create(null);for(const e of t.stops)l[e[0]]=e[1];c=typeof t.stops[0][0]}else{if("identity"!==s)throw new Error(`Unknown function type "${s}"`);o=gr}if(r){const i={},r=[];for(let e=0;et[0])),evaluate:({zoom:i},r)=>_r({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:ze.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>o(t,e,i,l,c)}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[t.property]:void 0;return void 0===n?pr(t.default,e.default):o(t,e,n,l,c)}}}function pr(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function fr(t,e,i,r,n){return pr(typeof i===n?r[i]:void 0,t.default,e.default)}function mr(t,e,i){if("number"!==cr(i))return pr(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=we(t.stops.map((t=>t[0])),i);return t.stops[n][1]}function _r(t,e,i){const r=void 0!==t.base?t.base:1;if("number"!==cr(i))return pr(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=we(t.stops.map((t=>t[0])),i),a=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]),o=t.stops[s][1],l=t.stops[s+1][1],c=ke[e.type]||ur;return"function"==typeof o.evaluate?{evaluate(...e){const i=o.evaluate.apply(void 0,e),r=l.evaluate.apply(void 0,e);if(void 0!==i&&void 0!==r)return c(i,r,a,t.colorSpace)}}:c(o,l,a,t.colorSpace)}function gr(t,e,i){switch(e.type){case"color":i=Xt.parse(i);break;case"formatted":i=Kt.fromString(i.toString());break;case"resolvedImage":i=te.fromString(i.toString());break;case"padding":i=Jt.parse(i);break;default:cr(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0)}return pr(i,t.default,e.default)}Hi.register(Wi,{error:[{kind:"error"},[ht],(t,[e])=>{throw new ae(e.evaluate(t))}],typeof:[ht,[ft],(t,[e])=>bt(re(e.evaluate(t)))],"to-rgba":[vt(ct,4),[dt],(t,[e])=>{const[i,r,n,s]=e.evaluate(t).rgb;return[255*i,255*r,255*n,s]}],rgb:[dt,[ct,ct,ct],Ki],rgba:[dt,[ct,ct,ct,ct],Ki],has:{type:ut,overloads:[[[ht],(t,[e])=>Ji(e.evaluate(t),t.properties())],[[ht,pt],(t,[e,i])=>Ji(e.evaluate(t),i.evaluate(t))]]},get:{type:ft,overloads:[[[ht],(t,[e])=>Yi(e.evaluate(t),t.properties())],[[ht,pt],(t,[e,i])=>Yi(e.evaluate(t),i.evaluate(t))]]},"feature-state":[ft,[ht],(t,[e])=>Yi(e.evaluate(t),t.featureState||{})],properties:[pt,[],t=>t.properties()],"geometry-type":[ht,[],t=>t.geometryType()],id:[ft,[],t=>t.id()],zoom:[ct,[],t=>t.globals.zoom],"heatmap-density":[ct,[],t=>t.globals.heatmapDensity||0],"line-progress":[ct,[],t=>t.globals.lineProgress||0],accumulated:[ft,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[ct,Qi(ct),(t,e)=>{let i=0;for(const r of e)i+=r.evaluate(t);return i}],"*":[ct,Qi(ct),(t,e)=>{let i=1;for(const r of e)i*=r.evaluate(t);return i}],"-":{type:ct,overloads:[[[ct,ct],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[ct],(t,[e])=>-e.evaluate(t)]]},"/":[ct,[ct,ct],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[ct,[ct,ct],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[ct,[],()=>Math.LN2],pi:[ct,[],()=>Math.PI],e:[ct,[],()=>Math.E],"^":[ct,[ct,ct],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[ct,[ct],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))],log2:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ct,[ct],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ct,[ct],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ct,[ct],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ct,[ct],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ct,[ct],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ct,[ct],(t,[e])=>Math.atan(e.evaluate(t))],min:[ct,Qi(ct),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ct,Qi(ct),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ct,[ct],(t,[e])=>Math.abs(e.evaluate(t))],round:[ct,[ct],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[ct,[ct],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ct,[ct],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[ut,[ht,ft],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[ut,[ft],(t,[e])=>t.id()===e.value],"filter-type-==":[ut,[ht],(t,[e])=>t.geometryType()===e.value],"filter-<":[ut,[ht,ft],(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":[ut,[ht,ft],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>n}],"filter-id->":[ut,[ft],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>r}],"filter-<=":[ut,[ht,ft],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r<=n}],"filter-id-<=":[ut,[ft],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i<=r}],"filter->=":[ut,[ht,ft],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>=n}],"filter-id->=":[ut,[ft],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>=r}],"filter-has":[ut,[ft],(t,[e])=>e.value in t.properties()],"filter-has-id":[ut,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[ut,[vt(ht)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[ut,[vt(ft)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[ut,[ht,vt(ft)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[ut,[ht,vt(ft)],(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:ut,overloads:[[[ut,ut],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[Qi(ut),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:ut,overloads:[[[ut,ut],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[Qi(ut),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[ut,[ut],(t,[e])=>!e.evaluate(t)],"is-supported-script":[ut,[ht],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[ht,[ht],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ht,[ht],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ht,Qi(ft),(t,e)=>e.map((e=>ne(e.evaluate(t)))).join("")],"resolved-locale":[ht,[mt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class yr{constructor(t,e){var i;this.expression=t,this._warningHistory={},this._evaluator=new de,this._defaultValue=e?"color"===(i=e).type&&hr(i.default)?new Xt(0,0,0,0):"color"===i.type?Xt.parse(i.default)||null:"padding"===i.type?Jt.parse(i.default)||null:"variableAnchorOffsetCollection"===i.type?Qt.parse(i.default)||null:void 0===i.default?null:i.default: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 ae(`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 xr(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Wi}function vr(t,e){const i=new pe(Wi,tr,[],e?function(t){const e={color:dt,string:ht,number:ct,enum:ht,boolean:ut,formatted:_t,padding:gt,resolvedImage:yt,variableAnchorOffsetCollection:xt};return"array"===t.type?vt(e[t.value]||ft,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?nr(new yr(r,e)):sr(i.errors)}class br{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!ir(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 wr{constructor(t,e,i,r){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!ir(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?ze.interpolationFactor(this.interpolationType,t,e,i):0}}function Tr(t,e){const i=vr(t,e);if("error"===i.result)return i;const r=i.value.expression,n=er(r);if(!n&&!ar(e))return sr([new at("","data expressions not supported")]);const s=rr(r,["zoom"]);if(!s&&!or(e))return sr([new at("","zoom expressions not supported")]);const a=Ir(r);return a||s?a instanceof at?sr([a]):a instanceof ze&&!lr(e)?sr([new at("",'"interpolate" expressions cannot be used with this property')]):nr(a?new wr(n?"camera":"composite",i.value,a.labels,a instanceof ze?a.interpolation:void 0):new br(n?"constant":"source",i.value)):sr([new at("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Sr{constructor(t,e){this._parameters=t,this._specification=e,st(this,dr(this._parameters,this._specification))}static deserialize(t){return new Sr(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Ir(t){let e=null;if(t instanceof fe)e=Ir(t.result);else if(t instanceof De){for(const i of t.args)if(e=Ir(i),e)break}else(t instanceof Te||t instanceof ze)&&t.input instanceof Hi&&"zoom"===t.input.name&&(e=t);return e instanceof at||t.eachChild((t=>{const i=Ir(t);i instanceof at?e=i:!e&&i?e=new at("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new at("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function Pr(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(!Pr(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Ar={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Cr(t){if(null==t)return{filter:()=>!0,needGeometry:!1};Pr(t)||(t=zr(t));const e=vr(t,Ar);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:kr(t)}}function Mr(t,e){return te?1:0}function kr(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Er(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(zr))):"all"===e?["all"].concat(t.slice(1).map(zr)):"none"===e?["all"].concat(t.slice(1).map(zr).map(Rr)):"in"===e?Dr(t[1],t.slice(2)):"!in"===e?Rr(Dr(t[1],t.slice(2))):"has"===e?Lr(t[1]):"!has"!==e||Rr(Lr(t[1]));var i}function Er(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 Dr(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(Mr)]]:["filter-in-small",t,["literal",e]]}}function Lr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Rr(t){return["!",t]}function Br(t){const e=typeof t;if("number"===e||"boolean"===e||"string"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e="[";for(const i of t)e+=`${Br(i)},`;return`${e}]`}const i=Object.keys(t).sort();let r="{";for(let e=0;er.maximum?[new nt(e,i,`${i} is greater than the maximum value ${r.maximum}`)]:[]}function qr(t){const e=t.valueSpec,i=Vr(t.value.type);let r,n,s,a={};const o="categorical"!==i&&void 0===t.value.property,l=!o,c="array"===cr(t.value.stops)&&"array"===cr(t.value.stops[0])&&"object"===cr(t.value.stops[0][0]),h=Ur({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,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(jr({key:t.key,value:r,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:u})),"array"===cr(r)&&0===r.length&&e.push(new nt(t.key,r,"array must have at least one stop")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&o&&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&&!lr(t.valueSpec)&&h.push(new nt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!ar(t.valueSpec)?h.push(new nt(t.key,t.value,"property functions not supported")):o&&!or(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,o=t.key;if("array"!==cr(r))return[new nt(o,r,`array expected, ${cr(r)} found`)];if(2!==r.length)return[new nt(o,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==cr(r[0]))return[new nt(o,r,`object expected, ${cr(r[0])} found`)];if(void 0===r[0].zoom)return[new nt(o,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new nt(o,r,"object stop key must have value")];if(s&&s>Vr(r[0].zoom))return[new nt(o,r[0].zoom,"stop zoom values must appear in ascending order")];Vr(r[0].zoom)!==s&&(s=Vr(r[0].zoom),n=void 0,a={}),i=i.concat(Ur({key:`${o}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:$r,value:d}}))}else i=i.concat(d({key:`${o}[0]`,value:r[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},r));return xr(Nr(r[1]))?i.concat([new nt(`${o}[1]`,r[1],"expressions are not allowed in function stops.")]):i.concat(t.validateSpec({key:`${o}[1]`,value:r[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function d(t,s){const o=cr(t.value),l=Vr(t.value),c=null!==t.value?t.value:s;if(r){if(o!==r)return[new nt(t.key,c,`${o} stop domain type must match previous stop domain type ${r}`)]}else r=o;if("number"!==o&&"string"!==o&&"boolean"!==o)return[new nt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==o&&"categorical"!==i){let r=`number expected, ${o} found`;return ar(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"!==o||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===o&&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&&!ir(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!ir(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(!rr(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&&!er(i))return[new nt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Gr(t){const e=t.key,i=t.value,r=t.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(Vr(i))&&n.push(new nt(e,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(Vr(i))&&n.push(new nt(e,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function Xr(t){return Pr(Nr(t.value))?Zr(st({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Wr(t)}function Wr(t){const e=t.value,i=t.key;if("array"!==cr(e))return[new nt(i,e,`array expected, ${cr(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(Gr({key:`${i}[0]`,value:e[0],valueSpec:r.filter_operator,style:t.style,styleSpec:t.styleSpec})),Vr(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Vr(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=cr(e[1]),"string"!==n&&s.push(new nt(`${i}[1]`,e[1],`string expected, ${n} found`)));for(let a=2;a{t in i&&e.push(new nt(r,i[t],`"${t}" is prohibited for ref layers`))})),n.layers.forEach((e=>{Vr(e.id)===o&&(t=e)})),t?t.ref?e.push(new nt(r,i.ref,"ref cannot reference another ref layer")):a=Vr(t.type):e.push(new nt(r,i.ref,`ref layer "${o}" not found`))}else if("background"!==a)if(i.source){const t=n.sources&&n.sources[i.source],s=t&&Vr(t.type);t?"vector"===s&&"raster"===a?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster source`)):"raster-dem"!==s&&"hillshade"===a?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster-dem source`)):"raster"===s&&"raster"!==a?e.push(new nt(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==s||i["source-layer"]?"raster-dem"===s&&"hillshade"!==a?e.push(new nt(r,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==a||!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(Ur({key:r,value:i,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":()=>[],type:()=>t.validateSpec({key:`${r}.type`,value:i.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:i,objectKey:"type"}),filter:Xr,layout:t=>Ur({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":t=>Jr(st({layerType:a},t))}}),paint:t=>Ur({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":t=>Kr(st({layerType:a},t))}})}})),e}function Qr(t){const e=t.value,i=t.key,r=cr(e);return"string"!==r?[new nt(i,e,`string expected, ${r} found`)]:[]}const tn={promoteId:function({key:t,value:e}){if("string"===cr(e))return Qr({key:t,value:e});{const i=[];for(const r in e)i.push(...Qr({key:`${t}.${r}`,value:e[r]}));return i}}};function en(t){const e=t.value,i=t.key,r=t.styleSpec,n=t.style,s=t.validateSpec;if(!e.type)return[new nt(i,e,'"type" is required')];const a=Vr(e.type);let o;switch(a){case"vector":case"raster":return o=Ur({key:i,value:e,valueSpec:r[`source_${a.replace("-","_")}`],style:t.style,styleSpec:r,objectElementValidators:tn,validateSpec:s}),o;case"raster-dem":return o=function(t){var e;const i=null!==(e=t.sourceName)&&void 0!==e?e:"",r=t.value,n=t.styleSpec,s=n.source_raster_dem,a=t.style;let o=[];const l=cr(r);if(void 0===r)return o;if("object"!==l)return o.push(new nt("source_raster_dem",r,`object expected, ${l} found`)),o;const c="custom"===Vr(r.encoding),h=["redFactor","greenFactor","blueFactor","baseShift"],u=t.value.encoding?`"${t.value.encoding}"`:"Default";for(const e in r)!c&&h.includes(e)?o.push(new nt(e,r[e],`In "${i}": "${e}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):s[e]?o=o.concat(t.validateSpec({key:e,value:r[e],valueSpec:s[e],validateSpec:t.validateSpec,style:a,styleSpec:n})):o.push(new nt(e,r[e],`unknown property "${e}"`));return o}({sourceName:i,value:e,style:t.style,styleSpec:r,validateSpec:s}),o;case"geojson":if(o=Ur({key:i,value:e,valueSpec:r.source_geojson,style:n,styleSpec:r,validateSpec:s,objectElementValidators:tn}),e.cluster)for(const t in e.clusterProperties){const[r,n]=e.clusterProperties[t],a="string"==typeof r?[r,["accumulated"],["get",t]]:r;o.push(...Zr({key:`${i}.${t}.map`,value:n,validateSpec:s,expressionContext:"cluster-map"})),o.push(...Zr({key:`${i}.${t}.reduce`,value:a,validateSpec:s,expressionContext:"cluster-reduce"}))}return o;case"video":return Ur({key:i,value:e,valueSpec:r.source_video,style:n,validateSpec:s,styleSpec:r});case"image":return Ur({key:i,value:e,valueSpec:r.source_image,style:n,validateSpec:s,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 Gr({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,validateSpec:s,styleSpec:r})}}function rn(t){const e=t.value,i=t.styleSpec,r=i.light,n=t.style;let s=[];const a=cr(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new nt("light",e,`object expected, ${a} found`)]),s;for(const a in e){const o=a.match(/^(.*)-transition$/);s=s.concat(o&&r[o[1]]&&r[o[1]].transition?t.validateSpec({key:a,value:e[a],valueSpec:i.transition,validateSpec:t.validateSpec,style:n,styleSpec:i}):r[a]?t.validateSpec({key:a,value:e[a],valueSpec:r[a],validateSpec:t.validateSpec,style:n,styleSpec:i}):[new nt(a,e[a],`unknown property "${a}"`)])}return s}function nn(t){const e=t.value,i=t.styleSpec,r=i.sky,n=t.style,s=cr(e);if(void 0===e)return[];if("object"!==s)return[new nt("sky",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(r[s]?t.validateSpec({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)]);return a}function sn(t){const e=t.value,i=t.styleSpec,r=i.terrain,n=t.style;let s=[];const a=cr(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new nt("terrain",e,`object expected, ${a} found`)]),s;for(const a in e)s=s.concat(r[a]?t.validateSpec({key:a,value:e[a],valueSpec:r[a],validateSpec:t.validateSpec,style:n,styleSpec:i}):[new nt(a,e[a],`unknown property "${a}"`)]);return s}function an(t){let e=[];const i=t.value,r=t.key;if(Array.isArray(i)){const n=[],s=[];for(const a in i)i[a].id&&n.includes(i[a].id)&&e.push(new nt(r,i,`all the sprites' ids must be unique, but ${i[a].id} is duplicated`)),n.push(i[a].id),i[a].url&&s.includes(i[a].url)&&e.push(new nt(r,i,`all the sprites' URLs must be unique, but ${i[a].url} is duplicated`)),s.push(i[a].url),e=e.concat(Ur({key:`${r}[${a}]`,value:i[a],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:t.validateSpec}));return e}return Qr({key:r,value:i})}const on={"*":()=>[],array:jr,boolean:function(t){const e=t.value,i=t.key,r=cr(e);return"boolean"!==r?[new nt(i,e,`boolean expected, ${r} found`)]:[]},number:$r,color:function(t){const e=t.key,i=t.value,r=cr(i);return"string"!==r?[new nt(e,i,`color expected, ${r} found`)]:Xt.parse(String(i))?[]:[new nt(e,i,`color expected, "${i}" found`)]},constants:Or,enum:Gr,filter:Xr,function:qr,layer:Yr,object:Ur,source:en,light:rn,sky:nn,terrain:sn,projection:function(t){const e=t.value,i=t.styleSpec,r=i.projection,n=t.style,s=cr(e);if(void 0===e)return[];if("object"!==s)return[new nt("projection",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(r[s]?t.validateSpec({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)]);return a},string:Qr,formatted:function(t){return 0===Qr(t).length?[]:Zr(t)},resolvedImage:function(t){return 0===Qr(t).length?[]:Zr(t)},padding:function(t){const e=t.key,i=t.value;if("array"===cr(i)){if(i.length<1||i.length>4)return[new nt(e,i,`padding requires 1 to 4 values; ${i.length} values found`)];const r={type:"number"};let n=[];for(let s=0;s[]}})),t.constants&&(i=i.concat(Or({key:"constants",value:t.constants,style:t,styleSpec:e,validateSpec:ln}))),dn(i)}function un(t){return function(e){return t({...e,validateSpec:ln})}}function dn(t){return[].concat(t).sort(((t,e)=>t.line-e.line))}function pn(t){return function(...e){return dn(t.apply(this,e))}}hn.source=pn(un(en)),hn.sprite=pn(un(an)),hn.glyphs=pn(un(cn)),hn.light=pn(un(rn)),hn.sky=pn(un(nn)),hn.terrain=pn(un(sn)),hn.layer=pn(un(Yr)),hn.filter=pn(un(Xr)),hn.paintProperty=pn(un(Kr)),hn.layoutProperty=pn(un(Jr));const fn=hn,mn=fn.light,_n=fn.sky,gn=fn.paintProperty,yn=fn.layoutProperty;function xn(t,e){let i=!1;if(e&&e.length)for(const r of e)t.fire(new q(new Error(r.message))),i=!0;return i}class vn{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])?(a[u]=!0,s.push(n[u])):a[u]=!1}}}}_forEachCell(t,e,i,r,n,s,a,o){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++){const c=this.d*l+d;if((!o||o(this._convertFromCellCoord(d),this._convertFromCellCoord(l),this._convertFromCellCoord(d+1),this._convertFromCellCoord(l+1)))&&n.call(this,t,e,i,r,c,s,a,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 i=0;for(let t=0;t=0)continue;const s=t[r];n[r]=bn[i].shallow.indexOf(r)>=0?s:Pn(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"!==i&&(n.$name=i),n}function An(t){if(In(t))return t;if(Array.isArray(t))return t.map(An);if("object"!=typeof t)throw new Error("can't deserialize object of type "+typeof t);const e=Sn(t)||"Object";if(!bn[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=bn[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]=bn[e].shallow.indexOf(i)>=0?n:An(n)}return r}class Cn{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 kn(t){for(const e of t)if(Dn(e.charCodeAt(0)))return!0;return!1}function zn(t){for(const e of t)if(!En(e.charCodeAt(0)))return!1;return!0}function En(t){return!(Mn.Arabic(t)||Mn["Arabic Supplement"](t)||Mn["Arabic Extended-A"](t)||Mn["Arabic Presentation Forms-A"](t)||Mn["Arabic Presentation Forms-B"](t))}function Dn(t){return!(746!==t&&747!==t&&(t<4352||!(Mn["Bopomofo Extended"](t)||Mn.Bopomofo(t)||Mn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Mn["CJK Compatibility Ideographs"](t)||Mn["CJK Compatibility"](t)||Mn["CJK Radicals Supplement"](t)||Mn["CJK Strokes"](t)||!(!Mn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Mn["CJK Unified Ideographs Extension A"](t)||Mn["CJK Unified Ideographs"](t)||Mn["Enclosed CJK Letters and Months"](t)||Mn["Hangul Compatibility Jamo"](t)||Mn["Hangul Jamo Extended-A"](t)||Mn["Hangul Jamo Extended-B"](t)||Mn["Hangul Jamo"](t)||Mn["Hangul Syllables"](t)||Mn.Hiragana(t)||Mn["Ideographic Description Characters"](t)||Mn.Kanbun(t)||Mn["Kangxi Radicals"](t)||Mn["Katakana Phonetic Extensions"](t)||Mn.Katakana(t)&&12540!==t||!(!Mn["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)||!(!Mn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Mn["Unified Canadian Aboriginal Syllabics"](t)||Mn["Unified Canadian Aboriginal Syllabics Extended"](t)||Mn["Vertical Forms"](t)||Mn["Yijing Hexagram Symbols"](t)||Mn["Yi Syllables"](t)||Mn["Yi Radicals"](t))))}function Ln(t){return!(Dn(t)||function(t){return!!(Mn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Mn["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)||Mn["Letterlike Symbols"](t)||Mn["Number Forms"](t)||Mn["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)||Mn["Control Pictures"](t)&&9251!==t||Mn["Optical Character Recognition"](t)||Mn["Enclosed Alphanumerics"](t)||Mn["Geometric Shapes"](t)||Mn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Mn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Mn["CJK Symbols and Punctuation"](t)||Mn.Katakana(t)||Mn["Private Use Area"](t)||Mn["CJK Compatibility Forms"](t)||Mn["Small Form Variants"](t)||Mn["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 Rn(t){return t>=1424&&t<=2303||Mn["Arabic Presentation Forms-A"](t)||Mn["Arabic Presentation Forms-B"](t)}function Bn(t,e){return!(!e&&Rn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Mn.Khmer(t))}function Fn(t){for(const e of t)if(Rn(e.charCodeAt(0)))return!0;return!1}const On=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Vn{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 Cn,this.transition={})}isSupportedScript(t){return function(t,e){for(const i of t)if(!Bn(i.charCodeAt(0),e))return!1;return!0}(t,"loaded"===On.getRTLTextPluginStatus())}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 Nn{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(hr(t))return new Sr(t,e);if(xr(t)){const i=Tr(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=Xt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)?"variableAnchorOffsetCollection"===e.type&&Array.isArray(t)&&(i=Qt.parse(t)):i=Jt.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 Un{constructor(t){this.property=t,this.value=new Nn(t,void 0)}transitioned(t,e){return new $n(this.property,this.value,e,g({},t.transition,this.transition),t.now)}untransitioned(){return new $n(this.property,this.value,null,{},0)}}class jn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return b(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Un(this._values[t].property)),this._values[t].value=new Nn(this._values[t].property,null===e?void 0:b(e))}getTransition(t){return b(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Un(this._values[t].property)),this._values[t].transition=b(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 qn(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 qn(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class $n{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)}(a))}}return n}}class qn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,i){const r=new Xn(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 Zn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}hasValue(t){return void 0!==this._values[t].value}getValue(t){return b(this._values[t].value)}setValue(t,e){this._values[t]=new Nn(this._values[t].property,null===e?void 0:b(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 Xn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}}class Gn{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 Xn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class Wn{constructor(t){this.specification=t}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(e)}interpolate(t,e,i){const r=ke[this.specification.type];return r?r(t,e,i):t}}class Hn{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,i,r){return new Gn(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 Gn(this,{kind:"constant",value:void 0},t.parameters);const r=ke[this.specification.type];if(r){const n=r(t.value.value,e.value.value,i);return new Gn(this,{kind:"constant",value:n},t.parameters)}return t}evaluate(t,e,i,r,n,s){return"constant"===t.kind?t.value:t.evaluate(e,i,r,n,s)}}class Kn extends Hn{possiblyEvaluate(t,e,i,r){if(void 0===t.value)return new Gn(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,a=this._calculate(s,s,s,e);return new Gn(this,{kind:"constant",value:a},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 Gn(this,{kind:"constant",value:i},e)}return new Gn(this,t.expression,e)}evaluate(t,e,i,r,n,s){if("source"===t.kind){const a=t.evaluate(e,i,r,n,s);return this._calculate(a,a,a,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 Jn{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 Vn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Vn(Math.floor(e.zoom),e)),t.expression.evaluate(new Vn(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 Yn{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){return!!t.expression.evaluate(e,null,{},i,r)}interpolate(){return!1}}class Qn{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 Nn(i,void 0),n=this.defaultTransitionablePropertyValues[e]=new Un(i);this.defaultTransitioningPropertyValues[e]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=r.possiblyEvaluate({})}}}wn("DataDrivenProperty",Hn),wn("DataConstantProperty",Wn),wn("CrossFadedDataDrivenProperty",Kn),wn("CrossFadedProperty",Jn),wn("ColorRampProperty",Yn);const ts="-transition";class es extends Z{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 Zn(e.layout)),e.paint)){this._transitionablePaint=new jn(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 Xn(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(yn,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return t.endsWith(ts)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(gn,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(t.endsWith(ts))return this._transitionablePaint.setTransition(t.slice(0,-11),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 a=this._transitionablePaint._values[t].value;return a.isDataDriven()||n||r||this._handleOverridablePaintPropertyUpdate(t,s,a)}}_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),v(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)&&xn(this,t.call(fn,{key:e,layerType:this.type,objectKey:i,value:r,styleSpec:G,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 Gn&&ar(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const is={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class rs{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 ns{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 ss(t,e=1){let i=0,r=0;return{members:t.map((t=>{const n=is[t.type].BYTES_PER_ELEMENT,s=i=as(i,Math.max(e,n)),a=t.components||1;return r=Math.max(r,n),i+=n*a,{name:t.name,type:t.type,components:a,offset:s}})),size:as(i,Math.max(r,e)),alignment:e}}function as(t,e){return Math.ceil(t/e)*e}class os extends ns{_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}}os.prototype.bytesPerElement=4,wn("StructArrayLayout2i4",os);class ls extends ns{_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}}ls.prototype.bytesPerElement=6,wn("StructArrayLayout3i6",ls);class cs extends ns{_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}}cs.prototype.bytesPerElement=8,wn("StructArrayLayout4i8",cs);class hs extends ns{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=n,this.int16[o+4]=s,this.int16[o+5]=a,t}}hs.prototype.bytesPerElement=12,wn("StructArrayLayout2i4i12",hs);class us extends ns{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.uint8[l+4]=r,this.uint8[l+5]=n,this.uint8[l+6]=s,this.uint8[l+7]=a,t}}us.prototype.bytesPerElement=8,wn("StructArrayLayout2i4ub8",us);class ds extends ns{_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}}ds.prototype.bytesPerElement=8,wn("StructArrayLayout2f8",ds);class ps extends ns{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,a,o,l,c){const h=this.length;return this.resize(h+1),this.emplace(h,t,e,i,r,n,s,a,o,l,c)}emplace(t,e,i,r,n,s,a,o,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]=a,this.uint16[u+6]=o,this.uint16[u+7]=l,this.uint16[u+8]=c,this.uint16[u+9]=h,t}}ps.prototype.bytesPerElement=20,wn("StructArrayLayout10ui20",ps);class fs extends ns{_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,a,o,l,c,h,u){const d=this.length;return this.resize(d+1),this.emplace(d,t,e,i,r,n,s,a,o,l,c,h,u)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,d){const p=12*t;return this.int16[p+0]=e,this.int16[p+1]=i,this.int16[p+2]=r,this.int16[p+3]=n,this.uint16[p+4]=s,this.uint16[p+5]=a,this.uint16[p+6]=o,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=h,this.int16[p+10]=u,this.int16[p+11]=d,t}}fs.prototype.bytesPerElement=24,wn("StructArrayLayout4i4ui4i24",fs);class ms extends ns{_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}}ms.prototype.bytesPerElement=12,wn("StructArrayLayout3f12",ms);class _s extends ns{_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}}_s.prototype.bytesPerElement=4,wn("StructArrayLayout1ul4",_s);class gs extends ns{_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,a,o,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,i,r,n,s,a,o,l)}emplace(t,e,i,r,n,s,a,o,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]=a,this.uint32[u+3]=o,this.uint16[h+8]=l,this.uint16[h+9]=c,t}}gs.prototype.bytesPerElement=20,wn("StructArrayLayout6i1ul2ui20",gs);class ys extends ns{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=n,this.int16[o+4]=s,this.int16[o+5]=a,t}}ys.prototype.bytesPerElement=12,wn("StructArrayLayout2i2i2i12",ys);class xs extends ns{_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 a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=i,this.float32[a+2]=r,this.int16[o+6]=n,this.int16[o+7]=s,t}}xs.prototype.bytesPerElement=16,wn("StructArrayLayout2f1f2i16",xs);class vs extends ns{_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,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=16*t,l=4*t,c=8*t;return this.uint8[o+0]=e,this.uint8[o+1]=i,this.float32[l+1]=r,this.float32[l+2]=n,this.int16[c+6]=s,this.int16[c+7]=a,t}}vs.prototype.bytesPerElement=16,wn("StructArrayLayout2ub2f2i16",vs);class bs extends ns{_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}}bs.prototype.bytesPerElement=6,wn("StructArrayLayout3ui6",bs);class ws extends ns{_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,a,o,l,c,h,u,d,p,f,m,_){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,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]=a,this.uint32[x+4]=o,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=h,this.float32[x+7]=u,this.float32[x+8]=d,this.uint8[v+36]=p,this.uint8[v+37]=f,this.uint8[v+38]=m,this.uint32[x+10]=_,this.int16[y+22]=g,t}}ws.prototype.bytesPerElement=48,wn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ws);class Ts extends ns{_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,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,S,I,P,A){const C=this.length;return this.resize(C+1),this.emplace(C,t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,S,I,P,A)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,S,I,P,A,C){const M=32*t,k=16*t;return this.int16[M+0]=e,this.int16[M+1]=i,this.int16[M+2]=r,this.int16[M+3]=n,this.int16[M+4]=s,this.int16[M+5]=a,this.int16[M+6]=o,this.int16[M+7]=l,this.uint16[M+8]=c,this.uint16[M+9]=h,this.uint16[M+10]=u,this.uint16[M+11]=d,this.uint16[M+12]=p,this.uint16[M+13]=f,this.uint16[M+14]=m,this.uint16[M+15]=_,this.uint16[M+16]=g,this.uint16[M+17]=y,this.uint16[M+18]=x,this.uint16[M+19]=v,this.uint16[M+20]=b,this.uint16[M+21]=w,this.uint16[M+22]=T,this.uint32[k+12]=S,this.float32[k+13]=I,this.float32[k+14]=P,this.uint16[M+30]=A,this.uint16[M+31]=C,t}}Ts.prototype.bytesPerElement=64,wn("StructArrayLayout8i15ui1ul2f2ui64",Ts);class Ss extends ns{_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}}Ss.prototype.bytesPerElement=4,wn("StructArrayLayout1f4",Ss);class Is extends ns{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(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.uint16[6*t+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}Is.prototype.bytesPerElement=12,wn("StructArrayLayout1ui2f12",Is);class Ps extends ns{_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}}Ps.prototype.bytesPerElement=8,wn("StructArrayLayout1ul2ui8",Ps);class As extends ns{_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}}As.prototype.bytesPerElement=4,wn("StructArrayLayout2ui4",As);class Cs extends ns{_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}}Cs.prototype.bytesPerElement=2,wn("StructArrayLayout1ui2",Cs);class Ms extends ns{_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}}Ms.prototype.bytesPerElement=16,wn("StructArrayLayout4f16",Ms);class ks extends rs{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)}}ks.prototype.size=20;class zs extends gs{get(t){return new ks(this,t)}}wn("CollisionBoxArray",zs);class Es extends rs{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]}}Es.prototype.size=48;class Ds extends ws{get(t){return new Es(this,t)}}wn("PlacedSymbolArray",Ds);class Ls extends rs{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 collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ls.prototype.size=64;class Rs extends Ts{get(t){return new Ls(this,t)}}wn("SymbolInstanceArray",Rs);class Bs extends Ss{getoffsetX(t){return this.float32[1*t+0]}}wn("GlyphOffsetArray",Bs);class Fs extends ls{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}wn("SymbolLineVertexArray",Fs);class Os extends rs{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Os.prototype.size=12;class Vs extends Is{get(t){return new Os(this,t)}}wn("TextAnchorOffsetArray",Vs);class Ns extends rs{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]}}Ns.prototype.size=8;class Us extends Ps{get(t){return new Ns(this,t)}}wn("FeatureIndexArray",Us);class js extends os{}class $s extends os{}class qs extends os{}class Zs extends hs{}class Gs extends us{}class Xs extends ds{}class Ws extends ps{}class Hs extends fs{}class Ks extends ms{}class Js extends _s{}class Ys extends ys{}class Qs extends vs{}class ta extends bs{}class ea extends As{}const ia=ss([{name:"a_pos",components:2,type:"Int16"}],4),{members:ra}=ia;class na{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,r){let n=this.segments[this.segments.length-1];return t>na.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${na.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!n||n.vertexLength+t>na.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 na([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function sa(t,e){return 256*(t=m(Math.floor(t),0,255))+m(Math.floor(e),0,255)}na.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,wn("SegmentVector",na);const aa=ss([{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 oa={exports:{}},la={exports:{}};la.exports=function(t,e){var i,r,n,s,a,o,l,c;for(r=t.length-(i=3&t.length),n=e,a=3432918353,o=461845907,c=0;c>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&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)))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&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 ca=la.exports,ha={exports:{}};ha.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 ua=ca,da=ha.exports;oa.exports=ua,oa.exports.murmur3=ua,oa.exports.murmur2=da;var pa=i(oa.exports);class fa{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,r){this.ids.push(ma(t)),this.positions.push(e,i,r)}getPositions(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const e=ma(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 _a(i,r,0,i.length-1),e&&e.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(t){const e=new fa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function ma(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:pa(String(t))}function _a(t,e,i,r){for(;i>1];let s=i-1,a=r+1;for(;;){do{s++}while(t[s]n);if(s>=a)break;ga(t,s,a),ga(e,3*s,3*a),ga(e,3*s+1,3*a+1),ga(e,3*s+2,3*a+2)}a-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 ba(t,e):new xa(t,e)}}class Ia{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 va(t,e):new xa(t,e)}}class Pa{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,a=this.expression.evaluate(new Vn(0),e,{},r,[],n);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a)}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=Ta(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 Vn(this.zoom),e,{},r,[],n),a=this.expression.evaluate(new Vn(this.zoom+1),e,{},r,[],n),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,s,a)}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=Ta(i),s=Ta(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 Pa||i instanceof Aa)for(let e=0;e!0)){this.programConfigurations={};for(const r of t)this.programConfigurations[r.id]=new Ma(r,e,i);this.needsUpload=!1,this._featureMap=new fa,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 za(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 Ea(t,e,i){const r={color:{source:ds,composite:Ms},number:{source:Ss,composite:ds}},n=function(t){return{"line-pattern":{source:Ws,composite:Ws},"fill-pattern":{source:Ws,composite:Ws},"fill-extrusion-pattern":{source:Ws,composite:Ws}}[t]}(t);return n&&n[i]||r[e][i]}wn("ConstantBinder",Sa),wn("CrossFadedConstantBinder",Ia),wn("SourceExpressionBinder",Pa),wn("CrossFadedCompositeBinder",Ca),wn("CompositeExpressionBinder",Aa),wn("ProgramConfiguration",Ma,{omit:["_buffers"]}),wn("ProgramConfigurationSet",ka);const Da=8192,La=Math.pow(2,14)-1,Ra=-La-1;function Ba(t){const e=Da/t.extent,i=t.loadGeometry();for(let t=0;ti.x+1||si.y+1)&&T("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return i}function Fa(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Ba(t):[]}}function Oa(t,e,i,r,n){t.emplaceBack(2*e+(r+1)/2,2*i+(n+1)/2)}class Va{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 $s,this.indexArray=new ta,this.segments=new na,this.programConfigurations=new ka(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,a=!1;"circle"===r.type&&(s=r.layout.get("circle-sort-key"),a=!s.isConstant());for(const{feature:e,id:r,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Fa(e,t);if(!this.layers[0]._featureFilter.filter(new Vn(this.zoom),c,i))continue;const h=a?s.evaluate(c,{},i):void 0,u={id:r,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?c.geometry:Ba(e),patterns:{},sortKey:h};n.push(u)}a&&n.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of n){const{geometry:n,index:s,sourceLayerIndex:a}=r,o=t[s].feature;this.addFeature(r,n,s,i),e.featureIndex.insert(o,n,s,a,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,ra),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>=Da||r<0||r>=Da)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=n.vertexLength;Oa(this.layoutVertexArray,i,r,-1,-1),Oa(this.layoutVertexArray,i,r,1,-1),Oa(this.layoutVertexArray,i,r,1,1),Oa(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 Na(t,e){for(let i=0;i1){if(qa(t,e))return!0;for(let r=0;r1?i:i.sub(e)._mult(n)._add(e))}function Wa(t,e){let i,r,n,s=!1;for(let a=0;ae.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 Ha(t,e){let i=!1;for(let r=0,n=t.length-1;re.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(i=!i)}return i}function Ka(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=S(t,e,i[0]);return s!==S(t,e,i[1])||s!==S(t,e,i[2])||s!==S(t,e,i[3])}function Ja(t,e,i){const r=e.paint.get(t).value;return"constant"===r.kind?r.value:i.programConfigurations.get(e.id).getMaxValue(t)}function Ya(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Qa(t,e,i,r,n){if(!e[0]&&!e[1])return t;const a=s.convert(e)._mult(n);"viewport"===i&&a._rotate(-r);const o=[];for(let e=0;euo(t,e)))}(l,o),d=h?c*a:c;for(const t of r)for(const e of t){const t=h?e:uo(e,o);let i=d;const r=co([],[e.x,e.y,0,1],o);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]),Ua(u,t,i))return!0}return!1}}function uo(t,e){const i=co([],[t.x,t.y,0,1],e);return new s(i[0]/i[3],i[1]/i[3])}class po extends Va{}let fo;wn("HeatmapBucket",po,{omit:["layers"]});var mo={get paint(){return fo=fo||new Qn({"heatmap-radius":new Hn(G.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Hn(G.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Wn(G.paint_heatmap["heatmap-intensity"]),"heatmap-color":new Yn(G.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Wn(G.paint_heatmap["heatmap-opacity"])})}};function _o(t,{width:e,height:i},r,n){if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==e*i*r)throw new RangeError(`mismatched image size. expected: ${n.length} but got: ${e*i*r}`)}else n=new Uint8Array(e*i*r);return t.width=e,t.height=i,t.data=n,t}function go(t,{width:e,height:i},r){if(e===t.width&&i===t.height)return;const n=_o({},{width:e,height:i},r);yo(t,n,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,i)},r),t.width=e,t.height=i,t.data=n.data}function yo(t,e,i,r,n,s){if(0===n.width||0===n.height)return e;if(n.width>t.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 a=t.data,o=e.data;if(a===o)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);n.data[i+r+0]=Math.floor(255*a.r/a.a),n.data[i+r+1]=Math.floor(255*a.g/a.a),n.data[i+r+2]=Math.floor(255*a.b/a.a),n.data[i+r+3]=Math.floor(255*a.a)};if(t.clips)for(let e=0,n=0;e80*i){r=s=t[0],n=a=t[1];for(var f=i;fs&&(s=o),l>a&&(a=l);c=0!==(c=Math.max(s-r,a-n))?32767/c:0}return Eo(d,p,i,r,n,c,0),p}function ko(t,e,i,r,n){var s,a;if(n===tl(t,e,i,r)>0)for(s=e;s=e;s-=r)a=Jo(s,t[s],t[s+1],a);return a&&Zo(a,a.next)&&(Yo(a),a=a.next),a}function zo(t,e){if(!t)return t;e||(e=t);var i,r=t;do{if(i=!1,r.steiner||!Zo(r,r.next)&&0!==qo(r.prev,r,r.next))r=r.next;else{if(Yo(r),(r=e=r.prev)===r.next)break;i=!0}}while(i||r!==e);return e}function Eo(t,e,i,r,n,s,a){if(t){!a&&s&&function(t,e,i,r){var n=t;do{0===n.z&&(n.z=No(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,a,o,l,c=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,r=i,o=0,e=0;e0||l>0&&r;)0!==o&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,o--):(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(a>1)}(n)}(t,r,n,s);for(var o,l,c=t;t.prev!==t.next;)if(o=t.prev,l=t.next,s?Lo(t,r,n,s):Do(t))e.push(o.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),Yo(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Eo(t=Ro(zo(t),e,i),e,i,r,n,s,2):2===a&&Bo(t,e,i,r,n,s):Eo(zo(t),e,i,r,n,s,1);break}}}function Do(t){var e=t.prev,i=t,r=t.next;if(qo(e,i,r)>=0)return!1;for(var n=e.x,s=i.x,a=r.x,o=e.y,l=i.y,c=r.y,h=ns?n>a?n:a:s>a?s:a,p=o>l?o>c?o:c:l>c?l:c,f=r.next;f!==e;){if(f.x>=h&&f.x<=d&&f.y>=u&&f.y<=p&&jo(n,o,s,l,a,c,f.x,f.y)&&qo(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function Lo(t,e,i,r){var n=t.prev,s=t,a=t.next;if(qo(n,s,a)>=0)return!1;for(var o=n.x,l=s.x,c=a.x,h=n.y,u=s.y,d=a.y,p=ol?o>c?o:c:l>c?l:c,_=h>u?h>d?h:d:u>d?u:d,g=No(p,f,e,i,r),y=No(m,_,e,i,r),x=t.prevZ,v=t.nextZ;x&&x.z>=g&&v&&v.z<=y;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==a&&jo(o,h,l,u,c,d,x.x,x.y)&&qo(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==a&&jo(o,h,l,u,c,d,v.x,v.y)&&qo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=g;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==a&&jo(o,h,l,u,c,d,x.x,x.y)&&qo(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==a&&jo(o,h,l,u,c,d,v.x,v.y)&&qo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Ro(t,e,i){var r=t;do{var n=r.prev,s=r.next.next;!Zo(n,s)&&Go(n,r,r.next,s)&&Ho(n,s)&&Ho(s,n)&&(e.push(n.i/i|0),e.push(r.i/i|0),e.push(s.i/i|0),Yo(r),Yo(r.next),r=t=s),r=r.next}while(r!==t);return zo(r)}function Bo(t,e,i,r,n,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&$o(a,o)){var l=Ko(a,o);return a=zo(a,a.next),l=zo(l,l.next),Eo(a,e,i,r,n,s,0),void Eo(l,e,i,r,n,s,0)}o=o.next}a=a.next}while(a!==t)}function Fo(t,e){return t.x-e.x}function Oo(t,e){var i=function(t,e){var i,r=e,n=t.x,s=t.y,a=-1/0;do{if(s<=r.y&&s>=r.next.y&&r.next.y!==r.y){var o=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=n&&o>a&&(a=o,i=r.x=r.x&&r.x>=h&&n!==r.x&&jo(si.x||r.x===i.x&&Vo(i,r)))&&(i=r,d=l)),r=r.next}while(r!==c);return i}(t,e);if(!i)return e;var r=Ko(i,t);return zo(r,r.next),zo(i,i.next)}function Vo(t,e){return qo(t.prev,t,e.prev)<0&&qo(e.next,t,t.next)<0}function No(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 Uo(t){var e=t,i=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(r-o)>=(i-a)*(e-o)&&(i-a)*(s-o)>=(n-a)*(r-o)}function $o(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&&Go(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(Ho(t,e)&&Ho(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)&&(qo(t.prev,t,e.prev)||qo(t,e.prev,e))||Zo(t,e)&&qo(t.prev,t,t.next)>0&&qo(e.prev,e,e.next)>0)}function qo(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function Zo(t,e){return t.x===e.x&&t.y===e.y}function Go(t,e,i,r){var n=Wo(qo(t,e,i)),s=Wo(qo(t,e,r)),a=Wo(qo(i,r,t)),o=Wo(qo(i,r,e));return n!==s&&a!==o||!(0!==n||!Xo(t,i,e))||!(0!==s||!Xo(t,r,e))||!(0!==a||!Xo(i,t,r))||!(0!==o||!Xo(i,e,r))}function Xo(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 Wo(t){return t>0?1:t<0?-1:0}function Ho(t,e){return qo(t.prev,t,t.next)<0?qo(t,e,t.next)>=0&&qo(t,t.prev,e)>=0:qo(t,e,t.prev)<0||qo(t,t.next,e)<0}function Ko(t,e){var i=new Qo(t.i,t.x,t.y),r=new Qo(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 Jo(t,e,i,r){var n=new Qo(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 Yo(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 Qo(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 tl(t,e,i,r){for(var n=0,s=e,a=i-r;s0&&i.holes.push(r+=t[n-1].length)}return i};var el=i(Co.exports);function il(t,e,i){const r=i.patternDependencies;let n=!1;for(const i of e){const e=i.paint.get(`${t}-pattern`);e.isConstant()||(n=!0);const s=e.constantOr(null);s&&(n=!0,r[s.to]=!0,r[s.from]=!0)}return n}function rl(t,e,i,r,n){const s=n.patternDependencies;for(const a of e){const e=a.paint.get(`${t}-pattern`).value;if("constant"!==e.kind){let t=e.evaluate({zoom:r-1},i,{},n.availableImages),o=e.evaluate({zoom:r},i,{},n.availableImages),l=e.evaluate({zoom:r+1},i,{},n.availableImages);t=t&&t.name?t.name:t,o=o&&o.name?o.name:o,l=l&&l.name?l.name:l,s[t]=!0,s[o]=!0,s[l]=!0,i.patterns[a.id]={min:t,mid:o,max:l}}}return i}class nl{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 qs,this.indexArray=new ta,this.indexArray2=new ea,this.programConfigurations=new ka(t.layers,t.zoom),this.segments=new na,this.segments2=new na,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=il("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),n=!r.isConstant(),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,h=Fa(a,t);if(!this.layers[0]._featureFilter.filter(new Vn(this.zoom),h,i))continue;const u=n?r.evaluate(h,{},i,e.availableImages):void 0,d={id:o,properties:a.properties,type:a.type,sourceLayerIndex:c,index:l,geometry:t?h.geometry:Ba(a),patterns:{},sortKey:u};s.push(d)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:a}=r;if(this.hasPattern){const t=rl("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,a,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,Ao),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 xi(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(),a+=t.readSVarint(),1===r&&(e&&o.push(e),e=[]),e.push(new pl(s,a));else{if(7!==r)throw new Error("unknown command "+r);e&&e.push(e[0].clone())}}return e&&o.push(e),o},ml.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,a=1/0,o=-1/0,l=1/0,c=-1/0;t.pos>3}if(r--,1===i||2===i)(n+=t.readSVarint())o&&(o=n),(s+=t.readSVarint())c&&(c=s);else if(7!==i)throw new Error("unknown command "+i)}return[a,l,o,c]},ml.prototype.toGeoJSON=function(t,e,i){var r,n,s=this.extent*Math.pow(2,i),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),c=ml.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))}vl.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 yl(this._pbf,e,this.extent,this._keys,this._values)};var wl=xl;function Tl(t,e,i){if(3===t){var r=new wl(i,i.readVarint()+i.pos);r.length&&(e[r.name]=r)}}dl.VectorTile=function(t,e){this.layers=t.readFields(Tl,{},e)},dl.VectorTileFeature=fl,dl.VectorTileLayer=xl;const Sl=dl.VectorTileFeature.types,Il=Math.pow(2,13);function Pl(t,e,i,r,n,s,a,o){t.emplaceBack(e,i,2*Math.floor(r*Il)+a,n*Il*2,s*Il*2,Math.round(o))}class Al{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 Zs,this.centroidVertexArray=new js,this.indexArray=new ta,this.programConfigurations=new ka(t.layers,t.zoom),this.segments=new na,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.features=[],this.hasPattern=il("fill-extrusion",this.layers,e);for(const{feature:r,id:n,index:s,sourceLayerIndex:a}of t){const t=this.layers[0]._featureFilter.needGeometry,o=Fa(r,t);if(!this.layers[0]._featureFilter.filter(new Vn(this.zoom),o,i))continue;const l={id:n,sourceLayerIndex:a,index:s,geometry:t?o.geometry:Ba(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(rl("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,i,{}),e.featureIndex.insert(r,l.geometry,s,a,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,ul),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,hl.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){for(const i of xi(e,500)){const e={x:0,y:0,vertexCount:0};let r=0;for(const t of i)r+=t.length;let n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of i){if(0===t.length)continue;if(Ml(t))continue;let i=0;for(let r=0;r=1){const a=t[r-1];if(!Cl(s,a)){n.vertexLength+4>na.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=s.sub(a)._perp()._unit(),r=a.dist(s);i+r>32768&&(i=0),Pl(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,i),Pl(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,i),e.x+=2*s.x,e.y+=2*s.y,e.vertexCount+=2,i+=r,Pl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,i),Pl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,i),e.x+=2*a.x,e.y+=2*a.y,e.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+r>na.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(r,this.layoutVertexArray,this.indexArray)),"Polygon"!==Sl[t.type])continue;const s=[],a=[],o=n.vertexLength;for(const t of i)if(0!==t.length){t!==i[0]&&a.push(s.length/2);for(let i=0;iDa)||t.y===e.y&&(t.y<0||t.y>Da)}function Ml(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Da))||t.every((t=>t.y<0))||t.every((t=>t.y>Da))}let kl;wn("FillExtrusionBucket",Al,{omit:["layers","features"]});var zl={get paint(){return kl=kl||new Qn({"fill-extrusion-opacity":new Wn(G["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Hn(G["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Wn(G["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Wn(G["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Kn(G["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Hn(G["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Hn(G["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Wn(G["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class El extends es{constructor(t){super(t,zl)}createBucket(t){return new Al(t)}queryRadius(){return Ya(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,i,r,n,a,o,l){const c=Qa(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),a.angle,o),h=this.paint.get("fill-extrusion-height").evaluate(e,i),u=this.paint.get("fill-extrusion-base").evaluate(e,i),d=function(t,e,i,r){const n=[];for(const i of t){const t=[i.x,i.y,0,1];co(t,t,e),n.push(new s(t[0]/t[3],t[1]/t[3]))}return n}(c,l),p=function(t,e,i,r){const n=[],a=[],o=r[8]*e,l=r[9]*e,c=r[10]*e,h=r[11]*e,u=r[8]*i,d=r[9]*i,p=r[10]*i,f=r[11]*i;for(const e of t){const t=[],i=[];for(const n of e){const e=n.x,a=n.y,m=r[0]*e+r[4]*a+r[12],_=r[1]*e+r[5]*a+r[13],g=r[2]*e+r[6]*a+r[14],y=r[3]*e+r[7]*a+r[15],x=g+c,v=y+h,b=m+u,w=_+d,T=g+p,S=y+f,I=new s((m+o)/v,(_+l)/v);I.z=x/v,t.push(I);const P=new s(b/S,w/S);P.z=T/S,i.push(P)}n.push(t),a.push(i)}return[n,a]}(r,u,h,l);return function(t,e,i){let r=1/0;ja(i,e)&&(r=Ll(i,e[0]));for(let n=0;nt.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 Gs,this.layoutVertexArray2=new Xs,this.indexArray=new ta,this.programConfigurations=new ka(t.layers,t.zoom),this.segments=new na,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=il("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),n=!r.isConstant(),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Fa(e,t);if(!this.layers[0]._featureFilter.filter(new Vn(this.zoom),c,i))continue;const h=n?r.evaluate(c,{},i):void 0,u={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?c.geometry:Ba(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:a}=r;if(this.hasPattern){const t=rl("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,a,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,Ol)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Bl),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,a=s.get("line-join").evaluate(t,{}),o=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,a,o,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[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(b&&e>l){const t=u.dist(d);if(t>2*c){const e=u.sub(u.sub(d)._mult(c/t)._round());this.updateDistance(d,e),this.addCurrentVertex(e,f,0,0,h),d=e}}const T=d&&p;let S=T?i:a?"butt":r;if(T&&"round"===S&&(xn&&(S="bevel"),"bevel"===S&&(x>2&&(S="flipbevel"),x100)_=m.mult(-1);else{const t=x*f.add(m).mag()/f.sub(m).mag();_._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(u,_,0,0,h),this.addCurrentVertex(u,_.mult(-1),0,0,h)}else if("bevel"===S||"fakeround"===S){const t=-Math.sqrt(x*x-1),e=w?t:0,i=w?0:t;if(d&&this.addCurrentVertex(u,f,e,i,h),"fakeround"===S){const t=Math.round(180*v/Math.PI/20);for(let e=1;e2*c){const e=u.add(p.sub(u)._mult(c/t)._round());this.updateDistance(u,e),this.addCurrentVertex(e,m,0,0,h),u=e}}}}addCurrentVertex(t,e,i,r,n,s=!1){const a=e.y*r-e.x,o=-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,a,o,s,!0,-r,n),this.distance>Ul/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,i,r,n,s))}addHalfVertex({x:t,y:e},i,r,n,s,a,o){const l=.5*(this.lineClips?this.scaledDistance*(Ul-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===a?0:a<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=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),o.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()}}let $l,ql;wn("LineBucket",jl,{omit:["layers","patternFeatures"]});var Zl={get paint(){return ql=ql||new Qn({"line-opacity":new Hn(G.paint_line["line-opacity"]),"line-color":new Hn(G.paint_line["line-color"]),"line-translate":new Wn(G.paint_line["line-translate"]),"line-translate-anchor":new Wn(G.paint_line["line-translate-anchor"]),"line-width":new Hn(G.paint_line["line-width"]),"line-gap-width":new Hn(G.paint_line["line-gap-width"]),"line-offset":new Hn(G.paint_line["line-offset"]),"line-blur":new Hn(G.paint_line["line-blur"]),"line-dasharray":new Jn(G.paint_line["line-dasharray"]),"line-pattern":new Kn(G.paint_line["line-pattern"]),"line-gradient":new Yn(G.paint_line["line-gradient"])})},get layout(){return $l=$l||new Qn({"line-cap":new Wn(G.layout_line["line-cap"]),"line-join":new Hn(G.layout_line["line-join"]),"line-miter-limit":new Wn(G.layout_line["line-miter-limit"]),"line-round-limit":new Wn(G.layout_line["line-round-limit"]),"line-sort-key":new Hn(G.layout_line["line-sort-key"])})}};class Gl extends Hn{possiblyEvaluate(t,e){return e=new Vn(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=g({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,r)}}let Xl;class Wl extends es{constructor(t){super(t,Zl),this.gradientVersion=0,Xl||(Xl=new Gl(Zl.paint.properties["line-width"].specification),Xl.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(t){if("line-gradient"===t){const t=this.gradientExpression();this.stepInterpolant=!!function(t){return void 0!==t._styleExpression}(t)&&t._styleExpression.expression instanceof Te,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values["line-floorwidth"]=Xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)}createBucket(t){return new jl(t)}queryRadius(t){const e=t,i=Hl(Ja("line-width",this,e),Ja("line-gap-width",this,e)),r=Ja("line-offset",this,e);return i/2+Math.abs(r)+Ya(this.paint.get("line-translate"))}queryIntersectsFeature(t,e,i,r,n,a,o){const l=Qa(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),a.angle,o),c=o/2*Hl(this.paint.get("line-width").evaluate(e,i),this.paint.get("line-gap-width").evaluate(e,i)),h=this.paint.get("line-offset").evaluate(e,i);return h&&(r=function(t,e){const i=[];for(let r=0;r=3)for(let e=0;e0?e+2*t:t}const Kl=ss([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Jl=ss([{name:"a_projected_pos",components:3,type:"Float32"}],4);ss([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Yl=ss([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);ss([{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 Ql=ss([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),tc=ss([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ec(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()),On.applyArabicShaping&&(t=On.applyArabicShaping(t)),t}(t.text,e,i)})),t}ss([{name:"triangle",components:3,type:"Uint16"}]),ss([{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"}]),ss([{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",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),ss([{type:"Float32",name:"offsetX"}]),ss([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),ss([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const ic={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var rc=24,nc=oc,sc=function(t,e,i,r,n){var s,a,o=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,d=i?-1:1,p=t[e+u];for(u+=d,s=p&(1<<-h)-1,p>>=-h,h+=o;h>0;s=256*s+t[e+u],u+=d,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=r;h>0;a=256*a+t[e+u],u+=d,h-=8);if(0===s)s=1-c;else{if(s===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),s-=c}return(p?-1:1)*a*Math.pow(2,s-r)},ac=function(t,e,i,r,n,s){var a,o,l,c=8*s-n-1,h=(1<>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,f=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=h):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(a++,l/=2),a+u>=h?(o=0,a=h):a+u>=1?(o=(e*l-1)*Math.pow(2,n),a+=u):(o=e*Math.pow(2,u-1)*Math.pow(2,n),a=0));n>=8;t[i+p]=255&o,p+=f,o/=256,n-=8);for(a=a<0;t[i+p]=255&a,p+=f,a/=256,c-=8);t[i+p-f]|=128*m};function oc(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}oc.Varint=0,oc.Fixed64=1,oc.Bytes=2,oc.Fixed32=5;var lc=4294967296,cc=1/lc,hc="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function uc(t){return t.type===oc.Bytes?t.readVarint()+t.pos:t.pos+1}function dc(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function pc(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 fc(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function Ic(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}oc.prototype={destroy:function(){this.buf=null},readFields:function(t,e,i){for(i=i||this.length;this.pos>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=Tc(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ic(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Tc(this.buf,this.pos)+Tc(this.buf,this.pos+4)*lc;return this.pos+=8,t},readSFixed64:function(){var t=Tc(this.buf,this.pos)+Ic(this.buf,this.pos+4)*lc;return this.pos+=8,t},readFloat:function(){var t=sc(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=sc(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 dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<3,n<128)return dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<10,n<128)return dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<17,n<128)return dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<24,n<128)return dc(t,r,e);if(r|=(1&(n=s[i.pos++]))<<31,n<128)return dc(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&&hc?function(t,e,i){return hc.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?(a=t[n+2],128==(192&(s=t[n+1]))&&128==(192&a)&&((c=(15&l)<<12|(63&s)<<6|63&a)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(a=t[n+2],o=t[n+3],128==(192&(s=t[n+1]))&&128==(192&a)&&128==(192&o)&&((c=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)<=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!==oc.Bytes)return t.push(this.readVarint(e));var i=uc(this);for(t=t||[];this.pos127;);else if(e===oc.Bytes)this.pos=this.readVarint()+this.pos;else if(e===oc.Fixed32)this.pos+=4;else{if(e!==oc.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&&pc(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),ac(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ac(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&&pc(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,e,i){this.writeTag(t,oc.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,fc,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,mc,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,yc,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,_c,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,gc,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,xc,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,vc,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,bc,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,wc,e)},writeBytesField:function(t,e){this.writeTag(t,oc.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,oc.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,oc.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,oc.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,oc.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,oc.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,oc.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,oc.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,oc.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,oc.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Pc=i(nc);const Ac=3;function Cc(t,e,i){1===t&&i.readMessage(Mc,e)}function Mc(t,e,i){if(3===t){const{id:t,bitmap:r,width:n,height:s,left:a,top:o,advance:l}=i.readMessage(kc,{});e.push({id:t,bitmap:new xo({width:n+2*Ac,height:s+2*Ac},r),metrics:{width:n,height:s,left:a,top:o,advance:l}})}}function kc(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())}const zc=Ac;function Ec(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=0&&i>=t&&Uc[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 Vc;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(Oc.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 Nc(e,i,r,n,s,a,o,l,c,h,u,d,p,f,m){const _=Vc.fromFeature(e,s);let g;d===t.ai.vertical&&_.verticalizePunctuation();const{processBidirectionalText:y,processStyledBidirectionalText:x}=On;if(y&&1===_.sections.length){g=[];const t=y(_.toString(),Hc(_,h,a,i,n,f));for(const e of t){const t=new Vc;t.text=e,t.sections=_.sections;for(let i=0;i0&&r>w&&(w=r)}else{const t=r[m.fontStack],e=t&&t[g];if(e&&e.rect)T=e.rect,v=e.metrics;else{const t=i[m.fontStack],e=t&&t[g];if(!e)continue;v=e.metrics}y=(s-m.scale)*rc}P?(e.verticalizable=!0,b.push({glyph:g,imageName:S,x:p,y:f+y,vertical:P,scale:m.scale,fontStack:m.fontStack,sectionIndex:_,metrics:v,rect:T}),p+=I*m.scale+h):(b.push({glyph:g,imageName:S,x:p,y:f+y,vertical:P,scale:m.scale,fontStack:m.fontStack,sectionIndex:_,metrics:v,rect:T}),p+=v.advance*m.scale+h)}0!==b.length&&(m=Math.max(p-h,m),Jc(b,0,b.length-1,g,w)),p=0;const T=a*s+w;v.lineOffset=Math.max(w,l),f+=T,_=Math.max(T,_),++y}var x;const v=f-Fc,{horizontalAlign:b,verticalAlign:w}=Kc(o);(function(t,e,i,r,n,s,a,o,l){const c=(e-i)*n;let h=0;h=s!==a?-o*r-Fc:(-r*l+.5)*a;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=h})(e.positionedLines,g,b,w,m,_,a,v,s.length),e.top+=-w*v,e.bottom=e.top+v,e.left+=-b*m,e.right=e.left+m}(b,i,r,n,g,o,l,c,d,h,p,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(v)&&b}const Uc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},jc={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},$c={40:!0};function qc(t,e,i,r,n,s){if(e.imageName){const t=r[e.imageName];return t?t.displaySize[0]*e.scale*rc/s+n:0}{const r=i[e.fontStack],s=r&&r[t];return s?s.metrics.advance*e.scale+n:0}}function Zc(t,e,i,r){const n=Math.pow(t-e,2);return r?t=0;let c=0;for(let i=0;ic){const t=Math.ceil(s/c);n*=t/a,a=t}return{x1:r,y1:n,x2:r+s,y2:n+a}}function th(t,e,i,r,n,s){const a=t.image;let o;if(a.content){const t=a.content,e=a.pixelRatio||1;o=[t[0]/e,t[1]/e,a.displaySize[0]-t[2]/e,a.displaySize[1]-t[3]/e]}const l=e.left*s,c=e.right*s;let h,u,d,p;"width"===i||"both"===i?(p=n[0]+l-r[3],u=n[0]+c+r[1]):(p=n[0]+(l+c-a.displaySize[0])/2,u=p+a.displaySize[0]);const f=e.top*s,m=e.bottom*s;return"height"===i||"both"===i?(h=n[1]+f-r[0],d=n[1]+m+r[2]):(h=n[1]+(f+m-a.displaySize[1])/2,d=h+a.displaySize[1]),{image:a,top:h,right:u,bottom:d,left:p,collisionPadding:o}}const eh=255,ih=128,rh=eh*ih;function nh(t,e){const{expression:i}=e;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new Vn(t+1))};if("source"===i.kind)return{kind:"source"};{const{zoomStops:e,interpolationType:r}=i;let n=0;for(;nt.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=so([]),this.placementViewportMatrix=so([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=nh(this.zoom,i["text-size"]),this.iconSizeData=nh(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"!==sh(r,"text-overlap","text-allow-overlap")||"never"!==sh(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.ai[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new uh(new ka(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new uh(new ka(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Bs,this.lineVertexArray=new Fs,this.symbolInstances=new Rs,this.textAnchorOffsets=new Vs}calculateGlyphDependencies(t,e,i,r,n){for(let s=0;s0)&&("constant"!==a.value.kind||a.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 d=i.iconDependencies,p=i.glyphDependencies,f=i.availableImages,m=new Vn(this.zoom);for(const{feature:i,id:o,index:l,sourceLayerIndex:_}of e){const e=n._featureFilter.needGeometry,g=Fa(i,e);if(!n._featureFilter.filter(m,g,r))continue;let y,x;if(e||(g.geometry=Ba(i)),c){const t=n.getValueAndResolveTokens("text-field",g,r,f),e=Kt.factory(t),i=this.hasRTLText=this.hasRTLText||hh(e);(!i||"unavailable"===On.getRTLTextPluginStatus()||i&&On.isParsed())&&(y=ec(e,n,g))}if(h){const t=n.getValueAndResolveTokens("icon-image",g,r,f);x=t instanceof te?t:te.fromString(t)}if(!y&&!x)continue;const v=this.sortFeaturesByKey?u.evaluate(g,{},r):void 0;if(this.features.push({id:o,text:y,icon:x,index:l,sourceLayerIndex:_,geometry:g.geometry,properties:i.properties,type:ah[i.type],sortKey:v}),x&&(d[x.name]=!0),y){const e=a.evaluate(g,{},r).join(","),i="viewport"!==s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ai.vertical)>=0;for(const t of y.sections)if(t.image)d[t.image.name]=!0;else{const r=kn(y.toString()),n=t.fontStack||e,s=p[n]=p[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 a(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 o(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)}}}let fh,mh;wn("SymbolBucket",ph,{omit:["layers","collisionBoxArray","features","compareText"]}),ph.MAX_GLYPHS=65535,ph.addDynamicAttributes=ch;var _h={get paint(){return mh=mh||new Qn({"icon-opacity":new Hn(G.paint_symbol["icon-opacity"]),"icon-color":new Hn(G.paint_symbol["icon-color"]),"icon-halo-color":new Hn(G.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hn(G.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hn(G.paint_symbol["icon-halo-blur"]),"icon-translate":new Wn(G.paint_symbol["icon-translate"]),"icon-translate-anchor":new Wn(G.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hn(G.paint_symbol["text-opacity"]),"text-color":new Hn(G.paint_symbol["text-color"],{runtimeType:dt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new Hn(G.paint_symbol["text-halo-color"]),"text-halo-width":new Hn(G.paint_symbol["text-halo-width"]),"text-halo-blur":new Hn(G.paint_symbol["text-halo-blur"]),"text-translate":new Wn(G.paint_symbol["text-translate"]),"text-translate-anchor":new Wn(G.paint_symbol["text-translate-anchor"])})},get layout(){return fh=fh||new Qn({"symbol-placement":new Wn(G.layout_symbol["symbol-placement"]),"symbol-spacing":new Wn(G.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Wn(G.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hn(G.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Wn(G.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Wn(G.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Wn(G.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Wn(G.layout_symbol["icon-ignore-placement"]),"icon-optional":new Wn(G.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Wn(G.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hn(G.layout_symbol["icon-size"]),"icon-text-fit":new Wn(G.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Wn(G.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hn(G.layout_symbol["icon-image"]),"icon-rotate":new Hn(G.layout_symbol["icon-rotate"]),"icon-padding":new Hn(G.layout_symbol["icon-padding"]),"icon-keep-upright":new Wn(G.layout_symbol["icon-keep-upright"]),"icon-offset":new Hn(G.layout_symbol["icon-offset"]),"icon-anchor":new Hn(G.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Wn(G.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Wn(G.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Wn(G.layout_symbol["text-rotation-alignment"]),"text-field":new Hn(G.layout_symbol["text-field"]),"text-font":new Hn(G.layout_symbol["text-font"]),"text-size":new Hn(G.layout_symbol["text-size"]),"text-max-width":new Hn(G.layout_symbol["text-max-width"]),"text-line-height":new Wn(G.layout_symbol["text-line-height"]),"text-letter-spacing":new Hn(G.layout_symbol["text-letter-spacing"]),"text-justify":new Hn(G.layout_symbol["text-justify"]),"text-radial-offset":new Hn(G.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Wn(G.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new Hn(G.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new Hn(G.layout_symbol["text-anchor"]),"text-max-angle":new Wn(G.layout_symbol["text-max-angle"]),"text-writing-mode":new Wn(G.layout_symbol["text-writing-mode"]),"text-rotate":new Hn(G.layout_symbol["text-rotate"]),"text-padding":new Wn(G.layout_symbol["text-padding"]),"text-keep-upright":new Wn(G.layout_symbol["text-keep-upright"]),"text-transform":new Hn(G.layout_symbol["text-transform"]),"text-offset":new Hn(G.layout_symbol["text-offset"]),"text-allow-overlap":new Wn(G.layout_symbol["text-allow-overlap"]),"text-overlap":new Wn(G.layout_symbol["text-overlap"]),"text-ignore-placement":new Wn(G.layout_symbol["text-ignore-placement"]),"text-optional":new Wn(G.layout_symbol["text-optional"])})}};class gh{constructor(t){if(void 0===t.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,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}}wn("FormatSectionOverride",gh,{omit:["defaultValue"]});class yh extends es{constructor(t){super(t,_h)}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()||xr(s.value)||!n?n:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>t&&i in t?String(t[i]):""))}(e.properties,n)}createBucket(t){return new ph(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of _h.paint.overridableProperties){if(!yh.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new gh(e),r=new yr(i,e.property.specification);let n=null;n="constant"===e.value.kind||"source"===e.value.kind?new br("source",r):new wr("composite",r,e.value.zoomStops),this.paint._values[t]=new Gn(e.property,n,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&yh.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),r=_h.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 Kt)s(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{n||(e instanceof se&&re(e.value)===_t?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return n}}let xh;var vh={get paint(){return xh=xh||new Qn({"background-color":new Wn(G.paint_background["background-color"]),"background-pattern":new Jn(G.paint_background["background-pattern"]),"background-opacity":new Wn(G.paint_background["background-opacity"])})}};class bh extends es{constructor(t){super(t,vh)}}let wh;var Th={get paint(){return wh=wh||new Qn({"raster-opacity":new Wn(G.paint_raster["raster-opacity"]),"raster-hue-rotate":new Wn(G.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Wn(G.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Wn(G.paint_raster["raster-brightness-max"]),"raster-saturation":new Wn(G.paint_raster["raster-saturation"]),"raster-contrast":new Wn(G.paint_raster["raster-contrast"]),"raster-resampling":new Wn(G.paint_raster["raster-resampling"]),"raster-fade-duration":new Wn(G.paint_raster["raster-fade-duration"])})}};class Sh extends es{constructor(t){super(t,Th)}}class Ih extends es{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(){throw new Error("Custom layers cannot be serialized")}}class Ph{constructor(t){this._methodToThrottle=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle()}),0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Ah=6371008.8;class Ch{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 Ch(_(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 Ah*Math.acos(Math.min(n,1))}static convert(t){if(t instanceof Ch)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ch(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Ch(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 [, ]")}}const Mh=2*Math.PI*Ah;function kh(t){return Mh*Math.cos(t*Math.PI/180)}function zh(t){return(180+t)/360}function Eh(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Dh(t,e){return t/kh(e)}function Lh(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=Ch.convert(t);return new Rh(zh(i.lng),Eh(i.lat),Dh(e,i.lat))}toLngLat(){return new Ch(360*this.x-180,Lh(this.y))}toAltitude(){return this.z*kh(Lh(this.y))}meterInMercatorCoordinateUnits(){return 1/Mh*(t=Lh(this.y),1/Math.cos(t*Math.PI/180));var t}}function Bh(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 Fh{constructor(t,e,i){if(t<0||t>25||i<0||i>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${i}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=i,this.key=Nh(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,a=this.z,o=Bh(256*(n=this.x),256*(s=Math.pow(2,a)-s-1),a),l=Bh(256*(n+1),256*(s+1),a),o[0]+","+o[1]+","+l[0]+","+l[1]);var n,s,a,o,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)*Da,(t.y*e-this.y)*Da)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Oh{constructor(t,e){this.wrap=t,this.canonical=e,this.key=Nh(t,e.z,e.z,e.x,e.y)}}class Vh{constructor(t,e,i,r,n){if(t= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Fh(i,+r,+n),this.key=Nh(e,t,i,r,n)}clone(){return new Vh(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){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new Vh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Vh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const i=this.canonical.z-t;return t>this.canonical.z?Nh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Nh(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 Vh(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 Vh(e,this.wrap,e,i,r),new Vh(e,this.wrap,e,i+1,r),new Vh(e,this.wrap,e,i,r+1),new Vh(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)}unpack(t,e,i){return t*this.redFactor+e*this.greenFactor+i*this.blueFactor-this.baseShift}getPixels(){return new vo({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,a=i*this.dim+this.dim;switch(e){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:s=a-1;break;case 1:a=s+1}const o=-e*this.dim,l=-i*this.dim;for(let e=s;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class $h{constructor(t,e,i,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=i,t._y=r,this.properties=t.properties,this.id=n}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t}}class qh{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new vn(Da,16,0),this.grid3D=new vn(Da,16,0),this.featureIndexArray=new Us,this.promoteId=e}insert(t,e,i,r,n,s){const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(i,r,n);const o=s?this.grid3D:this.grid;for(let t=0;t=0&&r[3]>=0&&o.insert(a,r[0],r[1],r[2],r[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new dl.VectorTile(new Pc(this.rawTileData)).layers,this.sourceLayerCoder=new jh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,i,r){this.loadVTLayers();const n=t.params||{},a=Da/t.tileSize/t.scale,o=Cr(n.filter),l=t.queryGeometry,c=t.queryPadding*a,h=Gh(l),u=this.grid.query(h.minX-c,h.minY-c,h.maxX+c,h.maxY+c),d=Gh(t.cameraQueryGeometry),p=this.grid3D.query(d.minX-c,d.minY-c,d.maxX+c,d.maxY+c,((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 a=[new s(e,i),new s(e,n),new s(r,n),new s(r,i)];if(t.length>2)for(const e of a)if(Ha(t,e))return!0;for(let e=0;e(d||(d=Ba(e)),i.queryIntersectsFeature(l,e,r,d,this.z,t.transform,a,t.pixelPosMatrix))))}return f}loadMatchingFeature(t,e,i,r,n,s,a,o,l,c,h){const u=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let i=0;i=0)return!0;return!1}(s,u))return;const d=this.sourceLayerCoder.decode(i),p=this.vtLayers[d].feature(r);if(n.needGeometry){const t=Fa(p,!0);if(!n.filter(new Vn(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!n.filter(new Vn(this.tileID.overscaledZ),p))return;const f=this.getId(p,d);for(let e=0;e{const a=e instanceof Xn?e.get(s):null;return a&&a.evaluate?a.evaluate(i,r,n):a}))}function Gh(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 Xh(t,e){return e-t}function Wh(t,e,i,r,n){const a=[];for(let o=0;o=r&&h.x>=r||(o.x>=r?o=new s(r,o.y+(r-o.x)/(h.x-o.x)*(h.y-o.y))._round():h.x>=r&&(h=new s(r,o.y+(r-o.x)/(h.x-o.x)*(h.y-o.y))._round()),o.y>=n&&h.y>=n||(o.y>=n?o=new s(o.x+(n-o.y)/(h.y-o.y)*(h.x-o.x),n)._round():h.y>=n&&(h=new s(o.x+(n-o.y)/(h.y-o.y)*(h.x-o.x),n)._round()),c&&o.equals(c[c.length-1])||(c=[o],a.push(c)),c.push(h)))))}}return a}wn("FeatureIndex",qh,{omit:["rawTileData","sourceLayerCoder"]});class Hh extends s{constructor(t,e,i,r){super(t,e),this.angle=i,void 0!==r&&(this.segment=r)}clone(){return new Hh(this.x,this.y,this.angle,this.segment)}}function Kh(t,e,i,r,n){if(void 0===e.segment||0===i)return!0;let s=e,a=e.segment+1,o=0;for(;o>-i/2;){if(a--,a<0)return!1;o-=t[a].dist(s),s=t[a]}o+=t[a].dist(t[a+1]),a++;const l=[];let c=0;for(;or;)c-=l.shift().angleDelta;if(c>n)return!1;a++,o+=e.dist(i)}return!0}function Jh(t){let e=0;for(let i=0;ic){const h=(c-l)/s,u=ke.number(r.x,n.x,h),d=ke.number(r.y,n.y,h),p=new Hh(u,d,n.angleTo(r),i);return p._round(),!a||Kh(t,p,o,a,e)?p:void 0}l+=s}}function eu(t,e,i,r,n,s,a,o,l){const c=Yh(r,s,a),h=Qh(r,n),u=h*a,d=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-u=0&&g=0&&y=0&&d+c<=h){const i=new Hh(g,y,m,e);i._round(),r&&!Kh(t,i,s,r,n)||p.push(i)}}u+=f}return o||p.length||a||(p=iu(t,u/2,i,r,n,s,a,!0,l)),p}wn("Anchor",Hh);const ru=Dc;function nu(t,e,i,r){const n=[],a=t.image,o=a.pixelRatio,l=a.paddedRect.w-2*ru,c=a.paddedRect.h-2*ru;let h={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const u=a.stretchX||[[0,l]],d=a.stretchY||[[0,c]],p=(t,e)=>t+e[1]-e[0],f=u.reduce(p,0),m=d.reduce(p,0),_=l-f,g=c-m;let y=0,x=f,v=0,b=m,w=0,T=_,S=0,I=g;if(a.content&&r){const e=a.content,i=e[2]-e[0],r=e[3]-e[1];(a.textFitWidth||a.textFitHeight)&&(h=Qc(t)),y=su(u,0,e[0]),v=su(d,0,e[1]),x=su(u,e[0],e[2]),b=su(d,e[1],e[3]),w=e[0]-y,S=e[1]-v,T=i-x,I=r-b}const P=h.x1,A=h.y1,C=h.x2-P,M=h.y2-A,k=(t,r,n,l)=>{const c=ou(t.stretch-y,x,C,P),h=lu(t.fixed-w,T,t.stretch,f),u=ou(r.stretch-v,b,M,A),d=lu(r.fixed-S,I,r.stretch,m),p=ou(n.stretch-y,x,C,P),_=lu(n.fixed-w,T,n.stretch,f),g=ou(l.stretch-v,b,M,A),k=lu(l.fixed-S,I,l.stretch,m),z=new s(c,u),E=new s(p,u),D=new s(p,g),L=new s(c,g),R=new s(h/o,d/o),B=new s(_/o,k/o),F=e*Math.PI/180;if(F){const t=Math.sin(F),e=Math.cos(F),i=[e,-t,t,e];z._matMult(i),E._matMult(i),L._matMult(i),D._matMult(i)}const O=t.stretch+t.fixed,V=r.stretch+r.fixed;return{tl:z,tr:E,bl:L,br:D,tex:{x:a.paddedRect.x+ru+O,y:a.paddedRect.y+ru+V,w:n.stretch+n.fixed-O,h:l.stretch+l.fixed-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:R,pixelOffsetBR:B,minFontScaleX:T/o/C,minFontScaleY:I/o/M,isSDF:i}};if(r&&(a.stretchX||a.stretchY)){const t=au(u,_,f),e=au(d,g,m);for(let i=0;i0&&(r=Math.max(10,r),this.circleDiameter=r)}else{const c=(null===(u=a.image)||void 0===u?void 0:u.content)&&(a.image.textFitWidth||a.image.textFitHeight)?Qc(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};c.y1=c.y1*o-l[0],c.y2=c.y2*o+l[2],c.x1=c.x1*o-l[3],c.x2=c.x2*o+l[1];const d=a.collisionPadding;if(d&&(c.x1-=d[0]*o,c.y1-=d[1]*o,c.x2+=d[2]*o,c.y2+=d[3]*o),h){const t=new s(c.x1,c.y1),e=new s(c.x2,c.y1),i=new s(c.x1,c.y2),r=new s(c.x2,c.y2),n=h*Math.PI/180;t._rotate(n),e._rotate(n),i._rotate(n),r._rotate(n),c.x1=Math.min(t.x,e.x,i.x,r.x),c.x2=Math.max(t.x,e.x,i.x,r.x),c.y1=Math.min(t.y,e.y,i.y,r.y),c.y2=Math.max(t.y,e.y,i.y,r.y)}t.emplaceBack(e.x,e.y,c.x1,c.y1,c.x2,c.y2,i,r,n)}this.boxEndIndex=t.length}}class hu{constructor(t=[],e=uu){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 uu(t,e){return te?1:0}function du(t,e=1,i=!1){let r=1/0,n=1/0,a=-1/0,o=-1/0;const l=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>o)&&(o=e.y)}const c=Math.min(a-r,o-n);let h=c/2;const u=new hu([],pu);if(0===c)return new s(r,n);for(let e=r;ed.d||!d.d)&&(d=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,p)),r.max-d.d<=e||(h=r.h/2,u.push(new fu(r.p.x-h,r.p.y-h,h,t)),u.push(new fu(r.p.x+h,r.p.y-h,h,t)),u.push(new fu(r.p.x-h,r.p.y+h,h,t)),u.push(new fu(r.p.x+h,r.p.y+h,h,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${d.d}`)),d.p}function pu(t,e){return e.max-t.max}function fu(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!=o.y>t.y&&t.x<(o.x-n.x)*(t.y-n.y)/(o.y-n.y)+n.x&&(i=!i),r=Math.min(r,Xa(t,n,o))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}var mu;t.ar=void 0,(mu=t.ar||(t.ar={}))[mu.center=1]="center",mu[mu.left=2]="left",mu[mu.right=3]="right",mu[mu.top=4]="top",mu[mu.bottom=5]="bottom",mu[mu["top-left"]=6]="top-left",mu[mu["top-right"]=7]="top-right",mu[mu["bottom-left"]=8]="bottom-left",mu[mu["bottom-right"]=9]="bottom-right";const _u=7,gu=Number.POSITIVE_INFINITY;function yu(t,e){return e[1]!==gu?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-_u;break;case"bottom-right":case"bottom-left":case"bottom":n=-i+_u}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.SQRT2;switch(t){case"top-right":case"top-left":r=n-_u;break;case"bottom-right":case"bottom-left":r=-n+_u;break;case"bottom":r=-e+_u;break;case"top":r=e-_u}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 xu(t,e,i){var r;const n=t.layout,s=null===(r=n.get("text-variable-anchor-offset"))||void 0===r?void 0:r.evaluate(e,{},i);if(s){const t=s.values,e=[];for(let i=0;it*rc));r.startsWith("top")?n[1]-=_u:r.startsWith("bottom")&&(n[1]+=_u),e[i+1]=n}return new Qt(e)}const a=n.get("text-variable-anchor");if(a){let r;r=void 0!==t._unevaluatedLayout.getValue("text-radial-offset")?[n.get("text-radial-offset").evaluate(e,{},i)*rc,gu]:n.get("text-offset").evaluate(e,{},i).map((t=>t*rc));const s=[];for(const t of a)s.push(t,yu(t,r));return new Qt(s)}return null}function vu(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 bu(e,i,r,n,s,a,o,l,c,h,u){let d=a.textMaxSize.evaluate(i,{});void 0===d&&(d=o);const p=e.layers[0].layout,f=p.get("icon-offset").evaluate(i,{},u),m=Tu(r.horizontal),_=o/24,g=e.tilePixelRatio*_,y=e.tilePixelRatio*d/24,x=e.tilePixelRatio*l,v=e.tilePixelRatio*p.get("symbol-spacing"),b=p.get("text-padding")*e.tilePixelRatio,w=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]}(p,i,u,e.tilePixelRatio),S=p.get("text-max-angle")/180*Math.PI,I="viewport"!==p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),P="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),A=p.get("symbol-placement"),C=v/2,M=p.get("icon-text-fit");let k;n&&"none"!==M&&(e.allowVerticalPlacement&&r.vertical&&(k=th(n,r.vertical,M,p.get("icon-text-fit-padding"),f,_)),m&&(n=th(n,m,M,p.get("icon-text-fit-padding"),f,_)));const z=(l,d)=>{d.x<0||d.x>=Da||d.y<0||d.y>=Da||function(e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,S,I,P){const A=e.addToLineVertexArray(i,r);let C,M,k,z,E=0,D=0,L=0,R=0,B=-1,F=-1;const O={};let V=pa("");if(e.allowVerticalPlacement&&n.vertical){const t=l.layout.get("text-rotate").evaluate(b,{},I)+90;k=new cu(c,i,h,u,d,n.vertical,p,f,m,t),o&&(z=new cu(c,i,h,u,d,o,g,y,m,t))}if(s){const r=l.layout.get("icon-rotate").evaluate(b,{}),n="none"!==l.layout.get("icon-text-fit"),a=nu(s,r,S,n),p=o?nu(o,r,S,n):void 0;M=new cu(c,i,h,u,d,s,g,y,!1,r),E=4*a.length;const f=e.iconSizeData;let m=null;"source"===f.kind?(m=[ih*l.layout.get("icon-size").evaluate(b,{})],m[0]>rh&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${eh}. Reduce your "icon-size".`)):"composite"===f.kind&&(m=[ih*w.compositeIconSizes[0].evaluate(b,{},I),ih*w.compositeIconSizes[1].evaluate(b,{},I)],(m[0]>rh||m[1]>rh)&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${eh}. Reduce your "icon-size".`)),e.addSymbols(e.icon,a,m,v,x,b,t.ai.none,i,A.lineStartIndex,A.lineLength,-1,I),B=e.icon.placedSymbolArray.length-1,p&&(D=4*p.length,e.addSymbols(e.icon,p,m,v,x,b,t.ai.vertical,i,A.lineStartIndex,A.lineLength,-1,I),F=e.icon.placedSymbolArray.length-1)}const N=Object.keys(n.horizontal);for(const r of N){const s=n.horizontal[r];if(!C){V=pa(s.text);const t=l.layout.get("text-rotate").evaluate(b,{},I);C=new cu(c,i,h,u,d,s,p,f,m,t)}const o=1===s.positionedLines.length;if(L+=wu(e,i,s,a,l,m,b,_,A,n.vertical?t.ai.horizontal:t.ai.horizontalOnly,o?N:[r],O,B,w,I),o)break}n.vertical&&(R+=wu(e,i,n.vertical,a,l,m,b,_,A,t.ai.vertical,["vertical"],O,F,w,I));const U=C?C.boxStartIndex:e.collisionBoxArray.length,j=C?C.boxEndIndex:e.collisionBoxArray.length,$=k?k.boxStartIndex:e.collisionBoxArray.length,q=k?k.boxEndIndex:e.collisionBoxArray.length,Z=M?M.boxStartIndex:e.collisionBoxArray.length,G=M?M.boxEndIndex:e.collisionBoxArray.length,X=z?z.boxStartIndex:e.collisionBoxArray.length,W=z?z.boxEndIndex:e.collisionBoxArray.length;let H=-1;const K=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;H=K(C,H),H=K(k,H),H=K(M,H),H=K(z,H);const J=H>-1?1:0;J&&(H*=P/rc),e.glyphOffsetArray.length>=ph.MAX_GLYPHS&&T("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);const Y=xu(l,b,I),[Q,tt]=function(e,i){const r=e.length,n=null==i?void 0:i.values;if((null==n?void 0:n.length)>0)for(let i=0;i=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,B,F,V,U,j,$,q,Z,G,X,W,h,L,R,E,D,J,0,p,H,Q,tt)}(e,d,l,r,n,s,k,e.layers[0],e.collisionBoxArray,i.index,i.sourceLayerIndex,e.index,g,[b,b,b,b],I,c,x,w,P,f,i,a,h,u,o)};if("line"===A)for(const t of Wh(i.geometry,0,0,Da,Da)){const i=eu(t,v,S,r.vertical||m,n,24,y,e.overscaling,Da);for(const r of i)m&&Su(e,m.text,C,r)||z(t,r)}else if("line-center"===A){for(const t of i.geometry)if(t.length>1){const e=tu(t,S,r.vertical||m,n,24,y);e&&z(t,e)}}else if("Polygon"===i.type)for(const t of xi(i.geometry,0)){const e=du(t,16);z(t[0],new Hh(e.x,e.y,0))}else if("LineString"===i.type)for(const t of i.geometry)z(t,new Hh(t[0].x,t[0].y,0));else if("Point"===i.type)for(const t of i.geometry)for(const e of t)z([e],new Hh(e.x,e.y,0))}function wu(t,e,i,r,n,a,o,l,c,h,u,d,p,f,m){const _=function(t,e,i,r,n,a,o,l){const c=r.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,h=[];for(const t of e.positionedLines)for(const r of t.positionedGlyphs){if(!r.rect)continue;const a=r.rect||{};let u=zc+1,d=!0,p=1,f=0;const m=(n||l)&&r.vertical,_=r.metrics.advance*r.scale/2;if(l&&e.verticalizable&&(f=t.lineOffset/2-(r.imageName?-(rc-r.metrics.width*r.scale)/2:(r.scale-1)*rc)),r.imageName){const t=o[r.imageName];d=t.sdf,p=t.pixelRatio,u=Dc/p}const g=n?[r.x+_,r.y]:[0,0];let y=n?[0,0]:[r.x+_+i[0],r.y+i[1]-f],x=[0,0];m&&(x=y,y=[0,0]);const v=r.metrics.isDoubleResolution?2:1,b=(r.metrics.left-u)*r.scale-_+y[0],w=(-r.metrics.top-u)*r.scale+y[1],T=b+a.w/v*r.scale/p,S=w+a.h/v*r.scale/p,I=new s(b,w),P=new s(T,w),A=new s(b,S),C=new s(T,S);if(m){const t=new s(-_,_-Fc),e=-Math.PI/2,i=rc/2-_,n=new s(5-Fc-i,-(r.imageName?i:0)),a=new s(...x);I._rotateAround(e,t)._add(n)._add(a),P._rotateAround(e,t)._add(n)._add(a),A._rotateAround(e,t)._add(n)._add(a),C._rotateAround(e,t)._add(n)._add(a)}if(c){const t=Math.sin(c),e=Math.cos(c),i=[e,-t,t,e];I._matMult(i),P._matMult(i),A._matMult(i),C._matMult(i)}const M=new s(0,0),k=new s(0,0);h.push({tl:I,tr:P,bl:A,br:C,tex:a,writingMode:e.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:d,pixelOffsetTL:M,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return h}(0,i,l,n,a,o,r,t.allowVerticalPlacement),g=t.textSizeData;let y=null;"source"===g.kind?(y=[ih*n.layout.get("text-size").evaluate(o,{})],y[0]>rh&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${eh}. Reduce your "text-size".`)):"composite"===g.kind&&(y=[ih*f.compositeTextSizes[0].evaluate(o,{},m),ih*f.compositeTextSizes[1].evaluate(o,{},m)],(y[0]>rh||y[1]>rh)&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${eh}. Reduce your "text-size".`)),t.addSymbols(t.text,_,y,l,a,o,h,e,c.lineStartIndex,c.lineLength,p,m);for(const e of u)d[e]=t.text.placedSymbolArray.length-1;return 4*_.length}function Tu(t){for(const e in t)return t[e];return null}function Su(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])>4;if(1!==r)throw new Error(`Got v${r} data when expected v1.`);const n=Iu[15&i];if(!n)throw new Error("Unrecognized array type.");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new Pu(a,s,n,t)}constructor(t,e=64,i=Float64Array,r){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const n=Iu.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%8)%8;if(n<0)throw new Error(`Unexpected typed array class: ${i}.`);r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+n]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=e,i}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Au(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,i,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:s,nodeSize:a}=this,o=[0,n.length-1,0],l=[];for(;o.length;){const c=o.pop()||0,h=o.pop()||0,u=o.pop()||0;if(h-u<=a){for(let a=u;a<=h;a++){const o=s[2*a],c=s[2*a+1];o>=t&&o<=i&&c>=e&&c<=r&&l.push(n[a])}continue}const d=u+h>>1,p=s[2*d],f=s[2*d+1];p>=t&&p<=i&&f>=e&&f<=r&&l.push(n[d]),(0===c?t<=p:e<=f)&&(o.push(u),o.push(d-1),o.push(1-c)),(0===c?i>=p:r>=f)&&(o.push(d+1),o.push(h),o.push(1-c))}return l}within(t,e,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:n,nodeSize:s}=this,a=[0,r.length-1,0],o=[],l=i*i;for(;a.length;){const c=a.pop()||0,h=a.pop()||0,u=a.pop()||0;if(h-u<=s){for(let i=u;i<=h;i++)zu(n[2*i],n[2*i+1],t,e)<=l&&o.push(r[i]);continue}const d=u+h>>1,p=n[2*d],f=n[2*d+1];zu(p,f,t,e)<=l&&o.push(r[d]),(0===c?t-i<=p:e-i<=f)&&(a.push(u),a.push(d-1),a.push(1-c)),(0===c?t+i>=p:e+i>=f)&&(a.push(d+1),a.push(h),a.push(1-c))}return o}}function Au(t,e,i,r,n,s){if(n-r<=i)return;const a=r+n>>1;Cu(t,e,a,r,n,s),Au(t,e,i,r,a-1,1-s),Au(t,e,i,a+1,n,1-s)}function Cu(t,e,i,r,n,s){for(;n>r;){if(n-r>600){const a=n-r+1,o=i-r+1,l=Math.log(a),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(a-c)/a)*(o-a/2<0?-1:1);Cu(t,e,i,Math.max(r,Math.floor(i-o*c/a+h)),Math.min(n,Math.floor(i+(a-o)*c/a+h)),s)}const a=e[2*i+s];let o=r,l=n;for(Mu(t,e,r,i),e[2*n+s]>a&&Mu(t,e,r,n);oa;)l--}e[2*r+s]===a?Mu(t,e,r,l):(l++,Mu(t,e,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function Mu(t,e,i,r){ku(t,i,r),ku(e,2*i,2*r),ku(e,2*i+1,2*r+1)}function ku(t,e,i){const r=t[e];t[e]=t[i],t[i]=r}function zu(t,e,i,r){const n=t-i,s=e-r;return n*n+s*s}var Eu;t.bf=void 0,(Eu=t.bf||(t.bf={})).create="create",Eu.load="load",Eu.fullLoad="fullLoad";let Du=null,Lu=[];const Ru=1e3/60,Bu="loadTime",Fu="fullLoadTime",Ou={mark(t){performance.mark(t)},frame(t){const e=t;null!=Du&&Lu.push(e-Du),Du=e},clearMetrics(){Du=null,Lu=[],performance.clearMeasures(Bu),performance.clearMeasures(Fu);for(const e in t.bf)performance.clearMarks(t.bf[e])},getPerformanceMetrics(){performance.measure(Bu,t.bf.create,t.bf.load),performance.measure(Fu,t.bf.create,t.bf.fullLoad);const e=performance.getEntriesByName(Bu)[0].duration,i=performance.getEntriesByName(Fu)[0].duration,r=Lu.length,n=1/(Lu.reduce(((t,e)=>t+e),0)/r/1e3),s=Lu.filter((t=>t>Ru)).reduce(((t,e)=>t+(e-Ru)/Ru),0);return{loadTime:e,fullLoadTime:i,fps:n,percentDroppedFrames:s/(r+s)*100,totalFrames:r}}};t.$=class extends cs{},t.A=no,t.B=_n,t.C=function(t){if(null==P){const e=t.navigator?t.navigator.userAgent:null;P=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return P},t.D=Wn,t.E=Z,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Ph((()=>this.process())),this.subscription=function(t,e,i,r){return t.addEventListener(e,i,!1),{unsubscribe:()=>{t.removeEventListener(e,i,!1)}}}(this.target,"message",(t=>this.receive(t))),this.globalScope=I(self)?t:window}registerMessageHandler(t,e){this.messageHandlers[t]=e}sendAsync(t,e){return new Promise(((i,r)=>{const n=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[n]={resolve:i,reject:r},e&&e.signal.addEventListener("abort",(()=>{delete this.resolveRejects[n];const e={id:n,type:"",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e)}),{once:!0});const s=[],a=Object.assign(Object.assign({},t),{id:n,sourceMapId:this.mapId,origin:location.origin,data:Pn(t.data,s)});this.target.postMessage(a,{transfer:s})}))}receive(t){const e=t.data,i=e.id;if(!("file://"!==e.origin&&"file://"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(""===e.type){delete this.tasks[i];const t=this.abortControllers[i];return delete this.abortControllers[i],void(t&&t.abort())}if(I(self)||e.mustQueue)return this.tasks[i]=e,this.taskQueue.push(i),void this.invoker.trigger();this.processTask(i,e)}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,i){return e(this,void 0,void 0,(function*(){if(""===i.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(i.error?e.reject(An(i.error)):e.resolve(An(i.data)))}if(!this.messageHandlers[i.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${i.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const e=An(i.data),r=new AbortController;this.abortControllers[t]=r;try{const n=yield this.messageHandlers[i.type](i.sourceMapId,e,r);this.completeTask(t,null,n)}catch(e){this.completeTask(t,e)}}))}completeTask(t,e,i){const r=[];delete this.abortControllers[t];const n={id:t,type:"",sourceMapId:this.mapId,origin:location.origin,error:e?Pn(e):null,data:Pn(i,r)};this.target.postMessage(n,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},t.G=B,t.H=function(){var t=new no(16);return no!=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.I=Lc,t.J=function(t,e,i){var r,n,s,a,o,l,c,h,u,d,p,f,m=i[0],_=i[1],g=i[2];return e===t?(t[12]=e[0]*m+e[4]*_+e[8]*g+e[12],t[13]=e[1]*m+e[5]*_+e[9]*g+e[13],t[14]=e[2]*m+e[6]*_+e[10]*g+e[14],t[15]=e[3]*m+e[7]*_+e[11]*g+e[15]):(n=e[1],s=e[2],a=e[3],o=e[4],l=e[5],c=e[6],h=e[7],u=e[8],d=e[9],p=e[10],f=e[11],t[0]=r=e[0],t[1]=n,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=c,t[7]=h,t[8]=u,t[9]=d,t[10]=p,t[11]=f,t[12]=r*m+o*_+u*g+e[12],t[13]=n*m+l*_+d*g+e[13],t[14]=s*m+c*_+p*g+e[14],t[15]=a*m+h*_+f*g+e[15]),t},t.K=function(t,e,i){var r=i[0],n=i[1],s=i[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=ao,t.M=function(t,e){const i={};for(let r=0;r{const e=window.document.createElement("video");return e.muted=!0,new Promise((i=>{e.onloadstart=()=>{i(e)};for(const i of t){const t=window.document.createElement("source");N(i)||(e.crossOrigin="Anonymous"),t.src=i,e.appendChild(t)}}))},t.a4=function(){return y++},t.a5=zs,t.a6=ph,t.a7=Cr,t.a8=Fa,t.a9=Vn,t.aA=function(t){t=t.slice();const e=Object.create(null);for(let i=0;i{"source"in t&&r[t.source]?i.push({command:"removeLayer",args:[t.id]}):s.push(t)})),i=i.concat(n),function(t,e,i){e=e||[];const r=(t=t||[]).map(it),n=e.map(it),s=t.reduce(rt,{}),a=e.reduce(rt,{}),o=r.slice(),l=Object.create(null);let c,h,u,d,p;for(let t=0,e=0;t@\,;\:\\"\/\[\]\?\=\{\}\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},t.ac=function(t,e){const i=[];for(const r in t)r in e||i.push(r);return i},t.ad=m,t.ae=function(t,e,i){var r=Math.sin(i),n=Math.cos(i),s=e[0],a=e[1],o=e[2],l=e[3],c=e[4],h=e[5],u=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*n+c*r,t[1]=a*n+h*r,t[2]=o*n+u*r,t[3]=l*n+d*r,t[4]=c*n-s*r,t[5]=h*n-a*r,t[6]=u*n-o*r,t[7]=d*n-l*r,t},t.af=function(t){var e=new no(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.ag=co,t.ah=function(t,e){let i=0,r=0;if("constant"===t.kind)r=t.layoutSize;else if("source"!==t.kind){const{interpolationType:n,minZoom:s,maxZoom:a}=t,o=n?m(ze.interpolationFactor(n,e,s,a),0,1):0;"camera"===t.kind?r=ke.number(t.minSize,t.maxSize,o):i=o}return{uSizeT:i,uSize:r}},t.aj=function(t,{uSize:e,uSizeT:i},{lowerSize:r,upperSize:n}){return"source"===t.kind?r/ih:"composite"===t.kind?ke.number(r/ih,n/ih,i):e},t.ak=ch,t.al=function(t,e,i,r){const n=e.y-t.y,a=e.x-t.x,o=r.y-i.y,l=r.x-i.x,c=o*a-l*n;if(0===c)return null;const h=(l*(t.y-i.y)-o*(t.x-i.x))/c;return new s(t.x+h*a,t.y+h*n)},t.am=Wh,t.an=Na,t.ao=so,t.ap=function(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[e,i,r,n]},t.aq=rc,t.as=sh,t.at=function(t,e){var i=e[0],r=e[1],n=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8],u=e[9],d=e[10],p=e[11],f=e[12],m=e[13],_=e[14],g=e[15],y=i*o-r*a,x=i*l-n*a,v=i*c-s*a,b=r*l-n*o,w=r*c-s*o,T=n*c-s*l,S=h*m-u*f,I=h*_-d*f,P=h*g-p*f,A=u*_-d*m,C=u*g-p*m,M=d*g-p*_,k=y*M-x*C+v*A+b*P-w*I+T*S;return k?(t[0]=(o*M-l*C+c*A)*(k=1/k),t[1]=(n*C-r*M-s*A)*k,t[2]=(m*T-_*w+g*b)*k,t[3]=(d*w-u*T-p*b)*k,t[4]=(l*P-a*M-c*I)*k,t[5]=(i*M-n*P+s*I)*k,t[6]=(_*v-f*T-g*x)*k,t[7]=(h*T-d*v+p*x)*k,t[8]=(a*C-o*P+c*S)*k,t[9]=(r*P-i*C-s*S)*k,t[10]=(f*w-m*v+g*y)*k,t[11]=(u*v-h*w-p*y)*k,t[12]=(o*I-a*A-l*S)*k,t[13]=(i*A-r*I+n*S)*k,t[14]=(m*x-f*b-_*y)*k,t[15]=(h*b-u*x+d*y)*k,t):null},t.au=vu,t.av=Kc,t.aw=Pu,t.ax=function(){const t={},e=G.$version;for(const i in G.$root){const r=G.$root[i];if(r.required){let n=null;n="version"===i?e:"array"===r.type?[]:{},null!=n&&(t[i]=n)}}return t},t.ay=Cn,t.az=O,t.b=A,t.b0=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.b1=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.b2=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.b3=_,t.b4=Oh,t.b5=Dh,t.b6=function(t,e,i,r,n){var s,a=1/Math.tan(e/2);return t[0]=a/i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=n&&n!==1/0?(t[10]=(n+r)*(s=1/(r-n)),t[14]=2*n*r*s):(t[10]=-1,t[14]=-2*r),t},t.b7=function(t,e,i){var r=Math.sin(i),n=Math.cos(i),s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],h=e[9],u=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*n+c*r,t[5]=a*n+h*r,t[6]=o*n+u*r,t[7]=l*n+d*r,t[8]=c*n-s*r,t[9]=h*n-a*r,t[10]=u*n-o*r,t[11]=d*n-l*r,t},t.b8=p,t.b9=f,t.bA=function(t){return t.message===E},t.bB=vr,t.bC=On,t.ba=function(t){return t*Math.PI/180},t.bb=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bc=class extends ls{},t.bd=Ah,t.be=Ou,t.bg=F,t.bh=function(t,e){L.REGISTERED_PROTOCOLS[t]=e},t.bi=function(t){delete L.REGISTERED_PROTOCOLS[t]},t.bj=function(t,e){const i={};for(let r=0;rt*rc))}let x=o?"center":r.get("text-justify").evaluate(n,{},e.canonical);const v="point"===r.get("symbol-placement")?r.get("text-max-width").evaluate(n,{},e.canonical)*rc:1/0,b=()=>{e.bucket.allowVerticalPlacement&&kn(s)&&(f.vertical=Nc(m,e.glyphMap,e.glyphPositions,e.imagePositions,h,v,a,_,"left",p,g,t.ai.vertical,!0,d,u))};if(!o&&y){const i=new Set;if("auto"===x)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:"image/png"});try{return createImageBitmap(e)}catch(t){throw 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=g,t.f=t=>new Promise(((e,i)=>{const r=new Image;r.onload=()=>{e(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>{r.src=C}))},r.onerror=()=>i(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):C})),t.g=R,t.h=(t,e)=>V(g(t,{type:"json"}),e),t.i=I,t.j=q,t.k=$,t.l=(t,e)=>V(g(t,{type:"arrayBuffer"}),e),t.m=V,t.n=function(t){return new Pc(t).readFields(Cc,[])},t.o=xo,t.p=Ec,t.q=Qn,t.r=mn,t.s=N,t.t=xn,t.u=Mn,t.v=G,t.w=T,t.x=fn,t.y=function([t,e,i]){return e+=90,e*=Math.PI/180,i*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(i),y:t*Math.sin(e)*Math.sin(i),z:t*Math.cos(i)}},t.z=ke})),i("worker",["./shared"],(function(t){class e{constructor(t){this.keyCache={},t&&this.replace(t)}replace(t){this._layerConfigs={},this._layers={},this.update(t,[])}update(e,i){for(const i of e){this._layerConfigs[i.id]=i;const e=this._layers[i.id]=t.aB(i);e._featureFilter=t.a7(e.filter),this.keyCache[i.id]&&delete this.keyCache[i.id]}for(const t of i)delete this.keyCache[t],delete this._layerConfigs[t],delete this._layers[t];this.familiesBySource={};const r=t.bj(Object.values(this._layerConfigs),this.keyCache);for(const t of r){const e=t.map((t=>this._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 a=n[s];a||(a=n[s]=[]),a.push(e)}}}class i{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.p(r),a=new t.o({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 o=i[r][e].rect;t.o.copy(s.bitmap,a,{x:0,y:0},{x:o.x+1,y:o.y+1},s.bitmap)}}this.image=a,this.positions=i}}t.bk("GlyphAtlas",i);class r{constructor(e){this.tileID=new t.S(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,this.inFlightDependencies=[]}parse(e,r,s,a){return t._(this,void 0,void 0,(function*(){this.status="parsing",this.data=e,this.collisionBoxArray=new t.a5;const o=new t.bl(Object.keys(e.layers).sort()),l=new t.bm(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},h={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:s},u=r.familiesBySource[this.source];for(const i in u){const r=e.layers[i];if(!r)continue;1===r.version&&t.w(`Vector tile source "${this.source}" layer "${i}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const a=o.encode(i),d=[];for(let t=0;t=i.maxzoom||"none"!==i.visibility&&(n(e,this.zoom,s),(c[i.id]=i.createBucket({index:l.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:a,sourceID:this.source})).populate(d,h,this.tileID.canonical),l.bucketLayerIDs.push(e.map((t=>t.id))))}}const d=t.aG(h.glyphDependencies,(t=>Object.keys(t).map(Number)));this.inFlightDependencies.forEach((t=>null==t?void 0:t.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(d).length){const t=new AbortController;this.inFlightDependencies.push(t),p=a.sendAsync({type:"GG",data:{stacks:d,source:this.source,tileID:this.tileID,type:"glyphs"}},t)}const f=Object.keys(h.iconDependencies);let m=Promise.resolve({});if(f.length){const t=new AbortController;this.inFlightDependencies.push(t),m=a.sendAsync({type:"GI",data:{icons:f,source:this.source,tileID:this.tileID,type:"icons"}},t)}const _=Object.keys(h.patternDependencies);let g=Promise.resolve({});if(_.length){const t=new AbortController;this.inFlightDependencies.push(t),g=a.sendAsync({type:"GI",data:{icons:_,source:this.source,tileID:this.tileID,type:"patterns"}},t)}const[y,x,v]=yield Promise.all([p,m,g]),b=new i(y),w=new t.bn(x,v);for(const e in c){const i=c[e];i instanceof t.a6?(n(i.layers,this.zoom,s),t.bo({bucket:i,glyphMap:y,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):i.hasPattern&&(i instanceof t.bp||i instanceof t.bq||i instanceof t.br)&&(n(i.layers,this.zoom,s),i.addFeatures(h,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter((t=>!t.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?y:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function n(e,i,r){const n=new t.a9(i);for(const t of e)t.recalculate(n,r)}class s{constructor(t,e,i){this.actor=t,this.layerIndex=e,this.availableImages=i,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(e,i){return t._(this,void 0,void 0,(function*(){const r=yield t.l(e.request,i);try{return{vectorTile:new t.bs.VectorTile(new t.bt(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires}}catch(t){const i=new Uint8Array(r.data);let n=`Unable to parse the tile at ${e.request.url}, `;throw n+=31===i[0]&&139===i[1]?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${t.message}`,new Error(n)}}))}loadTile(e){return t._(this,void 0,void 0,(function*(){const i=e.uid,n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.bu(e.request),s=new r(e);this.loading[i]=s;const a=new AbortController;s.abort=a;try{const r=yield this.loadVectorTile(e,a);if(delete this.loading[i],!r)return null;const o=r.rawData,l={};r.expires&&(l.expires=r.expires),r.cacheControl&&(l.cacheControl=r.cacheControl);const c={};if(n){const t=n.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}s.vectorTile=r.vectorTile;const h=s.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[i]=s,this.fetching[i]={rawTileData:o,cacheControl:l,resourceTiming:c};try{const e=yield h;return t.e({rawTileData:o.slice(0)},e,l,c)}finally{delete this.fetching[i]}}catch(t){throw delete this.loading[i],s.status="done",this.loaded[i]=s,t}}))}reloadTile(e){return t._(this,void 0,void 0,(function*(){const i=e.uid;if(!this.loaded||!this.loaded[i])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const r=this.loaded[i];if(r.showCollisionBoxes=e.showCollisionBoxes,"parsing"===r.status){const e=yield r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor);let n;if(this.fetching[i]){const{rawTileData:r,cacheControl:s,resourceTiming:a}=this.fetching[i];delete this.fetching[i],n=t.e({rawTileData:r.slice(0)},e,s,a)}else n=e;return n}if("done"===r.status&&r.vectorTile)return r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){const t=this.loading,i=e.uid;t&&t[i]&&t[i].abort&&(t[i].abort.abort(),delete t[i])}))}removeTile(e){return t._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[e.uid]&&delete this.loaded[e.uid]}))}}class a{constructor(){this.loaded={}}loadTile(e){return t._(this,void 0,void 0,(function*(){const{uid:i,encoding:r,rawImageData:n,redFactor:s,greenFactor:a,blueFactor:o,baseShift:l}=e,c=n.width+2,h=n.height+2,u=t.b(n)?new t.R({width:c,height:h},yield t.bv(n,-1,-1,c,h)):n,d=new t.bw(i,u,r,s,a,o,l);return this.loaded=this.loaded||{},this.loaded[i]=d,d}))}removeTile(t){const e=this.loaded,i=t.uid;e&&e[i]&&delete e[i]}}function o(t,e){if(0!==t.length){l(t[0],e);for(var i=1;i=Math.abs(o)?i-l+o:o-l+i,i=l}i+r>=0!=!!e&&t.reverse()}var c=t.bx((function t(e,i){var r,n=e&&e.type;if("FeatureCollection"===n)for(r=0;r>31}function I(t,e){for(var i=t.loadGeometry(),r=t.type,n=0,s=0,a=i.length,o=0;ot},M=Math.fround||(k=new Float32Array(1),t=>(k[0]=+t,k[0]));var k;const z=3,E=5,D=6;class L{constructor(t){this.options=Object.assign(Object.create(C),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:e,minZoom:i,maxZoom:r}=this.options;e&&console.time("total time");const n=`prepare ${t.length} points`;e&&console.time(n),this.points=t;const s=[];for(let e=0;e=i;t--){const i=+Date.now();a=this.trees[t]=this._createTree(this._cluster(a,t)),e&&console.log("z%d: %d clusters in %dms",t,a.numItems,+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),a=this.getClusters([-180,r,n,s],e);return t.concat(a)}const a=this.trees[this._limitZoom(e)],o=a.range(F(i),O(s),F(n),O(r)),l=a.data,c=[];for(const t of o){const e=this.stride*t;c.push(l[e+E]>1?R(l,e,this.clusterProps):this.points[l[e+z]])}return c}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.data;if(e*this.stride>=s.length)throw new Error(r);const a=this.options.radius/(this.options.extent*Math.pow(2,i-1)),o=n.within(s[e*this.stride],s[e*this.stride+1],a),l=[];for(const e of o){const i=e*this.stride;s[i+4]===t&&l.push(s[i+E]>1?R(s,i,this.clusterProps):this.points[s[i+z]])}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:a}=this.options,o=a/s,l=(i-o)/n,c=(i+1+o)/n,h={features:[]};return this._addTileFeatures(r.range((e-o)/n,l,(e+1+o)/n,c),r.data,e,i,n,h),0===e&&this._addTileFeatures(r.range(1-o/n,l,1,c),r.data,n,i,n,h),e===n-1&&this._addTileFeatures(r.range(0,l,o/n,c),r.data,-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):n1;let l,c,h;if(o)l=B(e,t,this.clusterProps),c=e[t],h=e[t+1];else{const i=this.points[e[t+z]];l=i.properties;const[r,n]=i.geometry.coordinates;c=F(r),h=O(n)}const u={type:1,geometry:[[Math.round(this.options.extent*(c*n-i)),Math.round(this.options.extent*(h*n-r))]],tags:l};let d;d=o||this.options.generateId?e[t+z]:this.points[e[t+z]].id,void 0!==d&&(u.id=d),s.features.push(u)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const{radius:i,extent:r,reduce:n,minPoints:s}=this.options,a=i/(r*Math.pow(2,e)),o=t.data,l=[],c=this.stride;for(let i=0;ie&&(p+=o[i+E])}if(p>d&&p>=s){let t,s=r*d,a=h*d,f=-1;const m=((i/c|0)<<5)+(e+1)+this.points.length;for(const r of u){const l=r*c;if(o[l+2]<=e)continue;o[l+2]=e;const h=o[l+E];s+=o[l]*h,a+=o[l+1]*h,o[l+4]=m,n&&(t||(t=this._map(o,i,!0),f=this.clusterProps.length,this.clusterProps.push(t)),n(t,this._map(o,l)))}o[i+4]=m,l.push(s/p,a/p,1/0,m,-1,p),n&&l.push(f)}else{for(let t=0;t1)for(const t of u){const i=t*c;if(!(o[i+2]<=e)){o[i+2]=e;for(let t=0;t>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,i){if(t[e+E]>1){const r=this.clusterProps[t[e+D]];return i?Object.assign({},r):r}const r=this.points[t[e+z]].properties,n=this.options.map(r);return i&&n===r?Object.assign({},n):n}}function R(t,e,i){return{type:"Feature",id:t[e+z],properties:B(t,e,i),geometry:{type:"Point",coordinates:[(r=t[e],360*(r-.5)),V(t[e+1])]}};var r}function B(t,e,i){const r=t[e+E],n=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+"k":r,s=t[e+D],a=-1===s?{}:Object.assign({},i[s]);return Object.assign(a,{cluster:!0,cluster_id:t[e+z],point_count:r,point_count_abbreviated:n})}function F(t){return t/360+.5}function O(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 V(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function N(t,e,i,r){let n=r;const s=e+(i-e>>1);let a,o=i-e;const l=t[e],c=t[e+1],h=t[i],u=t[i+1];for(let r=e+3;rn)a=r,n=e;else if(e===n){const t=Math.abs(r-s);tr&&(a-e>3&&N(t,e,a,r),t[a+2]=n,i-a>3&&N(t,a,i,r))}function U(t,e,i,r,n,s){let a=n-i,o=s-r;if(0!==a||0!==o){const l=((t-i)*a+(e-r)*o)/(a*a+o*o);l>1?(i=n,r=s):l>0&&(i+=a*l,r+=o*l)}return a=t-i,o=e-r,a*a+o*o}function j(t,e,i,r){const n={id:null==t?null:t,type:e,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===e||"MultiPoint"===e||"LineString"===e)$(n,i);else if("Polygon"===e)$(n,i[0]);else if("MultiLineString"===e)for(const t of i)$(n,t);else if("MultiPolygon"===e)for(const t of i)$(n,t[0]);return n}function $(t,e){for(let i=0;i0&&(a+=r?(n*l-o*s)/2:Math.sqrt(Math.pow(o-n,2)+Math.pow(l-s,2))),n=o,s=l}const o=e.length-3;e[2]=1,N(e,0,o,i),e[o+2]=1,e.size=Math.abs(a),e.start=0,e.end=e.size}function X(t,e,i,r){for(let n=0;n1?1:i}function K(t,e,i,r,n,s,a,o){if(r/=e,s>=(i/=e)&&a=r)return null;const l=[];for(const e of t){const t=e.geometry;let s=e.type;const a=0===n?e.minX:e.minY,c=0===n?e.maxX:e.maxY;if(a>=i&&c=r)continue;let h=[];if("Point"===s||"MultiPoint"===s)J(t,h,i,r,n);else if("LineString"===s)Y(t,h,i,r,n,!1,o.lineMetrics);else if("MultiLineString"===s)tt(t,h,i,r,n,!1);else if("Polygon"===s)tt(t,h,i,r,n,!0);else if("MultiPolygon"===s)for(const e of t){const t=[];tt(e,t,i,r,n,!0),t.length&&h.push(t)}if(h.length){if(o.lineMetrics&&"LineString"===s){for(const t of h)l.push(j(e.id,s,t,e.tags));continue}"LineString"!==s&&"MultiLineString"!==s||(1===h.length?(s="LineString",h=h[0]):s="MultiLineString"),"Point"!==s&&"MultiPoint"!==s||(s=3===h.length?"Point":"MultiPoint"),l.push(j(e.id,s,h,e.tags))}}return l.length?l:null}function J(t,e,i,r,n){for(let s=0;s=i&&a<=r&&et(e,t[s],t[s+1],t[s+2])}}function Y(t,e,i,r,n,s,a){let o=Q(t);const l=0===n?it:rt;let c,h,u=t.start;for(let d=0;di&&(h=l(o,p,f,_,g,i),a&&(o.start=u+c*h)):y>r?x=i&&(h=l(o,p,f,_,g,i),v=!0),x>r&&y<=r&&(h=l(o,p,f,_,g,r),v=!0),!s&&v&&(a&&(o.end=u+c*h),e.push(o),o=Q(t)),a&&(u+=c)}let d=t.length-3;const p=t[d],f=t[d+1],m=0===n?p:f;m>=i&&m<=r&&et(o,p,f,t[d+2]),d=o.length-3,s&&d>=3&&(o[d]!==o[0]||o[d+1]!==o[1])&&et(o,o[0],o[1],o[2]),o.length&&e.push(o)}function Q(t){const e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function tt(t,e,i,r,n,s){for(const a of t)Y(a,e,i,r,n,s,!1)}function et(t,e,i,r){t.push(e,i,r)}function it(t,e,i,r,n,s){const a=(s-e)/(r-e);return et(t,s,i+(n-i)*a,1),a}function rt(t,e,i,r,n,s){const a=(s-i)/(n-i);return et(t,e+(r-e)*a,s,1),a}function nt(t,e){const i=[];for(let r=0;r0&&e.size<(n?a:r))return void(i.numPoints+=e.length/3);const o=[];for(let t=0;ta)&&(i.numSimplified++,o.push(e[t],e[t+1])),i.numPoints++;n&&function(t,e){let i=0;for(let e=0,r=t.length,n=r-2;e0===e)for(let e=0,i=t.length;e24)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.");let r=function(t,e){const i=[];if("FeatureCollection"===t.type)for(let r=0;r1&&console.time("creation"),d=this.tiles[u]=lt(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,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd("creation"));const t=`z${e}`;this.stats[t]=(this.stats[t]||0)+1,this.total++}if(d.source=t,null==n){if(e===l.indexMaxZoom||d.numPoints<=l.indexMaxPoints)continue}else{if(e===l.maxZoom||e===n)continue;if(null!=n){const t=n-e;if(i!==s>>t||r!==a>>t)continue}}if(d.source=null,0===t.length)continue;c>1&&console.time("clipping");const p=.5*l.buffer/l.extent,f=.5-p,m=.5+p,_=1+p;let g=null,y=null,x=null,v=null,b=K(t,h,i-p,i+m,0,d.minX,d.maxX,l),w=K(t,h,i+f,i+_,0,d.minX,d.maxX,l);t=null,b&&(g=K(b,h,r-p,r+m,1,d.minY,d.maxY,l),y=K(b,h,r+f,r+_,1,d.minY,d.maxY,l),b=null),w&&(x=K(w,h,r-p,r+m,1,d.minY,d.maxY,l),v=K(w,h,r+f,r+_,1,d.minY,d.maxY,l),w=null),c>1&&console.timeEnd("clipping"),o.push(g||[],e+1,2*i,2*r),o.push(y||[],e+1,2*i,2*r+1),o.push(x||[],e+1,2*i+1,2*r),o.push(v||[],e+1,2*i+1,2*r+1)}}getTile(t,e,i){t=+t,e=+e,i=+i;const r=this.options,{extent:n,debug:s}=r;if(t<0||t>24)return null;const a=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);let l,c=t,h=e,u=i;for(;!l&&c>0;)c--,h>>=1,u>>=1,l=this.tiles[pt(c,h,u)];return l&&l.source?(s>1&&(console.log("found parent tile z%d-%d-%d",c,h,u),console.time("drilling down")),this.splitTile(l.source,c,h,u,t,e,i),s>1&&console.timeEnd("drilling down"),this.tiles[o]?at(this.tiles[o],n):null):null}}function pt(t,e,i){return 32*((1<{a.properties=t;const e={};for(const t of o)e[t]=r[t].evaluate(s,a);return e},e.reduce=(t,e)=>{a.properties=e;for(const e of o)s.accumulated=t[e],t[e]=n[e].evaluate(s,a)},e}(e)).load((yield this._pendingData).features):(n=yield this._pendingData,new dt(n,e.geojsonVtOptions)),this.loaded={};const i={};if(r){const t=r.finish();t&&(i.resourceTiming={},i.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}return i}catch(e){if(delete this._pendingRequest,t.bA(e))return{abandoned:!0};throw e}var n}))}getData(){return t._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(t){const e=this.loaded;return e&&e[t.uid]?super.reloadTile(t):this.loadTile(t)}loadAndProcessGeoJSON(e,i){return t._(this,void 0,void 0,(function*(){let r=yield this.loadGeoJSON(e,i);if(delete this._pendingRequest,"object"!=typeof r)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(c(r,!0),e.filter){const i=t.bB(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 n=r.features.filter((t=>i.value.evaluate({zoom:0},t)));r={type:"FeatureCollection",features:n}}return r}))}loadGeoJSON(e,i){return t._(this,void 0,void 0,(function*(){const{promoteId:r}=e;if(e.request){const n=yield t.h(e.request,i);return this._dataUpdateable=mt(n.data,r)?_t(n.data,r):void 0,n.data}if("string"==typeof e.data)try{const t=JSON.parse(e.data);return this._dataUpdateable=mt(t,r)?_t(t,r):void 0,t}catch(t){throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}if(!e.dataDiff)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${e.source}`);return function(t,e,i){var r,n,s,a;if(e.removeAll&&t.clear(),e.remove)for(const i of e.remove)t.delete(i);if(e.add)for(const r of e.add){const e=ft(r,i);null!=e&&t.set(e,r)}if(e.update)for(const i of e.update){let e=t.get(i.id);if(null==e)continue;const o=!i.removeAllProperties&&((null===(r=i.removeProperties)||void 0===r?void 0:r.length)>0||(null===(n=i.addOrUpdateProperties)||void 0===n?void 0:n.length)>0);if((i.newGeometry||i.removeAllProperties||o)&&(e=Object.assign({},e),t.set(i.id,e),o&&(e.properties=Object.assign({},e.properties))),i.newGeometry&&(e.geometry=i.newGeometry),i.removeAllProperties)e.properties={};else if((null===(s=i.removeProperties)||void 0===s?void 0:s.length)>0)for(const t of i.removeProperties)Object.prototype.hasOwnProperty.call(e.properties,t)&&delete e.properties[t];if((null===(a=i.addOrUpdateProperties)||void 0===a?void 0:a.length)>0)for(const{key:t,value:r}of i.addOrUpdateProperties)e.properties[t]=r}}(this._dataUpdateable,e.dataDiff,r),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(e){return t._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(t){return this._geoJSONIndex.getClusterExpansionZoom(t.clusterId)}getClusterChildren(t){return this._geoJSONIndex.getChildren(t.clusterId)}getClusterLeaves(t){return this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset)}}class yt{constructor(e){this.self=e,this.actor=new t.F(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(t,e)=>{if(this.externalWorkerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.externalWorkerSourceTypes[t]=e},this.self.addProtocol=t.bh,this.self.removeProtocol=t.bi,this.self.registerRTLTextPlugin=e=>{if(t.bC.isParsed())throw new Error("RTL text plugin already registered.");t.bC.setMethods(e)},this.actor.registerMessageHandler("LDT",((t,e)=>this._getDEMWorkerSource(t,e.source).loadTile(e))),this.actor.registerMessageHandler("RDT",((e,i)=>t._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(e,i.source).removeTile(i)})))),this.actor.registerMessageHandler("GCEZ",((e,i)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,i.type,i.source).getClusterExpansionZoom(i)})))),this.actor.registerMessageHandler("GCC",((e,i)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,i.type,i.source).getClusterChildren(i)})))),this.actor.registerMessageHandler("GCL",((e,i)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,i.type,i.source).getClusterLeaves(i)})))),this.actor.registerMessageHandler("LD",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadData(e))),this.actor.registerMessageHandler("GD",((t,e)=>this._getWorkerSource(t,e.type,e.source).getData())),this.actor.registerMessageHandler("LT",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadTile(e))),this.actor.registerMessageHandler("RT",((t,e)=>this._getWorkerSource(t,e.type,e.source).reloadTile(e))),this.actor.registerMessageHandler("AT",((t,e)=>this._getWorkerSource(t,e.type,e.source).abortTile(e))),this.actor.registerMessageHandler("RMT",((t,e)=>this._getWorkerSource(t,e.type,e.source).removeTile(e))),this.actor.registerMessageHandler("RS",((e,i)=>t._(this,void 0,void 0,(function*(){if(!this.workerSources[e]||!this.workerSources[e][i.type]||!this.workerSources[e][i.type][i.source])return;const t=this.workerSources[e][i.type][i.source];delete this.workerSources[e][i.type][i.source],void 0!==t.removeSource&&t.removeSource(i)})))),this.actor.registerMessageHandler("RM",(e=>t._(this,void 0,void 0,(function*(){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e]})))),this.actor.registerMessageHandler("SR",((e,i)=>t._(this,void 0,void 0,(function*(){this.referrer=i})))),this.actor.registerMessageHandler("SRPS",((t,e)=>this._syncRTLPluginState(t,e))),this.actor.registerMessageHandler("IS",((e,i)=>t._(this,void 0,void 0,(function*(){this.self.importScripts(i)})))),this.actor.registerMessageHandler("SI",((t,e)=>this._setImages(t,e))),this.actor.registerMessageHandler("UL",((e,i)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).update(i.layers,i.removedIds)})))),this.actor.registerMessageHandler("SL",((e,i)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).replace(i)}))))}_setImages(e,i){return t._(this,void 0,void 0,(function*(){this.availableImages[e]=i;for(const t in this.workerSources[e]){const r=this.workerSources[e][t];for(const t in r)r[t].availableImages=i}}))}_syncRTLPluginState(e,i){return t._(this,void 0,void 0,(function*(){if(t.bC.isParsed())return t.bC.getState();if("loading"!==i.pluginStatus)return t.bC.setState(i),i;const e=i.pluginURL;if(this.self.importScripts(e),t.bC.isParsed()){const i={pluginStatus:"loaded",pluginURL:e};return t.bC.setState(i),i}throw t.bC.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${e}`)}))}_getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}_getLayerIndex(t){let i=this.layerIndexes[t];return i||(i=this.layerIndexes[t]=new e),i}_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={sendAsync:(e,i)=>(e.targetMapId=t,this.actor.sendAsync(e,i))};switch(e){case"vector":this.workerSources[t][e][i]=new s(r,this._getLayerIndex(t),this._getAvailableImages(t));break;case"geojson":this.workerSources[t][e][i]=new gt(r,this._getLayerIndex(t),this._getAvailableImages(t));break;default:this.workerSources[t][e][i]=new this.externalWorkerSourceTypes[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 a),this.demWorkerSources[t][e]}}return t.i(self)&&(self.worker=new yt(self)),yt})),i("index",["exports","./shared"],(function(t,e){var i="4.5.0";let r,n;const s={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:t=>new Promise(((i,r)=>{const n=requestAnimationFrame(i);t.signal.addEventListener("abort",(()=>{cancelAnimationFrame(n),r(e.c())}))})),getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement("canvas"),i=e.getContext("2d",{willReadFrequently:!0});if(!i)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,i.drawImage(t,0,0,t.width,t.height),i},resolveURL:t=>(r||(r=document.createElement("a")),r.href=t,r.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==n&&(n=matchMedia("(prefers-reduced-motion: reduce)")),n.matches)}};class a{static testProp(t){if(!a.docStyle)return t[0];for(let e=0;e{window.removeEventListener("click",a.suppressClickInternal,!0)}),0)}static getScale(t){const e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,i,r){const n=i.boundingClientRect;return new e.P((r.clientX-n.left)/i.x-t.clientLeft,(r.clientY-n.top)/i.y-t.clientTop)}static mousePos(t,e){const i=a.getScale(t);return a.getPoint(t,i,e)}static touchPos(t,e){const i=[],r=a.getScale(t);for(let n=0;n{l&&d(l),l=null,u=!0},c.onerror=()=>{h=!0,l=null},c.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(t){let i,r,n,s;t.resetRequestQueue=()=>{i=[],r=0,n=0,s={}},t.addThrottleControl=t=>{const e=n++;return s[e]=t,e},t.removeThrottleControl=t=>{delete s[t],l()},t.getImage=(t,r,n=!0)=>new Promise(((s,a)=>{o.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),e.e(t,{type:"image"}),i.push({abortController:r,requestParameters:t,supportImageRefresh:n,state:"queued",onError:t=>{a(t)},onSuccess:t=>{s(t)}}),l()}));const a=t=>e._(this,void 0,void 0,(function*(){t.state="running";const{requestParameters:i,supportImageRefresh:n,onError:s,onSuccess:a,abortController:o}=t,h=!1===n&&!e.i(self)&&!e.g(i.url)&&(!i.headers||Object.keys(i.headers).reduce(((t,e)=>t&&"accept"===e),!0));r++;const u=h?c(i,o):e.m(i,o);try{const i=yield u;delete t.abortController,t.state="completed",i.data instanceof HTMLImageElement||e.b(i.data)?a(i):i.data&&a({data:yield(d=i.data,"function"==typeof createImageBitmap?e.d(d):e.f(d)),cacheControl:i.cacheControl,expires:i.expires})}catch(e){delete t.abortController,s(e)}finally{r--,l()}var d})),l=()=>{const t=(()=>{for(const t of Object.keys(s))if(s[t]())return!0;return!1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=r;e0;e++){const t=i.shift();t.abortController.signal.aborted?e--:a(t)}},c=(t,i)=>new Promise(((r,n)=>{const s=new Image,a=t.url,o=t.credentials;o&&"include"===o?s.crossOrigin="use-credentials":(o&&"same-origin"===o||!e.s(a))&&(s.crossOrigin="anonymous"),i.signal.addEventListener("abort",(()=>{s.src="",n(e.c())})),s.fetchPriority="high",s.onload=()=>{s.onerror=s.onload=null,r({data:s})},s.onerror=()=>{s.onerror=s.onload=null,i.signal.aborted||n(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."))},s.src=a}))}(p||(p={})),p.resetRequestQueue();class f{constructor(t){this._transformRequestFn=t}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t}}function m(t){var i=new e.A(3);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i}var _,g=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t};_=new e.A(3),e.A!=Float32Array&&(_[0]=0,_[1]=0,_[2]=0);var y=function(t){var e=t[0],i=t[1];return e*e+i*i};function x(t){const e=[];if("string"==typeof t)e.push({id:"default",url:t});else if(t&&t.length>0){const i=[];for(const{id:r,url:n}of t){const t=`${r}${n}`;-1===i.indexOf(t)&&(i.push(t),e.push({id:r,url:n}))}}return e}function v(t,e,i){const r=t.split("?");return r[0]+=`${e}${i}`,r.join("?")}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0)}();class b{constructor(t,e,i,r){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,r)}update(t,i,r){const{width:n,height:s}=t,a=!(this.size&&this.size[0]===n&&this.size[1]===s||r),{context:o}=this,{gl:l}=o;if(this.useMipmap=Boolean(i&&i.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!i||!1!==i.premultiply)),a)this.size=[n,s],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,n,s,0,this.format,l.UNSIGNED_BYTE,t.data);else{const{x:i,y:a}=r||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,i,a,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,i,a,n,s,l.RGBA,l.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(t,e,i){const{context:r}=this,{gl:n}=r;n.bindTexture(n.TEXTURE_2D,this.texture),i!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null}}function w(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class T extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[]}}getImage(t){const i=this.images[t];if(i&&!i.data&&i.spriteData){const t=i.spriteData;i.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),i.spriteData=null}return i}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e)}_validate(t,i){let r=!0;const n=i.data||i.spriteData;return this._validateStretch(i.stretchX,n&&n.width)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchX" value`))),r=!1),this._validateStretch(i.stretchY,n&&n.height)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchY" value`))),r=!1),this._validateContent(i.content,i)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "content" value`))),r=!1),r}_validateStretch(t,e){if(!t)return!0;let i=0;for(const r of t){if(r[0]{let r=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(r=!1);this.isLoaded()||r?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e})}))}_getImagesForIds(t){const i={};for(const r of t){let t=this.getImage(r);t||(this.fire(new e.k("styleimagemissing",{id:r})),t=this.getImage(r)),t?i[r]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image "${r}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return i}getPixelSize(){const{width:t,height:e}=this.atlasImage;return{width:t,height:e}}getPattern(t){const i=this.patterns[t],r=this.getImage(t);if(!r)return null;if(i&&i.position.version===r.version)return i.position;if(i)i.position.version=r.version;else{const i={w:r.data.width+2,h:r.data.height+2,x:0,y:0},n=new e.I(i,r);this.patterns[t]={bin:i,position:n}}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new b(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:i,h:r}=e.p(t),n=this.atlasImage;n.resize({width:i||1,height:r||1});for(const t in this.patterns){const{bin:i}=this.patterns[t],r=i.x+1,s=i.y+1,a=this.getImage(t).data,o=a.width,l=a.height;e.R.copy(a,n,{x:0,y:0},{x:r,y:s},{width:o,height:l}),e.R.copy(a,n,{x:0,y:l-1},{x:r,y:s-1},{width:o,height:1}),e.R.copy(a,n,{x:0,y:0},{x:r,y:s+l},{width:o,height:1}),e.R.copy(a,n,{x:o-1,y:0},{x:r-1,y:s},{width:1,height:l}),e.R.copy(a,n,{x:0,y:0},{x:r+o,y:s},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(t){for(const i of t){if(this.callbackDispatchedThisFrame[i])continue;this.callbackDispatchedThisFrame[i]=!0;const t=this.getImage(i);t||e.w(`Image with ID: "${i}" was not found`),w(t)&&this.updateImage(i,t)}}}const S=1e20;function I(t,e,i,r,n,s,a,o,l){for(let c=e;c-1);l++,s[l]=o,a[l]=c,a[l+1]=S}for(let o=0,l=0;o65535)throw new Error("glyphs > 65535 not supported");if(e.ranges[n])return{stack:t,id:i,glyph:r};if(!this.url)throw new Error("glyphsUrl is not set");if(!e.requests[n]){const i=A.loadGlyphRange(t,n,this.url,this.requestManager);e.requests[n]=i}const s=yield e.requests[n];for(const t in s)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=s[+t]);return e.ranges[n]=!0,{stack:t,id:i,glyph:s[i]||null}}))}_doesCharSupportLocalGlyph(t){return!!this.localIdeographFontFamily&&(e.u["CJK Unified Ideographs"](t)||e.u["Hangul Syllables"](t)||e.u.Hiragana(t)||e.u.Katakana(t))}_tinySDF(t,i,r){const n=this.localIdeographFontFamily;if(!n)return;if(!this._doesCharSupportLocalGlyph(r))return;let s=t.tinySDF;if(!s){let e="400";/bold/i.test(i)?e="900":/medium/i.test(i)?e="500":/light/i.test(i)&&(e="200"),s=t.tinySDF=new A.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:n,fontWeight:e})}const a=s.draw(String.fromCharCode(r));return{id:r,bitmap:new e.o({width:a.width||60,height:a.height||60},a.data),metrics:{width:a.glyphWidth/2||24,height:a.glyphHeight/2||24,left:a.glyphLeft/2+.5||0,top:a.glyphTop/2-27.5||-8,advance:a.glyphAdvance/2||24,isDoubleResolution:!0}}}}A.loadGlyphRange=function(t,i,r,n){return e._(this,void 0,void 0,(function*(){const s=256*i,a=s+255,o=n.transformRequest(r.replace("{fontstack}",t).replace("{range}",`${s}-${a}`),"Glyphs"),l=yield e.l(o,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${i}, ${s}-${a}`);const c={};for(const t of e.n(l.data))c[t.id]=t;return c}))},A.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:s="normal",fontStyle:a="normal"}={}){this.buffer=e,this.cutoff=r,this.radius=i;const o=this.size=t+4*e,l=this._createCanvas(o),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${a} ${s} ${t}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Uint16Array(o)}_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),a=Math.ceil(i),o=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(s-n))),l=Math.min(this.size-this.buffer,a+Math.ceil(r)),c=o+2*this.buffer,h=l+2*this.buffer,u=Math.max(c*h,0),d=new Uint8ClampedArray(u),p={data:d,width:c,height:h,glyphWidth:o,glyphHeight:l,glyphTop:a,glyphLeft:0,glyphAdvance:e};if(0===o||0===l)return p;const{ctx:f,buffer:m,gridInner:_,gridOuter:g}=this;f.clearRect(m,m,o,l),f.fillText(t,m,m+a);const y=f.getImageData(m,m,o,l);g.fill(S,0,u),_.fill(0,0,u);for(let t=0;t0?t*t:0,_[r]=t<0?t*t:0}}I(g,0,0,c,h,c,this.f,this.v,this.z),I(_,m,m,o,l,c,this.f,this.v,this.z);for(let t=0;t1&&(a=t[++s]);const l=Math.abs(o-a.left),c=Math.abs(o-a.right),h=Math.min(l,c);let u;const d=e/i*(r+1);if(a.isDash){const t=r-Math.abs(d);u=Math.sqrt(h*h+t*t)}else u=r-Math.sqrt(h*h+d*d);this.data[n+o]=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),a=Math.abs(e-s.right),o=Math.min(i,a);this.data[r+e]=Math.max(0,Math.min(255,(s.isDash?o:-o)+128))}}addDash(t,i){const r=i?7:0,n=2*r+1;if(this.nextRow+n>this.height)return e.w("LineAtlas out of space"),null;let s=0;for(let e=0;e{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[L]}numActive(){return Object.keys(this.active).length}}const B=Math.floor(s.hardwareConcurrency/2);let F,O;function V(){return F||(F=new R),F}R.workerCount=e.C(globalThis)?Math.max(Math.min(B,3),1):1;class N{constructor(t,i){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=i;const r=this.workerPool.acquire(i);for(let t=0;t{t.remove()})),this.actors=[],t&&this.workerPool.release(this.id)}registerMessageHandler(t,e){for(const i of this.actors)i.registerMessageHandler(t,e)}}function U(){return O||(O=new N(V(),e.G),O.registerMessageHandler("GR",((t,i,r)=>e.m(i,r)))),O}function j(t,i){const r=e.H();return e.J(r,r,[1,1,0]),e.K(r,r,[.5*t.width,.5*t.height,1]),e.L(r,r,t.calculatePosMatrix(i.toUnwrapped()))}function $(t,e,i,r,n,s){const a=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),o=s.maxPitchScaleFactor(),l=t.tilesIn(r,o,a);l.sort(q);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,o,j(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]||{},a=e[i]=e[i]||[];for(const t of r)n[t.featureIndex]||(n[t.featureIndex]=!0,a.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 q(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}function Z(t,i,r){return e._(this,void 0,void 0,(function*(){let n=t;if(t.url?n=(yield e.h(i.transformRequest(t.url,"Source"),r)).data:yield s.frameAsync(r),!n)return null;const a=e.M(e.e(n,t),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in n&&n.vector_layers&&(a.vectorLayerIds=n.vector_layers.map((t=>t.id))),a}))}class G{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(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 e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const i=this._sw,r=this._ne;let n,s;if(t instanceof e.N)n=t,s=t;else{if(!(t instanceof G))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(G.convert(t)):this.extend(e.N.convert(t)):t&&("lng"in t||"lon"in t)&&"lat"in t?this.extend(e.N.convert(t)):this;if(n=t._sw,s=t._ne,!n||!s)return this}return i||r?(i.lng=Math.min(n.lng,i.lng),i.lat=Math.min(n.lat,i.lat),r.lng=Math.max(s.lng,r.lng),r.lat=Math.max(s.lat,r.lat)):(this._sw=new e.N(n.lng,n.lat),this._ne=new e.N(s.lng,s.lat)),this}getCenter(){return new e.N((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 e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(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:i,lat:r}=e.N.convert(t);let n=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&n}static convert(t){return t instanceof G?t:t?new G(t):t}static fromLngLat(t,i=0){const r=360*i/40075017,n=r/Math.cos(Math.PI/180*t.lat);return new G(new e.N(t.lng-n,t.lat-r),new e.N(t.lng+n,t.lat+r))}}class X{constructor(t,e,i){this.bounds=G.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=i||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(t){const i=Math.pow(2,t.z),r=Math.floor(e.O(this.bounds.getWest())*i),n=Math.floor(e.Q(this.bounds.getNorth())*i),s=Math.ceil(e.O(this.bounds.getEast())*i),a=Math.ceil(e.Q(this.bounds.getSouth())*i);return t.x>=r&&t.x=n&&t.y{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),i={request:this.map._requestManager.transformRequest(e,"Tile"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};i.request.collectResourceTiming=this._collectResourceTiming;let r="RT";if(t.actor&&"expired"!==t.state){if("loading"===t.state)return new Promise(((e,i)=>{t.reloadPromise={resolve:e,reject:i}}))}else t.actor=this.dispatcher.getActor(),r="LT";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:r,data:i},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e)}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null)}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject)}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:"AT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class H extends e.E{constructor(t,i,r,n){super(),this.id=t,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=e.e({type:"raster"},i),e.e(this,e.M(i,["url","scheme","tileSize"]))}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const t=yield Z(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new X(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})))}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t))}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),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}serialize(){return e.e({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const i=yield p.getImage(this.map._requestManager.transformRequest(e,"Tile"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(i&&i.data){this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const e=this.map.painter.context,r=e.gl,n=i.data;t.texture=this.map.painter.getTileTexture(n.width),t.texture?t.texture.update(n,{useMipmap:!0}):(t.texture=new b(e,n,r.RGBA,{useMipmap:!0}),t.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST),e.extTextureFilterAnisotropic&&r.texParameterf(r.TEXTURE_2D,e.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.extTextureFilterAnisotropicMax)),t.state="loaded"}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController)}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture)}))}hasTransition(){return!1}}class K extends H{constructor(t,i,r,n){super(t,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=e.e({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox",this.redFactor=i.redFactor,this.greenFactor=i.greenFactor,this.blueFactor=i.blueFactor,this.baseShift=i.baseShift}loadTile(t){return e._(this,void 0,void 0,(function*(){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r=this.map._requestManager.transformRequest(i,"Tile");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const i=yield p.getImage(r,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(i&&i.data){const r=i.data;this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const n=e.b(r)&&e.U()?r:yield this.readImageNow(r),s={type:this.type,uid:t.uid,source:this.id,rawImageData:n,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||"expired"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:"LDT",data:s});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state="loaded"}}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if("undefined"!=typeof VideoFrame&&e.V()){const i=t.width+2,r=t.height+2;try{return new e.R({width:i,height:r},yield e.W(t,-1,-1,i,r))}catch(t){}}return s.getImageData(t,1)}))}_getNeighboringTiles(t){const i=t.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,s=0===i.x?t.wrap-1:t.wrap,a=(i.x+1+r)%r,o=i.x+1===r?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,o,i.z,a,i.y).key]={backfilled:!1},i.y>0&&(l[new e.S(t.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,o,i.z,a,i.y-1).key]={backfilled:!1}),i.y+10&&e.e(n,{resourceTiming:r}),this.fire(new e.k("data",Object.assign(Object.assign({},n),{sourceDataType:"metadata"}))),this.fire(new e.k("data",Object.assign(Object.assign({},n),{sourceDataType:"content"})))}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k("dataabort",{dataType:"source"}));this.fire(new e.j(t))}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?"RT":"LT";t.actor=this.actor;const i={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.abortController=new AbortController;const r=yield this.actor.sendAsync({type:e,data:i},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(r,this.map.painter,"RT"===e)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var Y=e.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Q extends e.E{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(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading())}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t))}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(t){this.coordinates=t;const i=t.map(e.Z.fromLngLat);this.tileID=function(t){let i=1/0,r=1/0,n=-1/0,s=-1/0;for(const e of t)i=Math.min(i,e.x),r=Math.min(r,e.y),n=Math.max(n,e.x),s=Math.max(s,e.y);const a=Math.max(n-i,s-r),o=Math.max(0,Math.floor(-Math.log(a)/Math.LN2)),l=Math.pow(2,o);return new e.a1(o,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 e.$,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,e.X,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,e.X),this._boundsArray.emplaceBack(r[2].x,r[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new b(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let r=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,r=!0)}r&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class tt extends Q{constructor(t,e,i,r){super(t,e,i,r),this.roundZoom=!0,this.type="video",this.options=e}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,"Source").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(t){this.fire(new e.j(t))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.j(new e.a2(`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=t}}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 t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.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 b(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let r=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,r=!0)}r&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class et extends Q{constructor(t,i,r,n){super(t,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 e.j(new e.a2(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new e.j(new e.a2(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${t}`,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 e.j(new e.a2(`sources.${t}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){return e._(this,void 0,void 0,(function*(){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 e.j(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 t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!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,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new b(i,this.canvas,r.RGBA,{premultiply:!0});let n=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,n=!0)}n&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}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 it={},rt=t=>{switch(t){case"geojson":return J;case"image":return Q;case"raster":return H;case"raster-dem":return K;case"vector":return W;case"video":return tt;case"canvas":return et}return it[t]},nt="RTLPluginLoaded";class st extends e.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=U()}_syncState(t){return this.status=t,this.dispatcher.broadcast("SRPS",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status="error",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=s.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if("unavailable"===this.status){if(!e)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new e.k(nt))}))}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let at=null;function ot(){return at||(at=new st),at}class lt{constructor(t,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(t){const e=t+this.timeAdded;ee.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}(t.buckets,i.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a6){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a6&&i.hasRTLText){this.hasRTLText=!0,ot().lazyLoad();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))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new e.a5}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 b(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new b(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,a,o,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:s,tileSize:this.tileSize,pixelPosMatrix:c,transform:o,params:a,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(t,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),s=i&&i.sourceLayer?i.sourceLayer:"",a=n._geojsonTileLayer||n[s];if(!a)return;const o=e.a7(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 ht{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(t,i,r){const n=String(i);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},e.e(this.stateChanges[t][n],r),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==n&&(this.deletedStates[t][e]=null)}else if(this.deletedStates[t]&&null===this.deletedStates[t][n]){this.deletedStates[t][n]={};for(const e in this.state[t][n])r[e]||(this.deletedStates[t][n][e]=null)}else for(const e in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][e]&&delete this.deletedStates[t][n][e]}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(t,i){const r=String(i),n=e.e({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){const e=this.deletedStates[t][i];if(null===e)return{};for(const t in e)delete n[t]}return n}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(t,i){const r={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const i={};for(const r in this.stateChanges[t])this.state[t][r]||(this.state[t][r]={}),e.e(this.state[t][r],this.stateChanges[t][r]),i[r]=this.state[t][r];r[t]=i}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const i={};if(null===this.deletedStates[t])for(const e in this.state[t])i[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const i of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][i];i[e]=this.state[t][e]}r[t]=r[t]||{},e.e(r[t],i)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const e in t)t[e].setFeatureState(r,i)}}class ut extends e.E{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on("data",(t=>this._dataHandler(t))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((t,e,i,r)=>{const n=new(rt(e.type))(t,e,i,r);if(n.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${n.id}`);return n})(t,e,i,this),this._tiles={},this._cache=new ct(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ht,this._didEmitContent=!1,this._updated=!1}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels: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;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)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,i,r){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,i,r)}catch(i){t.state="errored",404!==i.status?this._source.fire(new e.j(i,{tile:t})):this.update(this.transform,this.terrain)}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k("dataabort",{tile:t,coord:t.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(dt).map((t=>t.key))}getRenderableIds(t){const i=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&i.push(this._tiles[e]);return t?i.sort(((t,i)=>{const r=t.tileID,n=i.tileID,s=new e.P(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),a=new e.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||a.y-s.y||a.x-s.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(dt).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,i){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&("loading"!==e.state&&(e.state=i),yield this._loadTile(e,t,i))}))}_tileLoaded(t,i,r){t.timeAdded=s.now(),"expired"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),"raster-dem"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k("data",{dataType:"source",tile:t,coord:t.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 a=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()&&(a=t)}let o=a;for(;o.overscaledZ>e;)if(o=o.scaledTo(o.overscaledZ-1),t[o.key]){r[a.key]=a;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}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const i=Math.ceil(t.width/this._source.tileSize)+1,r=Math.ceil(t.height/this._source.tileSize)+1,n=Math.floor(i*r*(null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,n):n;this._cache.setMaxSize(s)}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])}}_updateCoveredAndRetainedTiles(t,e,i,r,n,a){const o={},l={},c=Object.keys(t),h=s.now();for(const i of c){const r=t[i],n=this._tiles[i];if(!n||0!==n.fadeEndTime&&n.fadeEndTime<=h)continue;const s=this.findLoadedParent(r,e),a=this.findLoadedSibling(r),c=s||a||null;c&&(this._addTile(c.tileID),o[c.tileID.key]=c.tileID),l[i]=r}this._retainLoadedChildren(l,r,i,t);for(const e in o)t[e]||(this._coveredTiles[e]=!0,t[e]=o[e]);if(a){const e={},i={};for(const t of n)this._tiles[t.key].hasData()?e[t.key]=t:i[t.key]=t;for(const r in i){const n=i[r].children(this._source.maxzoom);this._tiles[n[0].key]&&this._tiles[n[1].key]&&this._tiles[n[2].key]&&this._tiles[n[3].key]&&(e[n[0].key]=t[n[0].key]=n[0],e[n[1].key]=t[n[1].key]=n[1],e[n[2].key]=t[n[2].key]=n[2],e[n[3].key]=t[n[3].key]=n[3],delete i[r])}for(const r in i){const n=i[r],s=this.findLoadedParent(n,this._source.minzoom),a=this.findLoadedSibling(n),o=s||a||null;if(o){e[o.tileID.key]=t[o.tileID.key]=o.tileID;for(const t in e)e[t].isChildOf(o.tileID)&&delete e[t]}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0)}}update(t,i){if(!this._sourceLoaded||this._paused)return;let r;this.transform=t,this.terrain=i,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(r=t.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=t.coveringZoomLevel(this._source),s=Math.max(n-ut.maxOverzooming,this._source.minzoom),a=Math.max(n+ut.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 o=0===r.length&&!this._updated&&this._didEmitContent;this._updated=!0,o&&this.fire(new e.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const l=this._updateRetainedTiles(r,n);pt(this._source.type)&&this._updateCoveredAndRetainedTiles(l,s,a,n,r,i);for(const t in l)this._tiles[t].clearFadeHold();const c=e.ac(this._tiles,l);for(const t of c){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){var i;const r={},n={},s=Math.max(e-ut.maxOverzooming,this._source.minzoom),a=Math.max(e+ut.maxUnderzooming,this._source.minzoom),o={};for(const i of t){const t=this._addTile(i);r[i.key]=i,t.hasData()||ethis._source.maxzoom){const t=a.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){r[t.key]=t;continue}}else{const t=a.children(this._source.maxzoom);if(r[t[0].key]&&r[t[1].key]&&r[t[2].key]&&r[t[3].key])continue}let o=t.wasRequested();for(let e=a.overscaledZ-1;e>=s;--e){const s=a.scaledTo(e);if(n[s.key])break;if(n[s.key]=!0,t=this.getTile(s),!t&&o&&(t=this._addTile(s)),t){const e=t.hasData();if((e||!(null===(i=this.map)||void 0===i?void 0:i.cancelPendingTileRequestsWhileZooming)||o)&&(r[s.key]=s),o=t.wasRequested(),e)break}}}return r}_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}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,i=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=i}}_addTile(t){let i=this._tiles[t.key];if(i)return i;i=this._cache.getAndRemove(t),i&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i)));const r=i;return i||(i=new lt(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,t.key,i.state)),i.uses++,this._tiles[t.key]=i,r||this._source.fire(new e.k("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))))}_dataHandler(t){const e=t.sourceDataType;"source"===t.dataType&&"metadata"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(t,i,r){const n=[],s=this.transform;if(!s)return n;const a=r?s.getCameraQueryGeometry(t):t,o=t.map((t=>s.pointCoordinate(t,this.terrain))),l=a.map((t=>s.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,d=-1/0,p=-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),p=Math.max(p,t.y);for(let t=0;t=0&&_[1].y+m>=0){const t=o.map((t=>a.getTilePoint(t))),e=l.map((t=>a.getTilePoint(t)));n.push({tile:r,tileID:a,queryGeometry:t,cameraQueryGeometry:e,scale:f})}}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(pt(this._source.type)){const t=s.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)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 dt(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 pt(t){return"raster"===t||"image"===t||"video"===t}ut.maxOverzooming=10,ut.maxUnderzooming=3;class ft{constructor(t,e){this.reset(t,e)}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(n-a)/o:0;return this.points[s].mult(1-l).add(this.points[i].mult(l))}}function mt(t,e){let i=!0;return"always"===t||"never"!==t&&"never"!==e||(i=!1),i}class _t{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 o=[];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,a=t+i,o=e-i,l=e+i;if(a<0||s>this.width||l<0||o>this.height)return!1;const c=[];return this._forEachCell(s,o,a,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,a,o){const{seenUids:l,hitTest:c,overlapMode:h}=a,u=this.boxCells[n];if(null!==u){const n=this.bboxes;for(const a of u)if(!l.box[a]){l.box[a]=!0;const u=4*a,d=this.boxKeys[a];if(t<=n[u+2]&&e<=n[u+3]&&i>=n[u+0]&&r>=n[u+1]&&(!o||o(d))&&(!c||!mt(h,d.overlapMode))&&(s.push({key:d,x1:n[u],y1:n[u+1],x2:n[u+2],y2:n[u+3]}),c))return!0}}const d=this.circleCells[n];if(null!==d){const n=this.circles;for(const a of d)if(!l.circle[a]){l.circle[a]=!0;const u=3*a,d=this.circleKeys[a];if(this._circleAndRectCollide(n[u],n[u+1],n[u+2],t,e,i,r)&&(!o||o(d))&&(!c||!mt(h,d.overlapMode))){const t=n[u],e=n[u+1],i=n[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,r,n,s,a,o){const{circle:l,seenUids:c,overlapMode:h}=a,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])&&(!o||o(r))&&!mt(h,r.overlapMode))return s.push(!0),!0}}const d=this.circleCells[n];if(null!==d){const t=this.circles;for(const e of d)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)&&(!o||o(r))&&!mt(h,r.overlapMode))return s.push(!0),!0}}}_forEachCell(t,e,i,r,n,s,a,o){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++)if(n.call(this,t,e,i,r,this.xCellCount*l+d,s,a,o))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 a=r-t,o=n-e,l=i+s;return l*l>a*a+o*o}_circleAndRectCollide(t,e,i,r,n,s,a){const o=(s-r)/2,l=Math.abs(t-(r+o));if(l>o+i)return!1;const c=(a-n)/2,h=Math.abs(e-(n+c));if(h>c+i)return!1;if(l<=o||h<=c)return!0;const u=l-o,d=h-c;return u*u+d*d<=i*i}}function gt(t,i,r,n,s){const a=e.H();return i?(e.K(a,a,[1/s,1/s,1]),r||e.ae(a,a,n.angle)):e.L(a,n.labelPlaneMatrix,t),a}function yt(t,i,r,n,s){if(i){const i=e.af(t);return e.K(i,i,[s,s,1]),r||e.ae(i,i,-n.angle),i}return n.glCoordMatrix}function xt(t,i,r){let n;r?(n=[t.x,t.y,r(t.x,t.y),1],e.ag(n,n,i)):(n=[t.x,t.y,0,1],function(t,e,i){const r=e[0],n=e[1];t[0]=i[0]*r+i[4]*n+i[12],t[1]=i[1]*r+i[5]*n+i[13],t[3]=i[3]*r+i[7]*n+i[15]}(n,n,i));const s=n[3];return{point:new e.P(n[0]/s,n[1]/s),signedDistanceFromCamera:s,isOccluded:!1}}function vt(t,e){return.5+t/e*.5}function bt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function wt(t,i,r,n,s,a,o,l,c,h,u,d,p,f,m){const _=n?t.textSizeData:t.iconSizeData,g=e.ah(_,r.transform.zoom),y=[256/r.width*2+1,256/r.height*2+1],x=n?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const v=t.lineVertexArray,b=n?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=r.transform.width/r.transform.height;let T=!1;for(let n=0;nMath.abs(r.x-i.x)*n?{useVertical:!0}:(t===e.ai.vertical?i.yr.x)?{needsFlipping:!0}:null}function It(t,i,r,n,s,a,o,l,c,h,u){const d=r/24,p=i.lineOffsetX*d,f=i.lineOffsetY*d;let m;if(i.numGlyphs>1){const e=i.glyphStartIndex+i.numGlyphs,r=i.lineStartIndex,a=i.lineStartIndex+i.lineLength,c=Tt(d,l,p,f,n,i,u,t);if(!c)return{notEnoughRoom:!0};const _=xt(c.first.point,o,t.getElevation).point,g=xt(c.last.point,o,t.getElevation).point;if(s&&!n){const t=St(i.writingMode,_,g,h);if(t)return t}m=[c.first];for(let s=i.glyphStartIndex+1;s0?o.point:function(t,e,i,r,n,s){return Pt(t,e,i,1,n,s)}(t.tileAnchorPoint,s,r,0,a,t),c=St(i.writingMode,r,l,h);if(c)return c}const r=zt(d*l.getoffsetX(i.glyphStartIndex),p,f,n,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,t,u);if(!r||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[r]}for(const t of m)e.ak(c,t.point,t.angle);return{}}function Pt(t,e,i,r,n,s){const a=t.add(t.sub(e)._unit()),o=void 0!==n?xt(a,n,s.getElevation).point:Ct(a.x,a.y,s).point,l=i.sub(o);return i.add(l._mult(r/l.mag()))}function At(t,i,r){const n=i.projectionCache;if(n.projections[t])return n.projections[t];const s=new e.P(i.lineVertexArray.getx(t),i.lineVertexArray.gety(t)),a=Ct(s.x,s.y,i);if(a.signedDistanceFromCamera>0)return n.projections[t]=a.point,n.anyProjectionOccluded=n.anyProjectionOccluded||a.isOccluded,a.point;const o=t-r.direction;return function(t,e,i,r,n){return Pt(t,e,i,r,void 0,n)}(0===r.distanceFromAnchor?i.tileAnchorPoint:new e.P(i.lineVertexArray.getx(o),i.lineVertexArray.gety(o)),s,r.previousVertex,r.absOffsetX-r.distanceFromAnchor+1,i)}function Ct(t,i,r){const n=t+r.translation[0],s=i+r.translation[1];let a;return!r.pitchWithMap&&r.projection.useSpecialProjectionForSymbols?(a=r.projection.projectTileCoordinates(n,s,r.unwrappedTileID,r.getElevation),a.point.x=(.5*a.point.x+.5)*r.width,a.point.y=(.5*-a.point.y+.5)*r.height):(a=xt(new e.P(n,s),r.labelPlaneMatrix,r.getElevation),a.isOccluded=!1),a}function Mt(t,e,i){return t._unit()._perp()._mult(e*i)}function kt(t,i,r,n,s,a,o,l,c){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const h=r.add(i);if(t+c.direction=s)return l.projectionCache.offsets[t]=h,h;const u=At(t+c.direction,l,c),d=Mt(u.sub(r),o,c.direction),p=r.add(d),f=u.add(d);return l.projectionCache.offsets[t]=e.al(a,h,p,f)||h,l.projectionCache.offsets[t]}function zt(t,e,i,r,n,s,a,o,l){const c=r?t-e:t+e;let h=c>0?1:-1,u=0;r&&(h*=-1,u=Math.PI),h<0&&(u+=Math.PI);let d,p=h>0?s+n:s+n+1;o.projectionCache.cachedAnchorPoint?d=o.projectionCache.cachedAnchorPoint:(d=Ct(o.tileAnchorPoint.x,o.tileAnchorPoint.y,o).point,o.projectionCache.cachedAnchorPoint=d);let f,m,_=d,g=d,y=0,x=0;const v=Math.abs(c),b=[];let w;for(;y+x<=v;){if(p+=h,p=a)return null;y+=x,g=_,m=f;const t={absOffsetX:v,direction:h,distanceFromAnchor:y,previousVertex:g};if(_=At(p,o,t),0===i)b.push(g),w=_.sub(g);else{let e;const r=_.sub(g);e=0===r.mag()?Mt(At(p+h,o,t).sub(_),i,h):Mt(r,i,h),m||(m=g.add(e)),f=kt(p,e,_,s,a,m,i,o,t),b.push(m),w=f.sub(m)}x=w.mag()}const T=w._mult((v-y)/x)._add(m||g),S=u+Math.atan2(_.y-g.y,_.x-g.x);return b.push(T),{point:T,angle:l?S:0,path:b}}const Et=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Dt(t,e){for(let i=0;i=1;t--)l.push(a.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let m=[];if(l.length>0){const t=l[0].clone(),i=l[0].clone();for(let e=1;e=r.x&&i.x<=n.x&&t.y>=r.y&&i.y<=n.y?[l]:i.xn.x||i.yn.y?[]:e.am([l],r.x,r.y,n.x,n.y)}for(const e of m){s.reset(e,.25*i);let r=0;r=s.length<=.5*i?1:Math.ceil(s.paddedLength/u)+1;for(let e=0;ext(t,i,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};const i=[];let r=1/0,n=1/0,s=-1/0,a=-1/0;for(const o of t){const t=new e.P(o.x+Lt,o.y+Lt);r=Math.min(r,t.x),n=Math.min(n,t.y),s=Math.max(s,t.x),a=Math.max(a,t.y),i.push(t)}const o=this.grid.query(r,n,s,a).concat(this.ignoredGrid.query(r,n,s,a)),l={},c={};for(const t of o){const r=t.key;if(void 0===l[r.bucketInstanceId]&&(l[r.bucketInstanceId]={}),l[r.bucketInstanceId][r.featureIndex])continue;const n=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.an(i,n)&&(l[r.bucketInstanceId][r.featureIndex]=!0,void 0===c[r.bucketInstanceId]&&(c[r.bucketInstanceId]=[]),c[r.bucketInstanceId].push(r.featureIndex))}return c}insertCollisionBox(t,e,i,r,n,s){(i?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:n,collisionGroupID:s,overlapMode:e},t[0],t[1],t[2],t[3])}insertCollisionCircles(t,e,i,r,n,s){const a=i?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:s,overlapMode:e};for(let e=0;e=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(t,e,i,r){return i>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(r,t.x,t.y,n,c)));I=t.some((t=>!t.isOccluded)),S=t.map((t=>t.point))}else I=!0;return{box:e.ap(S),allPointsOccluded:!I}}}function Bt(t,i,r){return i*(e.X/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}class Ft{constructor(t,e,i,r){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):r&&i?1:0,this.placed=i}isHidden(){return 0===this.opacity&&!this.placed}}class Ot{constructor(t,e,i,r,n){this.text=new Ft(t?t.text:null,e,i,n),this.icon=new Ft(t?t.icon:null,e,r,n)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Vt{constructor(t,e,i){this.text=t,this.icon=e,this.skipFade=i}}class Nt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[]}}class Ut{constructor(t,e,i,r,n){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=r,this.tileID=n}}class jt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}}get(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e}}return this.collisionGroups[t]}}function $t(t,i,r,n,s){const{horizontalAlign:a,verticalAlign:o}=e.av(t);return new e.P(-(a-.5)*i+n[0]*s,-(o-.5)*r+n[1]*s)}class qt{constructor(t,e,i,r,n,s){this.transform=t.clone(),this.terrain=i,this.collisionIndex=new Rt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=r,this.retainedQueryData={},this.collisionGroups=new jt(n),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=s,s&&(s.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(t){const e=this.terrain;return e?(i,r)=>e.getElevation(t,i,r):null}getBucketParts(t,i,r,n){const s=r.getBucket(i),a=r.latestFeatureIndex;if(!s||!a||i.id!==s.layerIds[0])return;const o=r.collisionBoxArray,l=s.layers[0].layout,c=s.layers[0].paint,h=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/e.X,d=r.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(d),f="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),_=Bt(r,1,this.transform.zoom),g=this.collisionIndex.mapProjection.translatePosition(this.transform,r,c.get("text-translate"),c.get("text-translate-anchor")),y=this.collisionIndex.mapProjection.translatePosition(this.transform,r,c.get("icon-translate"),c.get("icon-translate-anchor")),x=gt(p,f,m,this.transform,_);let v=null;if(f){const t=yt(p,f,m,this.transform,_);v=e.L([],this.transform.labelPlaneMatrix,t)}this.retainedQueryData[s.bucketInstanceId]=new Ut(s.bucketInstanceId,a,s.sourceLayerIndex,s.index,r.tileID);const b={bucket:s,layout:l,translationText:g,translationIcon:y,posMatrix:p,unwrappedTileID:d,textLabelPlaneMatrix:x,labelToScreenMatrix:v,scale:h,textPixelRatio:u,holdingForFade:r.holdingForFade(),collisionBoxArray:o,partiallyEvaluatedTextSize:e.ah(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(n)for(const e of s.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=e;t.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:b})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:b})}attemptAnchorPlacement(t,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x){const v=e.ar[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=$t(v,r,n,b,s),T=this.collisionIndex.placeCollisionBox(i,d,l,c,h,o,a,_,u.predicate,x,w);if((!y||this.collisionIndex.placeCollisionBox(y,d,l,c,h,o,a,g,u.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(t=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:b,width:r,height:n,anchor:v,textBoxScale:s,prevAnchor:t},this.markUsedJustification(f,v,p,m),f.allowVerticalPlacement&&(this.markUsedOrientation(f,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,r){const{bucket:n,layout:s,translationText:a,translationIcon:o,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:h,labelToScreenMatrix:u,textPixelRatio:d,holdingForFade:p,collisionBoxArray:f,partiallyEvaluatedTextSize:m,collisionGroup:_}=t.parameters,g=s.get("text-optional"),y=s.get("icon-optional"),x=e.as(s,"text-overlap","text-allow-overlap"),v="always"===x,b=e.as(s,"icon-overlap","icon-allow-overlap"),w="always"===b,T="map"===s.get("text-rotation-alignment"),S="map"===s.get("text-pitch-alignment"),I="none"!==s.get("icon-text-fit"),P="viewport-y"===s.get("symbol-z-order"),A=v&&(w||!n.hasIconData()||y),C=w&&(v||!n.hasTextData()||g);!n.collisionArrays&&f&&n.deserializeCollisionBoxes(f);const M=this._getTerrainElevationFunc(this.retainedQueryData[n.bucketInstanceId].tileID),k=(t,f,w)=>{var P,k;if(i[t.crossTileID])return;if(p)return void(this.placements[t.crossTileID]=new Vt(!1,!1,!1));let z=!1,E=!1,D=!0,L=null,R={box:null,placeable:!1,offscreen:null},B={box:null,placeable:!1,offscreen:null},F=null,O=null,V=null,N=0,U=0,j=0;f.textFeatureIndex?N=f.textFeatureIndex:t.useRuntimeCollisionCircles&&(N=t.featureIndex),f.verticalTextFeatureIndex&&(U=f.verticalTextFeatureIndex);const $=f.textBox;if($){const i=i=>{let r=e.ai.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,r=e,this.markUsedOrientation(n,r,t))}return r},s=(i,r)=>{if(n.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&f.verticalTextBox){for(const t of n.writingModes)if(t===e.ai.vertical?(R=r(),B=R):R=i(),R&&R.placeable)break}else R=i()},h=t.textAnchorOffsetStartIndex,u=t.textAnchorOffsetEndIndex;if(u===h){const r=(e,i)=>{const r=this.collisionIndex.placeCollisionBox(e,x,d,l,c,S,T,a,_.predicate,M);return r&&r.placeable&&(this.markUsedOrientation(n,i,t),this.placedOrientations[t.crossTileID]=i),r};s((()=>r($,e.ai.horizontal)),(()=>{const i=f.verticalTextBox;return n.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&i?r(i,e.ai.vertical):{box:null,offscreen:null}})),i(R&&R.placeable)}else{let p=e.ar[null===(k=null===(P=this.prevPlacement)||void 0===P?void 0:P.variableOffsets[t.crossTileID])||void 0===k?void 0:k.anchor];const m=(i,s,f)=>{const m=i.x2-i.x1,g=i.y2-i.y1,y=t.textBoxScale,v=I&&"never"===b?s:null;let w=null,P="never"===x?1:2,A="never";p&&P++;for(let e=0;em($,f.iconBox,e.ai.horizontal)),(()=>{const i=f.verticalTextBox;return n.allowVerticalPlacement&&(!R||!R.placeable)&&t.numVerticalGlyphVertices>0&&i?m(i,f.verticalIconBox,e.ai.vertical):{box:null,occluded:!0,offscreen:null}})),R&&(z=R.placeable,D=R.offscreen);const g=i(R&&R.placeable);if(!z&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(n,e.anchor,t,g))}}}if(F=R,z=F&&F.placeable,D=F&&F.offscreen,t.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),o=e.aj(n.textSizeData,m,i),d=s.get("text-padding");O=this.collisionIndex.placeCollisionCircles(x,i,n.lineVertexArray,n.glyphOffsetArray,o,l,c,h,u,r,S,_.predicate,t.collisionCircleDiameter,d,a,M),O.circles.length&&O.collisionDetected&&!r&&e.w("Collisions detected, but collision boxes are not shown"),z=v||O.circles.length>0&&!O.collisionDetected,D=D&&O.offscreen}if(f.iconFeatureIndex&&(j=f.iconFeatureIndex),f.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,d,l,c,S,T,o,_.predicate,M,I&&L?L:void 0);B&&B.placeable&&f.verticalIconBox?(V=t(f.verticalIconBox),E=V.placeable):(V=t(f.iconBox),E=V.placeable),D=D&&V.offscreen}const q=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,Z=y||0===t.numIconVertices;q||Z?Z?q||(E=E&&z):z=E&&z:E=z=E&&z;const G=E&&V.placeable;if(z&&F.placeable&&this.collisionIndex.insertCollisionBox(F.box,x,s.get("text-ignore-placement"),n.bucketInstanceId,B&&B.placeable&&U?U:N,_.ID),G&&this.collisionIndex.insertCollisionBox(V.box,b,s.get("icon-ignore-placement"),n.bucketInstanceId,j,_.ID),O&&z&&this.collisionIndex.insertCollisionCircles(O.circles,x,s.get("text-ignore-placement"),n.bucketInstanceId,N,_.ID),r&&this.storeCollisionData(n.bucketInstanceId,w,f,F,V,O),0===t.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===n.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[t.crossTileID]=new Vt(z||A,E||C,D||n.justReloaded),i[t.crossTileID]=!0};if(P){if(0!==t.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");const e=n.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const i=e[t];k(n.symbolInstances.get(i),n.collisionArrays[i],i)}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=s>=0&&e!==s?0:r.crossTileID)}markUsedOrientation(t,i,r){const n=i===e.ai.horizontal||i===e.ai.horizontalOnly?i:0,s=i===e.ai.vertical?i:0,a=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(const e of a)t.text.placedSymbolArray.get(e).placedOrientation=n;r.verticalPlacedTextSymbolIndex&&(t.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:{},a=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],s=n[t];s?(this.opacities[t]=new Ot(s,r,e.text,e.icon),i=i||e.text!==s.text.placed||e.icon!==s.icon.placed):(this.opacities[t]=new Ot(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 Ot(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 a)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=a[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");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,r.tileID,i,r.collisionBoxArray)}}updateBucketOpacities(t,i,r,n){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const s=t.layers[0],a=s.layout,o=new Ot(null,0,!1,!1,!0),l=a.get("text-allow-overlap"),c=a.get("icon-allow-overlap"),h=s._unevaluatedLayout.hasValue("text-variable-anchor")||s._unevaluatedLayout.hasValue("text-variable-anchor-offset"),u="map"===a.get("text-rotation-alignment"),d="map"===a.get("text-pitch-alignment"),p="none"!==a.get("icon-text-fit"),f=new Ot(null,0,l&&(c||!t.hasIconData()||a.get("icon-optional")),c&&(l||!t.hasTextData()||a.get("text-optional")),!0);!t.collisionArrays&&n&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(n);const m=(t,e,i)=>{for(let r=0;r0,y=this.placedOrientations[n.crossTileID],x=y===e.ai.vertical,v=y===e.ai.horizontal||y===e.ai.horizontalOnly;if(s>0||a>0){const e=Qt(c.text);m(t.text,s,x?te:e),m(t.text,a,v?te:e);const i=c.text.isHidden();[n.rightJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=i||x?1:0)})),n.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).hidden=i||v?1:0);const r=this.variableOffsets[n.crossTileID];r&&this.markUsedJustification(t,r.anchor,n,y);const o=this.placedOrientations[n.crossTileID];o&&(this.markUsedJustification(t,"left",n,o),this.markUsedOrientation(t,o,n))}if(g){const e=Qt(c.icon),i=!(p&&n.verticalPlacedIconSymbolIndex&&x);n.placedIconSymbolIndex>=0&&(m(t.icon,n.numIconVertices,i?e:te),t.icon.placedSymbolArray.get(n.placedIconSymbolIndex).hidden=c.icon.isHidden()),n.verticalPlacedIconSymbolIndex>=0&&(m(t.icon,n.numVerticalIconVertices,i?te:e),t.icon.placedSymbolArray.get(n.verticalPlacedIconSymbolIndex).hidden=c.icon.isHidden())}const b=_&&_.has(i)?_.get(i):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const r=t.collisionArrays[i];if(r){let i=new e.P(0,0);if(r.textBox||r.verticalTextBox){let e=!0;if(h){const t=this.variableOffsets[l];t?(i=$t(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),u&&i._rotate(d?this.transform.angle:-this.transform.angle)):e=!1}if(r.textBox||r.verticalTextBox){let n;r.textBox&&(n=x),r.verticalTextBox&&(n=v),Zt(t.textCollisionBox.collisionVertexArray,c.text.placed,!e||n,b.text,i.x,i.y)}}if(r.iconBox||r.verticalIconBox){const e=Boolean(!v&&r.verticalIconBox);let n;r.iconBox&&(n=e),r.verticalIconBox&&(n=!e),Zt(t.iconCollisionBox.collisionVertexArray,c.icon.placed,n,b.icon,p?i.x:0,p?i.y:0)}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.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 Zt(t,e,i,r,n,s){r&&0!==r.length||(r=[0,0,0,0]);const a=r[0]-Lt,o=r[1]-Lt,l=r[2]-Lt,c=r[3]-Lt;t.emplaceBack(e?1:0,i?1:0,n||0,s||0,a,o),t.emplaceBack(e?1:0,i?1:0,n||0,s||0,l,o),t.emplaceBack(e?1:0,i?1:0,n||0,s||0,l,c),t.emplaceBack(e?1:0,i?1:0,n||0,s||0,a,c)}const Gt=Math.pow(2,25),Xt=Math.pow(2,24),Wt=Math.pow(2,17),Ht=Math.pow(2,16),Kt=Math.pow(2,9),Jt=Math.pow(2,8),Yt=Math.pow(2,1);function Qt(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*Gt+e*Xt+i*Wt+e*Ht+i*Kt+e*Jt+i*Yt+e}const te=0;function ee(){return{isOccluded:(t,e,i)=>!1,getPitchedTextCorrection:(t,e,i)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(t,e,i,r){throw new Error("Not implemented.")},translatePosition:(t,e,i,r)=>function(t,e,i,r,n=!1){if(!i[0]&&!i[1])return[0,0];const s=n?"map"===r?t.angle:0:"viewport"===r?-t.angle:0;if(s){const t=Math.sin(s),e=Math.cos(s);i=[i[0]*e-i[1]*t,i[0]*t+i[1]*e]}return[n?i[0]:Bt(e,i[0],t.zoom),n?i[1]:Bt(e,i[1],t.zoom)]}(t,e,i,r),getCircleRadiusCorrection:t=>1}}class ie{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!this._forceFullPlacement&&s.now()-r>2;for(;this._currentPlacementIndex>=0;){const r=e[t[this._currentPlacementIndex]],s=this.placement.collisionIndex.transform.zoom;if("symbol"===r.type&&(!r.minzoom||r.minzoom<=s)&&(!r.maxzoom||r.maxzoom>s)){if(this._inProgressLayer||(this._inProgressLayer=new ie(r)),this._inProgressLayer.continuePlacement(i[r.source],this.placement,this._showCollisionBoxes,r,n))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const ne=512/e.X/2;class se{constructor(t,i,r){this.tileID=t,this.bucketInstanceId=r,this._symbolsByKey={};const n=new Map;for(let t=0;t({x:Math.floor(t.anchorX*ne),y:Math.floor(t.anchorY*ne)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(r.positions.length>128){const t=new e.aw(r.positions.length,16,Uint16Array);for(const{x:e,y:i}of r.positions)t.add(e,i);t.finish(),delete r.positions,r.index=t}this._symbolsByKey[t]=r}}getScaledCoordinates(t,i){const{x:r,y:n,z:s}=this.tileID.canonical,{x:a,y:o,z:l}=i.canonical,c=ne/Math.pow(2,l-s),h=(o*e.X+t.anchorY)*c,u=n*e.X*ne;return{x:Math.floor((a*e.X+t.anchorX)*c-r*e.X*ne),y:Math.floor(h-u)}}findMatches(t,e,i){const r=this.tileID.canonical.zt))}}class ae{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class oe{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const i=this.indexes[t],r={};for(const t in i){const n=i[t];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),r[n.tileID.key]=n}this.indexes[t]=r}this.lng=t}addBucket(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(let t=0;tt.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]}}const ce=(t,i)=>e.t(t,i&&i.filter((t=>"source.canvas"!==t.identifier))),he=e.ax();class ue extends e.E{constructor(t,i={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;"vector"!==e&&"geojson"!==e||this.sourceCaches[t].reload()}},this.map=t,this.dispatcher=new N(V(),t._getMapId()),this.dispatcher.registerMessageHandler("GG",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler("GI",((t,e)=>this.getImages(t,e))),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new A(t._requestManager,i.localIdeographFontFamily),this.lineAtlas=new D(256,512),this.crossTileSymbolIndex=new le,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",e.az()),ot().on(nt,this._rtlPluginLoaded),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(t,i={},r){this.fire(new e.k("dataloading",{dataType:"style"})),i.validate="boolean"!=typeof i.validate||i.validate;const n=this.map._requestManager.transformRequest(t,"Style");this._loadStyleRequest=new AbortController,e.h(n,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,i,r)})).catch((t=>{this._loadStyleRequest=null,t&&this.fire(new e.j(t))}))}loadJSON(t,i={},r){this.fire(new e.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,s.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,i.validate=!1!==i.validate,this._load(t,i,r)})).catch((()=>{}))}loadEmpty(){this.fire(new e.k("dataloading",{dataType:"style"})),this._load(he,{validate:!1})}_load(t,i,r){var n;const s=i.transformStyle?i.transformStyle(r,t):t;if(!i.validate||!ce(this,e.x(s))){this._loaded=!0,this.stylesheet=s;for(const t in s.sources)this.addSource(t,s.sources[t],{validate:!1});s.sprite?this._loadSprite(s.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(s.glyphs),this._createLayers(),this.light=new k(this.stylesheet.light),this.sky=new E(this.stylesheet.sky),this.map.setTerrain(null!==(n=this.stylesheet.terrain)&&void 0!==n?n:null),this.fire(new e.k("data",{dataType:"style"})),this.fire(new e.k("style.load"))}}_createLayers(){const t=e.aA(this.stylesheet.layers);this.dispatcher.broadcast("SL",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of t){const t=e.aB(i);t.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=t}}_loadSprite(t,i=!1,r=undefined){let n;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(t,i,r,n){return e._(this,void 0,void 0,(function*(){const a=x(t),o=r>1?"@2x":"",l={},c={};for(const{id:t,url:r}of a){const s=i.transformRequest(v(r,o,".json"),"SpriteJSON");l[t]=e.h(s,n);const a=i.transformRequest(v(r,o,".png"),"SpriteImage");c[t]=p.getImage(a,n)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(t,i){return e._(this,void 0,void 0,(function*(){const e={};for(const r in t){e[r]={};const n=s.getImageCanvasContext((yield i[r]).data),a=(yield t[r]).data;for(const t in a){const{width:i,height:s,x:o,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:p,textFitWidth:f,textFitHeight:m}=a[t];e[r][t]={data:null,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:p,textFitWidth:f,textFitHeight:m,spriteData:{width:i,height:s,x:o,y:l,context:n}}}}return e}))}(l,c)}))}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const r=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of r)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const r in t[e]){const n="default"===e?r:`${e}:${r}`;this._spritesImagesIds[e].push(n),n in this.imageManager.images?this.imageManager.updateImage(n,t[e][r],!1):this.imageManager.addImage(n,t[e][r]),i&&(this._changedImages[n]=!0)}}})).catch((t=>{this._spriteRequest=null,n=t,this.fire(new e.j(n))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"})),r&&r(n)}))}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}_validateLayer(t){const i=this.sourceCaches[t.source];if(!i)return;const r=t.sourceLayer;if(!r)return;const n=i.getSource();("geojson"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(new e.j(new Error(`Source layer "${r}" does not exist on source "${n.id}" as specified by style layer "${t.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()}_serializeByIds(t){const e=this._serializedAllLayers();if(!t||0===t.length)return Object.values(e);const i=[];for(const r of t)e[r]&&i.push(e[r]);return i}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const i of e){const e=this._layers[i];"custom"!==e.type&&(t[i]=e.serialize())}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.sky&&this.sky.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(t){if(!this._loaded)return;const i=this._changed;if(i){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const t in this._updatedSources){const e=this._updatedSources[t];if("reload"===e)this._reloadSource(t);else{if("clear"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates()}const r={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];r[t]=e.used,e.used=!1}for(const e of this._order){const i=this._layers[e];i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0)}for(const t in r){const i=this.sourceCaches[t];!!r[t]!=!!i.used&&i.fire(new e.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:t}))}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,i&&this.fire(new e.k("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={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(t,i={}){var r;this._checkLoaded();const n=this.serialize();if(t=i.transformStyle?i.transformStyle(n,t):t,(null===(r=i.validate)||void 0===r||r)&&ce(this,e.x(t)))return!1;(t=e.aC(t)).layers=e.aA(t.layers);const s=e.aD(n,t),a=this._getOperationsToPerform(s);if(a.unimplemented.length>0)throw new Error(`Unimplemented: ${a.unimplemented.join(", ")}.`);if(0===a.operations.length)return!1;for(const t of a.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],i=[];for(const r of t)switch(r.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":e.push((()=>this.addLayer.apply(this,r.args)));break;case"removeLayer":e.push((()=>this.removeLayer.apply(this,r.args)));break;case"setPaintProperty":e.push((()=>this.setPaintProperty.apply(this,r.args)));break;case"setLayoutProperty":e.push((()=>this.setLayoutProperty.apply(this,r.args)));break;case"setFilter":e.push((()=>this.setFilter.apply(this,r.args)));break;case"addSource":e.push((()=>this.addSource.apply(this,r.args)));break;case"removeSource":e.push((()=>this.removeSource.apply(this,r.args)));break;case"setLayerZoomRange":e.push((()=>this.setLayerZoomRange.apply(this,r.args)));break;case"setLight":e.push((()=>this.setLight.apply(this,r.args)));break;case"setGeoJSONSourceData":e.push((()=>this.setGeoJSONSourceData.apply(this,r.args)));break;case"setGlyphs":e.push((()=>this.setGlyphs.apply(this,r.args)));break;case"setSprite":e.push((()=>this.setSprite.apply(this,r.args)));break;case"setSky":e.push((()=>this.setSky.apply(this,r.args)));break;case"setTerrain":e.push((()=>this.map.setTerrain.apply(this,r.args)));break;case"setTransition":e.push((()=>{}));break;default:i.push(r.command)}return{operations:e,unimplemented:i}}addImage(t,i){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" already exists.`)));this.imageManager.addImage(t,i),this._afterImageUpdated(t)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t)}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,i,r={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source "${t}" 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(e.x.source,`sources.${t}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=this.sourceCaches[t]=new ut(t,i,this.dispatcher);n.style=this,n.setEventedParent(this,(()=>({isSourceLoaded:n.loaded(),source:n.serialize(),sourceId:t}))),n.onAdd(this.map),this._changed=!0}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.j(new Error(`Source "${t}" cannot be removed while layer "${i}" is using it.`)));const i=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],i.fire(new e.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if("geojson"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,i,r={}){this._checkLoaded();const n=t.id;if(this.getLayer(n))return void this.fire(new e.j(new Error(`Layer "${n}" already exists on this map.`)));let s;if("custom"===t.type){if(ce(this,e.aE(t)))return;s=e.aB(t)}else{if("source"in t&&"object"==typeof t.source&&(this.addSource(n,t.source),t=e.aC(t),t=e.e(t,{source:n})),this._validate(e.x.layer,`layers.${n}`,t,{arrayIndex:-1},r))return;s=e.aB(t),this._validateLayer(s),s.setEventedParent(this,{layer:{id:n}})}const a=i?this._order.indexOf(i):this._order.length;if(i&&-1===a)this.fire(new e.j(new Error(`Cannot add layer "${n}" before non-existing layer "${i}".`)));else{if(this._order.splice(a,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(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const r=this._order.indexOf(t);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new e.j(new Error(`Cannot move layer "${t}" before non-existing layer "${i}".`))):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer "${t}".`)));i.setEventedParent(null);const r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map)}getLayer(t){return this._layers[t]}getLayersOrder(){return[...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,i,r){this._checkLoaded();const n=this.getLayer(t);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer "${t}".`)))}setFilter(t,i,r={}){this._checkLoaded();const n=this.getLayer(t);if(n){if(!e.aF(n.filter,i))return null==i?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(e.x.filter,`layers.${n.id}.filter`,i,null,r)||(n.filter=e.aC(i),this._updateLayer(n)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer "${t}".`)))}getFilter(t){return e.aC(this.getLayer(t).filter)}setLayoutProperty(t,i,r,n={}){this._checkLoaded();const s=this.getLayer(t);s?e.aF(s.getLayoutProperty(i),r)||(s.setLayoutProperty(i,r,n),this._updateLayer(s)):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getLayoutProperty(t,i){const r=this.getLayer(t);if(r)return r.getLayoutProperty(i);this.fire(new e.j(new Error(`Cannot get style of non-existing layer "${t}".`)))}setPaintProperty(t,i,r,n={}){this._checkLoaded();const s=this.getLayer(t);s?e.aF(s.getPaintProperty(i),r)||(s.setPaintProperty(i,r,n)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,i){this._checkLoaded();const r=t.source,n=t.sourceLayer,s=this.sourceCaches[r];if(void 0===s)return void this.fire(new e.j(new Error(`The source '${r}' does not exist in the map's style.`)));const a=s.getSource().type;"geojson"===a&&n?this.fire(new e.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==a||n?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),s.setFeatureState(n,t.id,i)):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(t,i){this._checkLoaded();const r=t.source,n=this.sourceCaches[r];if(void 0===n)return void this.fire(new e.j(new Error(`The source '${r}' does not exist in the map's style.`)));const s=n.getSource().type,a="vector"===s?t.sourceLayer:void 0;"vector"!==s||a?i&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new e.j(new Error("A feature id is required to remove its specific state property."))):n.removeFeatureState(a,t.id,i):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(t){this._checkLoaded();const i=t.source,r=t.sourceLayer,n=this.sourceCaches[i];if(void 0!==n)return"vector"!==n.getSource().type||r?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),n.getFeatureState(r,t.id)):void this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new e.j(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aG(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order),r=this.map.getTerrain()||void 0,n=this.stylesheet;return e.aH({version:n.version,name:n.name,metadata:n.metadata,light:n.light,sky:n.sky,center:n.center,zoom:n.zoom,bearing:n.bearing,pitch:n.pitch,sprite:n.sprite,glyphs:n.glyphs,transition:n.transition,sources:t,layers:i,terrain:r},(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._serializedLayers=null,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 a=this._order[s];if(e(a))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 o)o[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 o}(this._layers,a,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.x.filter,"querySourceFeatures.filter",i.filter,null,i);const r=this.sourceCaches[t];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],t.center.lng);a=a||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((n=n||this._layerOrderChanged||0===i)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(s.now(),t.zoom))&&(this.pauseablePlacement=new re(t,this.map.terrain,this._order,n,e,i,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(s.now()),o=!0),a&&this.pauseablePlacement.placement.setStale()),o||a)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(s.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(i.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,i.icons),t}))}getGlyphs(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(i.stacks),e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,[""]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,i={}){this._checkLoaded(),t&&this._validate(e.x.glyphs,"glyphs",t,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t))}addSprite(t,i,r={},n){this._checkLoaded();const s=[{id:t,url:i}],a=[...x(this.stylesheet.sprite),...s];this._validate(e.x.sprite,"sprite",a,null,r)||(this.stylesheet.sprite=a,this._loadSprite(s,!0,n))}removeSprite(t){this._checkLoaded();const i=x(this.stylesheet.sprite);if(i.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;i.splice(i.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}else this.fire(new e.j(new Error(`Sprite "${t}" doesn't exists on this map.`)))}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,i={},r){this._checkLoaded(),t&&this._validate(e.x.sprite,"sprite",t,null,i)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,r):(this._unloadSprite(),r&&r(null)))}}var de=e.Y([{name:"a_pos",type:"Int16",components:2}]);const pe={prelude:fe("#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\n","#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_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_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:fe("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:fe("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:fe("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:fe("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:fe("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:fe("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:fe("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_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:fe("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:fe("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:fe("#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:fe("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:fe("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:fe("#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:fe("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 height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;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:fe("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 height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;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:fe("#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:fe("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:fe("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:fe("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:fe("#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:fe("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:fe("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:fe("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}","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;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\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;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;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:fe("#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 inner_edge=(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);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","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 bool u_is_along_line;uniform bool u_is_variable_anchor;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_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\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;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;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:fe("#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}","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;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\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;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;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:fe("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:fe("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);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:fe("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);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:fe("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function fe(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),a=s?s.concat(n):n,o={};return{fragmentSource:t=t.replace(i,((t,e,i,r,n)=>(o[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",a=n.match(/color/)?"color":s;return o[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"===a?`\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_${a}(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"===a?`\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_${a}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`})),staticAttributes:r,staticUniforms:a}}class me{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,a,o,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==r.length;for(let t=0;!c&&t({u_matrix:t,u_texture:0,u_ele_delta:i,u_fog_matrix:r,u_fog_color:n?n.properties.get("fog-color"):e.aN.white,u_fog_ground_blend:n?n.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:n?n.calculateFogBlendOpacity(s):0,u_horizon_color:n?n.properties.get("horizon-color"):e.aN.white,u_horizon_fog_blend:n?n.properties.get("horizon-fog-blend"):1});function ge(t){const e=[];for(let i=0;i({u_depth:new e.aI(t,i.u_depth),u_terrain:new e.aI(t,i.u_terrain),u_terrain_dim:new e.aJ(t,i.u_terrain_dim),u_terrain_matrix:new e.aK(t,i.u_terrain_matrix),u_terrain_unpack:new e.aL(t,i.u_terrain_unpack),u_terrain_exaggeration:new e.aJ(t,i.u_terrain_exaggeration)}))(t,b),this.binderUniforms=r?r.getUniforms(t,b):[]}draw(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,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),o){t.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,o.depthTexture),t.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,o.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(o[t])}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(a[t]);f&&f.setUniforms(t,this.binderUniforms,d,{zoom:p});let x=0;switch(e){case y.LINES:x=2;break;case y.TRIANGLES:x=3;break;case y.LINE_STRIP:x=1}for(const i of u.get()){const r=i.vaos||(i.vaos={});(r[l]||(r[l]=new me)).bind(t,this,c,f?f.getPaintVertexBuffers():[],h,i.vertexOffset,m,_,g),y.drawElements(e,i.primitiveLength*x,y.UNSIGNED_SHORT,i.primitiveOffset*x*2)}}}function xe(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,a=s*(i.tileID.canonical.x+i.tileID.wrap*n),o=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:[a>>16,o>>16],u_pixel_coord_lower:[65535&a,65535&o]}}const ve=(t,i,r,n)=>{const s=i.style.light,a=s.properties.get("position"),o=[a.x,a.y,a.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();"viewport"===s.properties.get("anchor")&&function(t,e){var i=Math.sin(e),r=Math.cos(e);t[0]=r,t[1]=i,t[2]=0,t[3]=-i,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1}(l,-i.transform.angle),function(t,e,i){var r=e[0],n=e[1],s=e[2];t[0]=r*i[0]+n*i[3]+s*i[6],t[1]=r*i[1]+n*i[4]+s*i[7],t[2]=r*i[2]+n*i[5]+s*i[8]}(o,o,l);const c=s.properties.get("color");return{u_matrix:t,u_lightpos:o,u_lightintensity:s.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:n}},be=(t,i,r,n,s,a,o)=>e.e(ve(t,i,r,n),xe(a,i,o),{u_height_factor:-Math.pow(2,s.overscaledZ)/o.tileSize/8}),we=t=>({u_matrix:t}),Te=(t,i,r,n)=>e.e(we(t),xe(r,i,n)),Se=(t,e)=>({u_matrix:t,u_world:e}),Ie=(t,i,r,n,s)=>e.e(Te(t,i,r,n),{u_world:s}),Pe=(t,e,i,r)=>{const n=t.transform;let s,a;if("map"===r.paint.get("circle-pitch-alignment")){const t=Bt(i,1,n.zoom);s=!0,a=[t,t]}else s=!1,a=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:a}},Ae=(t,e,i)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}),Ce=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),Me=t=>({u_matrix:t}),ke=(t,e,i,r)=>({u_matrix:t,u_extrude_scale:Bt(e,1,i),u_intensity:r});function ze(t,i){const r=Math.pow(2,i.canonical.z),n=i.canonical.y;return[new e.Z(0,n/r).toLngLat().lat,new e.Z(0,(n+1)/r).toLngLat().lat]}const Ee=(t,e,i,r)=>{const n=t.transform;return{u_matrix:Fe(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]]}},De=(t,i,r,n,s)=>e.e(Ee(t,i,r,s),{u_image:0,u_image_height:n}),Le=(t,e,i,r,n)=>{const s=t.transform,a=Be(e,s);return{u_matrix:Fe(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:[a,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Re=(t,i,r,n,s,a)=>{const o=t.lineAtlas,l=Be(i,t.transform),c="round"===r.layout.get("line-cap"),h=o.getDash(n.from,c),u=o.getDash(n.to,c),d=h.width*s.fromScale,p=u.width*s.toScale;return e.e(Ee(t,i,r,a),{u_patternscale_a:[l/d,-h.height/2],u_patternscale_b:[l/p,-u.height/2],u_sdfgamma:o.width/(256*Math.min(d,p)*t.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:s.t})};function Be(t,e){return 1/Bt(t,1,e.tileZoom)}function Fe(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 Oe=(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:(a=n.paint.get("raster-saturation"),a>0?1-1/(1.001-a):-a),u_contrast_factor:(s=n.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:Ve(n.paint.get("raster-hue-rotate"))};var s,a};function Ve(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 Ne=(t,e,i,r,n,s,a,o,l,c,h,u,d,p)=>{const f=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:f.cameraToCenterDistance,u_pitch:f.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:f.width/f.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:o,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+u,u_pitch_with_map:+r,u_is_along_line:n,u_is_variable_anchor:s,u_texsize:d,u_texture:0,u_translation:h,u_pitched_scale:p}},Ue=(t,i,r,n,s,a,o,l,c,h,u,d,p,f,m)=>{const _=o.transform;return e.e(Ne(t,i,r,n,s,a,o,l,c,h,u,d,p,m),{u_gamma_scale:n?Math.cos(_._pitch)*_.cameraToCenterDistance:1,u_device_pixel_ratio:o.pixelRatio,u_is_halo:+f})},je=(t,i,r,n,s,a,o,l,c,h,u,d,p,f)=>e.e(Ue(t,i,r,n,s,a,o,l,c,h,u,!0,d,!0,f),{u_texsize_icon:p,u_texture_icon:1}),$e=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),qe=(t,i,r,n,s,a)=>e.e(function(t,e,i,r){const n=i.imageManager.getPattern(t.from.toString()),s=i.imageManager.getPattern(t.to.toString()),{width:a,height:o}=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:[a,o],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,a,r,s),{u_matrix:t,u_opacity:i}),Ze={fillExtrusion:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_lightpos:new e.aO(t,i.u_lightpos),u_lightintensity:new e.aJ(t,i.u_lightintensity),u_lightcolor:new e.aO(t,i.u_lightcolor),u_vertical_gradient:new e.aJ(t,i.u_vertical_gradient),u_opacity:new e.aJ(t,i.u_opacity)}),fillExtrusionPattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_lightpos:new e.aO(t,i.u_lightpos),u_lightintensity:new e.aJ(t,i.u_lightintensity),u_lightcolor:new e.aO(t,i.u_lightcolor),u_vertical_gradient:new e.aJ(t,i.u_vertical_gradient),u_height_factor:new e.aJ(t,i.u_height_factor),u_image:new e.aI(t,i.u_image),u_texsize:new e.aP(t,i.u_texsize),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade),u_opacity:new e.aJ(t,i.u_opacity)}),fill:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix)}),fillPattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_image:new e.aI(t,i.u_image),u_texsize:new e.aP(t,i.u_texsize),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade)}),fillOutline:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_world:new e.aP(t,i.u_world)}),fillOutlinePattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_world:new e.aP(t,i.u_world),u_image:new e.aI(t,i.u_image),u_texsize:new e.aP(t,i.u_texsize),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade)}),circle:(t,i)=>({u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_scale_with_map:new e.aI(t,i.u_scale_with_map),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_extrude_scale:new e.aP(t,i.u_extrude_scale),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_matrix:new e.aK(t,i.u_matrix)}),collisionBox:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_pixel_extrude_scale:new e.aP(t,i.u_pixel_extrude_scale)}),collisionCircle:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_inv_matrix:new e.aK(t,i.u_inv_matrix),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_viewport_size:new e.aP(t,i.u_viewport_size)}),debug:(t,i)=>({u_color:new e.aM(t,i.u_color),u_matrix:new e.aK(t,i.u_matrix),u_overlay:new e.aI(t,i.u_overlay),u_overlay_scale:new e.aJ(t,i.u_overlay_scale)}),clippingMask:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix)}),heatmap:(t,i)=>({u_extrude_scale:new e.aJ(t,i.u_extrude_scale),u_intensity:new e.aJ(t,i.u_intensity),u_matrix:new e.aK(t,i.u_matrix)}),heatmapTexture:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_world:new e.aP(t,i.u_world),u_image:new e.aI(t,i.u_image),u_color_ramp:new e.aI(t,i.u_color_ramp),u_opacity:new e.aJ(t,i.u_opacity)}),hillshade:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_image:new e.aI(t,i.u_image),u_latrange:new e.aP(t,i.u_latrange),u_light:new e.aP(t,i.u_light),u_shadow:new e.aM(t,i.u_shadow),u_highlight:new e.aM(t,i.u_highlight),u_accent:new e.aM(t,i.u_accent)}),hillshadePrepare:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_image:new e.aI(t,i.u_image),u_dimension:new e.aP(t,i.u_dimension),u_zoom:new e.aJ(t,i.u_zoom),u_unpack:new e.aL(t,i.u_unpack)}),line:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels)}),lineGradient:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels),u_image:new e.aI(t,i.u_image),u_image_height:new e.aJ(t,i.u_image_height)}),linePattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_texsize:new e.aP(t,i.u_texsize),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_image:new e.aI(t,i.u_image),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade)}),lineSDF:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels),u_patternscale_a:new e.aP(t,i.u_patternscale_a),u_patternscale_b:new e.aP(t,i.u_patternscale_b),u_sdfgamma:new e.aJ(t,i.u_sdfgamma),u_image:new e.aI(t,i.u_image),u_tex_y_a:new e.aJ(t,i.u_tex_y_a),u_tex_y_b:new e.aJ(t,i.u_tex_y_b),u_mix:new e.aJ(t,i.u_mix)}),raster:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_tl_parent:new e.aP(t,i.u_tl_parent),u_scale_parent:new e.aJ(t,i.u_scale_parent),u_buffer_scale:new e.aJ(t,i.u_buffer_scale),u_fade_t:new e.aJ(t,i.u_fade_t),u_opacity:new e.aJ(t,i.u_opacity),u_image0:new e.aI(t,i.u_image0),u_image1:new e.aI(t,i.u_image1),u_brightness_low:new e.aJ(t,i.u_brightness_low),u_brightness_high:new e.aJ(t,i.u_brightness_high),u_saturation_factor:new e.aJ(t,i.u_saturation_factor),u_contrast_factor:new e.aJ(t,i.u_contrast_factor),u_spin_weights:new e.aO(t,i.u_spin_weights)}),symbolIcon:(t,i)=>({u_is_size_zoom_constant:new e.aI(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,i.u_is_size_feature_constant),u_size_t:new e.aJ(t,i.u_size_t),u_size:new e.aJ(t,i.u_size),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_pitch:new e.aJ(t,i.u_pitch),u_rotate_symbol:new e.aI(t,i.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,i.u_aspect_ratio),u_fade_change:new e.aJ(t,i.u_fade_change),u_matrix:new e.aK(t,i.u_matrix),u_label_plane_matrix:new e.aK(t,i.u_label_plane_matrix),u_coord_matrix:new e.aK(t,i.u_coord_matrix),u_is_text:new e.aI(t,i.u_is_text),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_is_along_line:new e.aI(t,i.u_is_along_line),u_is_variable_anchor:new e.aI(t,i.u_is_variable_anchor),u_texsize:new e.aP(t,i.u_texsize),u_texture:new e.aI(t,i.u_texture),u_translation:new e.aP(t,i.u_translation),u_pitched_scale:new e.aJ(t,i.u_pitched_scale)}),symbolSDF:(t,i)=>({u_is_size_zoom_constant:new e.aI(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,i.u_is_size_feature_constant),u_size_t:new e.aJ(t,i.u_size_t),u_size:new e.aJ(t,i.u_size),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_pitch:new e.aJ(t,i.u_pitch),u_rotate_symbol:new e.aI(t,i.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,i.u_aspect_ratio),u_fade_change:new e.aJ(t,i.u_fade_change),u_matrix:new e.aK(t,i.u_matrix),u_label_plane_matrix:new e.aK(t,i.u_label_plane_matrix),u_coord_matrix:new e.aK(t,i.u_coord_matrix),u_is_text:new e.aI(t,i.u_is_text),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_is_along_line:new e.aI(t,i.u_is_along_line),u_is_variable_anchor:new e.aI(t,i.u_is_variable_anchor),u_texsize:new e.aP(t,i.u_texsize),u_texture:new e.aI(t,i.u_texture),u_gamma_scale:new e.aJ(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_is_halo:new e.aI(t,i.u_is_halo),u_translation:new e.aP(t,i.u_translation),u_pitched_scale:new e.aJ(t,i.u_pitched_scale)}),symbolTextAndIcon:(t,i)=>({u_is_size_zoom_constant:new e.aI(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,i.u_is_size_feature_constant),u_size_t:new e.aJ(t,i.u_size_t),u_size:new e.aJ(t,i.u_size),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_pitch:new e.aJ(t,i.u_pitch),u_rotate_symbol:new e.aI(t,i.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,i.u_aspect_ratio),u_fade_change:new e.aJ(t,i.u_fade_change),u_matrix:new e.aK(t,i.u_matrix),u_label_plane_matrix:new e.aK(t,i.u_label_plane_matrix),u_coord_matrix:new e.aK(t,i.u_coord_matrix),u_is_text:new e.aI(t,i.u_is_text),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_is_along_line:new e.aI(t,i.u_is_along_line),u_is_variable_anchor:new e.aI(t,i.u_is_variable_anchor),u_texsize:new e.aP(t,i.u_texsize),u_texsize_icon:new e.aP(t,i.u_texsize_icon),u_texture:new e.aI(t,i.u_texture),u_texture_icon:new e.aI(t,i.u_texture_icon),u_gamma_scale:new e.aJ(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_is_halo:new e.aI(t,i.u_is_halo),u_translation:new e.aP(t,i.u_translation),u_pitched_scale:new e.aJ(t,i.u_pitched_scale)}),background:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_opacity:new e.aJ(t,i.u_opacity),u_color:new e.aM(t,i.u_color)}),backgroundPattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_opacity:new e.aJ(t,i.u_opacity),u_image:new e.aI(t,i.u_image),u_pattern_tl_a:new e.aP(t,i.u_pattern_tl_a),u_pattern_br_a:new e.aP(t,i.u_pattern_br_a),u_pattern_tl_b:new e.aP(t,i.u_pattern_tl_b),u_pattern_br_b:new e.aP(t,i.u_pattern_br_b),u_texsize:new e.aP(t,i.u_texsize),u_mix:new e.aJ(t,i.u_mix),u_pattern_size_a:new e.aP(t,i.u_pattern_size_a),u_pattern_size_b:new e.aP(t,i.u_pattern_size_b),u_scale_a:new e.aJ(t,i.u_scale_a),u_scale_b:new e.aJ(t,i.u_scale_b),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aJ(t,i.u_tile_units_to_pixels)}),terrain:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_texture:new e.aI(t,i.u_texture),u_ele_delta:new e.aJ(t,i.u_ele_delta),u_fog_matrix:new e.aK(t,i.u_fog_matrix),u_fog_color:new e.aM(t,i.u_fog_color),u_fog_ground_blend:new e.aJ(t,i.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aJ(t,i.u_fog_ground_blend_opacity),u_horizon_color:new e.aM(t,i.u_horizon_color),u_horizon_fog_blend:new e.aJ(t,i.u_horizon_fog_blend)}),terrainDepth:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ele_delta:new e.aJ(t,i.u_ele_delta)}),terrainCoords:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_texture:new e.aI(t,i.u_texture),u_terrain_coords_id:new e.aJ(t,i.u_terrain_coords_id),u_ele_delta:new e.aJ(t,i.u_ele_delta)}),sky:(t,i)=>({u_sky_color:new e.aM(t,i.u_sky_color),u_horizon_color:new e.aM(t,i.u_horizon_color),u_horizon:new e.aJ(t,i.u_horizon),u_sky_horizon_blend:new e.aJ(t,i.u_sky_horizon_blend)})};class Ge{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;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");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 Xe={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class We{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){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);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=e.H();e.aR(i,m.placementInvProjMatrix,t.transform.glCoordMatrix),e.aR(i,i,m.placementViewportMatrix),c.push({circleArray:g,circleOffset:u,transform:f.posMatrix,invTransform:i,coord:f}),h+=g.length/4,u=h}_&&l.draw(a,o.LINES,Bi.disabled,Oi.disabled,t.colorModeForRenderPass(),Vi.disabled,{u_matrix:f.posMatrix,u_pixel_extrude_scale:[1/(d=t.transform).width,1/d.height]},t.style.map.terrain&&t.style.map.terrain.getTerrainData(f),r.id,_.layoutVertexBuffer,_.indexBuffer,_.segments,null,t.transform.zoom,null,null,_.collisionVertexBuffer)}var d;if(!s||!c.length)return;const p=t.useProgram("collisionCircle"),f=new e.aS;f.resize(4*h),f._trim();let m=0;for(const t of c)for(let e=0;e=0&&(y[x.associatedIconIndex]={shiftedAnchor:k,angle:z})}else Dt(x.numGlyphs,_)}if(h){g.clear();const i=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,i):null,i="map"===r.layout.get("text-rotation-alignment");wt(c,l.posMatrix,t,s,N,j,y,h,i,_,l.toUnwrapped(),m.width,m.height,$,e)}const G=l.posMatrix,X=s&&I||Z,W=x||X?ji:N,H=U,K=p&&0!==r.paint.get(s?"text-halo-width":"icon-halo-width").constantOr(1);let J;J=p?c.iconsInText?je(S.kind,k,v,y,x,X,t,G,W,H,$,E,B,A):Ue(S.kind,k,v,y,x,X,t,G,W,H,$,s,E,!0,A):Ne(S.kind,k,v,y,x,X,t,G,W,H,$,s,E,A);const Y={program:M,buffers:u,uniformValues:J,atlasTexture:D,atlasTextureIcon:F,atlasInterpolation:L,atlasInterpolationIcon:R,isSDF:p,hasHalo:K};if(w&&c.canOverlap){T=!0;const t=u.segments.get();for(const i of t)P.push({segments:new e.a0([i]),sortKey:i.sortKey,state:Y,terrainData:z})}else P.push({segments:u.segments,sortKey:0,state:Y,terrainData:z})}T&&P.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of P){const i=e.state;if(p.activeTexture.set(f.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,f.CLAMP_TO_EDGE),i.atlasTextureIcon&&(p.activeTexture.set(f.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,f.CLAMP_TO_EDGE)),i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,Wi(i.buffers,e.segments,r,t,i.program,S,u,d,n,e.terrainData)),n.u_is_halo=0}Wi(i.buffers,e.segments,r,t,i.program,S,u,d,i.uniformValues,e.terrainData)}}function Wi(t,e,i,r,n,s,a,o,l,c){const h=r.context;n.draw(h,h.gl.TRIANGLES,s,a,o,Vi.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 Hi(t,e,i,r,n){if(!i||!r||!r.imageAtlas)return;const s=r.imageAtlas.patternPositions;let a=s[i.to.toString()],o=s[i.from.toString()];if(!a&&o&&(a=o),!o&&a&&(o=a),!a||!o){const t=n.getPaintProperty(e);a=s[t],o=s[t]}a&&o&&t.setConstantPatternPositions(a,o)}function Ki(t,e,i,r,n,s,a){const o=t.context.gl,l="fill-pattern",c=i.paint.get(l),h=c&&c.constantOr(1),u=i.getCrossfadeParameters();let d,p,f,m,_;a?(p=h&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",d=o.LINES):(p=h?"fillPattern":"fill",d=o.TRIANGLES);const g=c.constantOr(null);for(const c of r){const r=e.getTile(c);if(h&&!r.patternsLoaded())continue;const y=r.getBucket(i);if(!y)continue;const x=y.programConfigurations.get(i.id),v=t.useProgram(p,x),b=t.style.map.terrain&&t.style.map.terrain.getTerrainData(c);h&&(t.context.activeTexture.set(o.TEXTURE0),r.imageAtlasTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE),x.updatePaintBuffers(u)),Hi(x,l,g,r,i);const w=b?c:null,T=t.translatePosMatrix(w?w.posMatrix:c.posMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));if(a){m=y.indexBuffer2,_=y.segments2;const e=[o.drawingBufferWidth,o.drawingBufferHeight];f="fillOutlinePattern"===p&&h?Ie(T,t,u,r,e):Se(T,e)}else m=y.indexBuffer,_=y.segments,f=h?Te(T,t,u,r):we(T);v.draw(t.context,d,n,t.stencilModeForClipping(c),s,Vi.disabled,f,b,i.id,y.layoutVertexBuffer,m,_,i.paint,t.transform.zoom,x)}}function Ji(t,e,i,r,n,s,a){const o=t.context,l=o.gl,c="fill-extrusion-pattern",h=i.paint.get(c),u=h.constantOr(1),d=i.getCrossfadeParameters(),p=i.paint.get("fill-extrusion-opacity"),f=h.constantOr(null);for(const h of r){const r=e.getTile(h),m=r.getBucket(i);if(!m)continue;const _=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h),g=m.programConfigurations.get(i.id),y=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",g);u&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(d)),Hi(g,c,f,r,i);const x=t.translatePosMatrix(h.posMatrix,r,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),v=i.paint.get("fill-extrusion-vertical-gradient"),b=u?be(x,t,v,p,h,d,r):ve(x,t,v,p);y.draw(o,o.gl.TRIANGLES,n,s,a,Vi.backCCW,b,_,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.map.terrain&&m.centroidVertexBuffer)}}function Yi(t,e,i,r,n,s,a){const o=t.context,l=o.gl,c=i.fbo;if(!c)return;const h=t.useProgram("hillshade"),u=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);o.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(o,l.TRIANGLES,n,s,a,Vi.disabled,((t,e,i,r)=>{const n=i.paint.get("hillshade-shadow-color"),s=i.paint.get("hillshade-highlight-color"),a=i.paint.get("hillshade-accent-color");let o=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(o-=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:ze(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),o],u_shadow:n,u_highlight:s,u_accent:a}})(t,i,r,u?e:null),u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}function Qi(t,i,r,n,s,a){const o=t.context,l=o.gl,c=i.dem;if(c&&c.data){const h=c.dim,u=c.stride,d=c.getPixels();if(o.activeTexture.set(l.TEXTURE1),o.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(u),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else i.demTexture=new b(o,d,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);o.activeTexture.set(l.TEXTURE0);let p=i.fbo;if(!p){const t=new b(o,{width:h,height:h,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),p=i.fbo=o.createFramebuffer(h,h,!0,!1),p.colorAttachment.set(t.texture)}o.bindFramebuffer.set(p.framebuffer),o.viewport.set([0,0,h,h]),t.useProgram("hillshadePrepare").draw(o,l.TRIANGLES,n,s,a,Vi.disabled,((t,i)=>{const r=i.stride,n=e.H();return e.aQ(n,0,e.X,-e.X,0,0,1),e.J(n,n,[0,-e.X,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:t.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,c),null,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments),i.needsHillshadePrepare=!1}}function tr(t,i,r,n,a,o){const l=n.paint.get("raster-fade-duration");if(!o&&l>0){const n=s.now(),o=(n-t.timeAdded)/l,c=i?(n-i.timeAdded)/l:-1,h=r.getSource(),u=a.coveringZoomLevel({tileSize:h.tileSize,roundZoom:h.roundZoom}),d=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(t.tileID.overscaledZ-u),p=d&&t.refreshedUponExpiration?1:e.ad(d?o:1-c,0,1);return t.refreshedUponExpiration&&o>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const er=new e.aN(1,0,0,1),ir=new e.aN(0,1,0,1),rr=new e.aN(0,0,1,1),nr=new e.aN(1,0,1,1),sr=new e.aN(0,1,1,1);function ar(t,e,i,r){lr(t,0,e+i/2,t.transform.width,i,r)}function or(t,e,i,r){lr(t,e-i/2,0,i,t.transform.height,r)}function lr(t,e,i,r,n,s){const a=t.context,o=a.gl;o.enable(o.SCISSOR_TEST),o.scissor(e*t.pixelRatio,i*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio),a.clear({color:s}),o.disable(o.SCISSOR_TEST)}function cr(t,i,r){const n=t.context,s=n.gl,a=r.posMatrix,o=t.useProgram("debug"),l=Bi.disabled,c=Oi.disabled,h=t.colorModeForRenderPass(),u="$debug",d=t.style.map.terrain&&t.style.map.terrain.getTerrainData(r);n.activeTexture.set(s.TEXTURE0);const p=i.getTileByID(r.key).latestRawTileData,f=Math.floor((p&&p.byteLength||0)/1024),m=i.getTile(r).tileSize,_=512/Math.min(m,512)*(r.overscaledZ/t.transform.zoom)*.5;let g=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(g+=` => ${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)}(t,`${g} ${f}kB`),o.draw(n,s.TRIANGLES,l,c,Li.alphaBlended,Vi.disabled,Ce(a,e.aN.transparent,_),null,u,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),o.draw(n,s.LINE_STRIP,l,c,h,Vi.disabled,Ce(a,e.aN.red),d,u,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments)}function hr(t,e,i){const r=t.context,n=r.gl,s=t.colorModeForRenderPass(),a=new Bi(n.LEQUAL,Bi.ReadWrite,t.depthRangeFor3D),o=t.useProgram("terrain"),l=e.getTerrainMesh();r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height]);for(const c of i){const i=t.renderToTexture.getTexture(c),h=e.getTerrainData(c.tileID);r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,i.texture);const u=t.transform.calculatePosMatrix(c.tileID.toUnwrapped()),d=e.getMeshFrameDelta(t.transform.zoom),p=t.transform.calculateFogMatrix(c.tileID.toUnwrapped()),f=_e(u,d,p,t.style.sky,t.transform.pitch);o.draw(r,n.TRIANGLES,a,Oi.disabled,s,Vi.backCCW,f,h,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class ur{constructor(t,e,i){this.vertexBuffer=t,this.indexBuffer=e,this.segments=i}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class dr{constructor(t,i){this.context=new Ri(t),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.ao(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ut.maxUnderzooming+ut.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new le}resize(t,e,i){if(this.width=Math.floor(t*i),this.height=Math.floor(e*i),this.pixelRatio=i,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize()}setup(){const t=this.context,i=new e.aX;i.emplaceBack(0,0),i.emplaceBack(e.X,0),i.emplaceBack(0,e.X),i.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(i,de.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const r=new e.aX;r.emplaceBack(0,0),r.emplaceBack(e.X,0),r.emplaceBack(0,e.X),r.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(r,de.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const n=new e.$;n.emplaceBack(0,0,0,0),n.emplaceBack(e.X,0,e.X,0),n.emplaceBack(0,e.X,0,e.X),n.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(n,Y.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const s=new e.aX;s.emplaceBack(0,0),s.emplaceBack(1,0),s.emplaceBack(0,1),s.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(s,de.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aZ;a.emplaceBack(0),a.emplaceBack(1),a.emplaceBack(3),a.emplaceBack(2),a.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(a);const o=new e.aY;o.emplaceBack(0,1,2),o.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(o);const l=this.context.gl;this.stencilClearMode=new Oi({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const r=e.H();e.aQ(r,0,this.width,this.height,0,0,1),e.K(r,r,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(t,i.TRIANGLES,Bi.disabled,this.stencilClearMode,Li.disabled,Vi.disabled,Me(r),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const i=this.context,r=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(Li.disabled),i.setDepthMode(Bi.disabled);const n=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,s=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);n.draw(i,r.TRIANGLES,Bi.disabled,new Oi({func:r.ALWAYS,mask:0},e,255,r.KEEP,r.KEEP,r.REPLACE),Li.disabled,Vi.disabled,Me(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 Oi({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Oi({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({u_sky_color:t.properties.get("sky-color"),u_horizon_color:t.properties.get("horizon-color"),u_horizon:(e.height/2+e.getHorizon())*i,u_sky_horizon_blend:t.properties.get("sky-horizon-blend")*e.height/2*i}))(i,t.style.map.transform,t.pixelRatio),a=new Bi(n.LEQUAL,Bi.ReadWrite,[0,1]),o=Oi.disabled,l=t.colorModeForRenderPass(),c=t.useProgram("sky");if(!i.mesh){const t=new e.aX;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const n=new e.aY;n.emplaceBack(0,1,2),n.emplaceBack(0,2,3),i.mesh=new ur(r.createVertexBuffer(t,de.members),r.createIndexBuffer(n),e.a0.simpleSegment(0,0,t.length,n.length))}c.draw(r,n.TRIANGLES,a,o,l,Vi.disabled,s,void 0,"sky",i.mesh.vertexBuffer,i.mesh.indexBuffer,i.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=r.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[r[this.currentLayer]],e=n[t.source],i=a[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayeri.source&&!i.isHidden(e)?[t.sourceCaches[i.source]]:[])),n=r.filter((t=>"vector"===t.getSource().type)),s=r.filter((t=>"vector"!==t.getSource().type)),a=t=>{(!i||i.getSource().maxzooma(t))),i||s.forEach((t=>a(t))),i}(this.style,this.transform.zoom);t&&function(t,e,i){for(let r=0;r0),n&&(e.b0(i,r),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,i){const r=t.context,n=r.gl,s=Li.unblended,a=new Bi(n.LEQUAL,Bi.ReadWrite,[0,1]),o=i.getTerrainMesh(),l=i.sourceCache.getRenderableTiles(),c=t.useProgram("terrainDepth");r.bindFramebuffer.set(i.getFramebuffer("depth").framebuffer),r.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),r.clear({color:e.aN.transparent,depth:1});for(const e of l){const l=i.getTerrainData(e.tileID),h={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};c.draw(r,n.TRIANGLES,a,Oi.disabled,s,Vi.backCCW,h,l,"terrain",o.vertexBuffer,o.indexBuffer,o.segments)}r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain),function(t,i){const r=t.context,n=r.gl,s=Li.unblended,a=new Bi(n.LEQUAL,Bi.ReadWrite,[0,1]),o=i.getTerrainMesh(),l=i.getCoordsTexture(),c=i.sourceCache.getRenderableTiles(),h=t.useProgram("terrainCoords");r.bindFramebuffer.set(i.getFramebuffer("coords").framebuffer),r.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),r.clear({color:e.aN.transparent,depth:1}),i.coordsIndex=[];for(const e of c){const c=i.getTerrainData(e.tileID);r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,l.texture);const u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-i.coordsIndex.length)/255,u_texture:0,u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};h.draw(r,n.TRIANGLES,a,Oi.disabled,s,Vi.backCCW,u,c,"terrain",o.vertexBuffer,o.indexBuffer,o.segments),i.coordsIndex.push(e.tileID.key)}r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain))}renderLayer(t,i,r,n){if(!r.isHidden(this.transform.zoom)&&("background"===r.type||"custom"===r.type||(n||[]).length))switch(this.id=r.id,r.type){case"symbol":!function(t,i,r,n,s){if("translucent"!==t.renderPass)return;const a=Oi.disabled,o=t.colorModeForRenderPass();(r._unevaluatedLayout.hasValue("text-variable-anchor")||r._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(t,i,r,n,s,a,o,l,c){const h=i.transform,u=ee(),d="map"===s,p="map"===a;for(const s of t){const t=n.getTile(s),a=t.getBucket(r);if(!a||!a.text||!a.text.segments.get().length)continue;const f=e.ah(a.textSizeData,h.zoom),m=Bt(t,1,i.transform.zoom),_=gt(s.posMatrix,p,d,i.transform,m),g="none"!==r.layout.get("icon-text-fit")&&a.hasIconData();if(f){const e=Math.pow(2,h.zoom-t.tileID.overscaledZ),r=i.style.map.terrain?(t,e)=>i.style.map.terrain.getElevation(s,t,e):null,n=u.translatePosition(h,t,o,l);Zi(a,d,p,c,h,_,s.posMatrix,e,f,g,u,n,s.toUnwrapped(),r)}}}(n,t,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),s),0!==r.paint.get("icon-opacity").constantOr(1)&&Xi(t,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"),a,o),0!==r.paint.get("text-opacity").constantOr(1)&&Xi(t,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"),a,o),i.map.showCollisionBoxes&&(Ui(t,i,r,n,!0),Ui(t,i,r,n,!1))}(t,i,r,n,this.style.placement.variableOffsets);break;case"circle":!function(t,i,r,n){if("translucent"!==t.renderPass)return;const s=r.paint.get("circle-opacity"),a=r.paint.get("circle-stroke-width"),o=r.paint.get("circle-stroke-opacity"),l=!r.layout.get("circle-sort-key").isConstant();if(0===s.constantOr(1)&&(0===a.constantOr(1)||0===o.constantOr(1)))return;const c=t.context,h=c.gl,u=t.depthModeForSublayer(0,Bi.ReadOnly),d=Oi.disabled,p=t.colorModeForRenderPass(),f=[];for(let s=0;st.sortKey-e.sortKey));for(const e of f){const{programConfiguration:i,program:n,layoutVertexBuffer:s,indexBuffer:a,uniformValues:o,terrainData:l}=e.state;n.draw(c,h.TRIANGLES,u,d,p,Vi.disabled,o,l,r.id,s,a,e.segments,r.paint,t.transform.zoom,i)}}(t,i,r,n);break;case"heatmap":!function(t,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const s=t.context,a=s.gl,o=Oi.disabled,l=new Li([a.ONE,a.ONE],e.aN.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,!1),function(t,e,i,r){var n,s;const a=t.gl,o=null!==(n=t.HALF_FLOAT)&&void 0!==n?n:a.UNSIGNED_BYTE,l=null!==(s=t.RGBA16F)&&void 0!==s?s:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,e.width/4,e.height/4,0,a.RGBA,o,null),r.colorAttachment.set(i)}(t,e,s,n)}}(s,t,r),s.clear({color:e.aN.transparent});for(let e=0;e{const s=e.H();e.aQ(s,0,t.width,t.height,0,0,1);const a=t.context.gl;return{u_matrix:s,u_world:[a.drawingBufferWidth,a.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}})(t,i),null,i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom)}(t,r))}(t,i,r,n);break;case"line":!function(t,i,r,n){if("translucent"!==t.renderPass)return;const s=r.paint.get("line-opacity"),a=r.paint.get("line-width");if(0===s.constantOr(1)||0===a.constantOr(1))return;const o=t.depthModeForSublayer(0,Bi.ReadOnly),l=t.colorModeForRenderPass(),c=r.paint.get("line-dasharray"),h=r.paint.get("line-pattern"),u=h.constantOr(1),d=r.paint.get("line-gradient"),p=r.getCrossfadeParameters(),f=u?"linePattern":c?"lineSDF":d?"lineGradient":"line",m=t.context,_=m.gl;let g=!0;for(const s of n){const n=i.getTile(s);if(u&&!n.patternsLoaded())continue;const a=n.getBucket(r);if(!a)continue;const y=a.programConfigurations.get(r.id),x=t.context.program.get(),v=t.useProgram(f,y),w=g||v.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(s),S=h.constantOr(null);if(S&&n.imageAtlas){const t=n.imageAtlas,e=t.patternPositions[S.to.toString()],i=t.patternPositions[S.from.toString()];e&&i&&y.setConstantPatternPositions(e,i)}const I=T?s:null,P=u?Le(t,n,r,p,I):c?Re(t,n,r,c,p,I):d?De(t,n,r,a.lineClipsArray.length,I):Ee(t,n,r,I);if(u)m.activeTexture.set(_.TEXTURE0),n.imageAtlasTexture.bind(_.LINEAR,_.CLAMP_TO_EDGE),y.updatePaintBuffers(p);else if(c&&(w||t.lineAtlas.dirty))m.activeTexture.set(_.TEXTURE0),t.lineAtlas.bind(m);else if(d){const n=a.gradients[r.id];let o=n.texture;if(r.gradientVersion!==n.version){let l=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=s.canonical.z===r?Math.ceil(1<0?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.map.terrain?"/terrain":"");return this.cache[i]||(this.cache[i]=new ye(this.context,pe[t],e,Ze[t],this._showOverdrawInspector,this.style.map.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 b(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class pr{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(t,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=e.ag([],r,t))[3]/i*n;return e.b1(r,r,[s,s,1/r[3],s])})),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=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}([],function(t,e,i){var r=e[0],n=e[1],s=e[2],a=i[0],o=i[1],l=i[2];return t[0]=n*l-s*o,t[1]=s*a-r*l,t[2]=r*o-n*a,t}([],g([],s[t[0]],s[t[1]]),g([],s[t[2]],s[t[1]]))),i=-((r=e)[0]*(n=s[t[1]])[0]+r[1]*n[1]+r[2]*n[2]);var r,n;return e.concat(i)}));return new pr(s,a)}}class fr{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,i){return t[0]=.5*e[0],t[1]=.5*e[1],t[2]=.5*e[2],t}([],function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}([],this.min,this.max))}quadrant(t){const e=[t%2==0,t<2],i=m(this.min),r=m(this.max);for(let t=0;t=0&&a++;if(0===a)return 0;a!==i.length&&(r=!1)}if(r)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(let n=0;nthis.max[e]-this.min[e])return 0}return 1}}class mr{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(t,i,r){return null!=i.top&&null!=t.top&&(this.top=e.z.number(t.top,i.top,r)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.z.number(t.bottom,i.bottom,r)),null!=i.left&&null!=t.left&&(this.left=e.z.number(t.left,i.left,r)),null!=i.right&&null!=t.right&&(this.right=e.z.number(t.right,i.right,r)),this}getCenter(t,i){const r=e.ad((this.left+t-this.right)/2,0,t),n=e.ad((this.top+i-this.bottom)/2,0,i);return new e.P(r,n)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new mr(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const _r=85.051129;class gr{constructor(t,i,r,n,s){this.tileSize=512,this._renderWorldCopies=void 0===s||!!s,this._minZoom=t||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 e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new mr,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const t=new gr(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices()}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 e.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(t){const i=-e.b3(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,i){var r=e[0],n=e[1],s=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=r*l+s*o,t[1]=n*l+a*o,t[2]=r*-o+s*l,t[3]=n*-o+a*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ad(t,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.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),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(t){const i=[new e.b4(0,t)];if(this._renderWorldCopies){const r=this.pointCoordinate(new e.P(0,0)),n=this.pointCoordinate(new e.P(this.width,0)),s=this.pointCoordinate(new e.P(this.width,this.height)),a=this.pointCoordinate(new e.P(0,this.height)),o=Math.floor(Math.min(r.x,n.x,s.x,a.x)),l=Math.floor(Math.max(r.x,n.x,s.x,a.x)),c=1;for(let r=o-c;r<=l+c;r++)0!==r&&i.push(new e.b4(r,t))}return i}coveringTiles(t){var i,r;let n=this.coveringZoomLevel(t);const s=n;if(void 0!==t.minzoom&&nt.maxzoom&&(n=t.maxzoom);const a=this.pointCoordinate(this.getCameraPoint()),o=e.Z.fromLngLat(this.center),l=Math.pow(2,n),c=[l*a.x,l*a.y,0],h=[l*o.x,l*o.y,0],u=pr.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,n);let d=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=n);const p=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,f=t=>({aabb:new fr([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],_=[],g=n,x=t.reparseOverscaled?s:n;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(f(-t)),m.push(f(t));for(m.push(f(0));m.length>0;){const n=m.pop(),s=n.x,a=n.y;let o=n.fullyVisible;if(!o){const t=n.aabb.intersects(u);if(0===t)continue;o=2===t}const l=t.terrain?c:h,f=n.aabb.distanceX(l),v=n.aabb.distanceY(l),b=Math.max(Math.abs(f),Math.abs(v));if(n.zoom===g||b>p+(1<=d){const t=g-n.zoom,i=c[0]-.5-(s<>1),u=n.zoom+1;let d=n.aabb.quadrant(l);if(t.terrain){const s=new e.S(u,n.wrap,u,c,h),a=t.terrain.getMinMaxElevation(s),o=null!==(i=a.minElevation)&&void 0!==i?i:this.elevation,l=null!==(r=a.maxElevation)&&void 0!==r?r:this.elevation;d=new fr([d.min[0],d.min[1],o],[d.max[0],d.max[1],l])}m.push({aabb:d,zoom:u,x:c,y:h,wrap:n.wrap,fullyVisible:o})}}return _.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(t){const i=e.ad(t.lat,-85.051129,_r);return new e.P(e.O(t.lng)*this.worldSize,e.Q(i)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const i=this.elevation,r=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,n=this.pointLocation(this.centerPoint,t),s=t.getElevationForLngLatZoom(n,this.tileZoom);if(!(this.elevation-s))return;const a=r+i-s,o=Math.cos(this._pitch)*this.cameraToCenterDistance/a/e.b5(1,n.lat),l=this.scaleZoom(o/this.tileSize);this._elevation=s,this._center=n,this.zoom=l}setLocationAtPoint(t,i){const r=this.pointCoordinate(i),n=this.pointCoordinate(this.centerPoint),s=this.locationCoordinate(t),a=new e.Z(s.x-(r.x-n.x),s.y-(r.y-n.y));this.center=this.coordinateLocation(a),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,i){if(i){const e=i.pointCoordinate(t);if(null!=e)return e}const r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.ag(r,r,this.pixelMatrixInverse),e.ag(n,n,this.pixelMatrixInverse);const s=r[3],a=n[3],o=r[1]/s,l=n[1]/a,c=r[2]/s,h=n[2]/a,u=c===h?0:(0-c)/(h-c);return new e.Z(e.z.number(r[0]/s,n[0]/a,u)/this.worldSize,e.z.number(o,l,u)/this.worldSize)}coordinatePoint(t,i=0,r=this.pixelMatrix){const n=[t.x*this.worldSize,t.y*this.worldSize,i,1];return e.ag(n,n,r),new e.P(n[0]/n[3],n[1]/n[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return(new G).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new G([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,_r])}calculateTileMatrix(t){const i=t.canonical,r=this.worldSize/this.zoomScale(i.z),n=i.x+Math.pow(2,i.z)*t.wrap,s=e.ao(new Float64Array(16));return e.J(s,s,[n*r,i.y*r,0]),e.K(s,s,[r/e.X,r/e.X,1]),s}calculatePosMatrix(t,i=!1){const r=t.key,n=i?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];const s=this.calculateTileMatrix(t);return e.L(s,i?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,s),n[r]=new Float32Array(s),n[r]}calculateFogMatrix(t){const i=t.key,r=this._fogMatrixCache;if(r[i])return r[i];const n=this.calculateTileMatrix(t);return e.L(n,this.fogMatrix,n),r[i]=new Float32Array(n),r[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,i){i=e.ad(+i,this.minZoom,this.maxZoom);const r={center:new e.N(t.lng,t.lat),zoom:i};let n=this.lngRange;if(!this._renderWorldCopies&&null===n){const t=180-1e-10;n=[-t,t]}const s=this.tileSize*this.zoomScale(r.zoom);let a=0,o=s,l=0,c=s,h=0,u=0;const{x:d,y:p}=this.size;if(this.latRange){const t=this.latRange;a=e.Q(t[1])*s,o=e.Q(t[0])*s,o-ao&&(g=o-t)}if(n){const t=(l+c)/2;let i=f;this._renderWorldCopies&&(i=e.b3(f,t-s/2,t+s/2));const r=d/2;i-rc&&(_=c-r)}if(void 0!==_||void 0!==g){const t=new e.P(null!=_?_:f,null!=g?g:m);r.center=this.unproject.call({worldSize:s},t).wrap()}return r}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:i}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=i,this._unmodified=t,this._constraining=!1}_calcMatrices(){if(!this.height)return;const t=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let n=e.ao(new Float64Array(16));e.K(n,n,[this.width/2,-this.height/2,1]),e.J(n,n,[1,-1,0]),this.labelPlaneMatrix=n,n=e.ao(new Float64Array(16)),e.K(n,n,[1,-1,1]),e.J(n,n,[-1,-1,0]),e.K(n,n,[2/this.width,2/this.height,1]),this.glCoordMatrix=n;const s=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),a=Math.min(this.elevation,this.minElevationForCurrentTile),o=s-a*this._pixelPerMeter/Math.cos(this._pitch),l=a<0?o:s,c=Math.PI/2+this._pitch,h=this._fov*(.5+t.y/this.height),u=Math.sin(h)*l/Math.sin(e.ad(Math.PI-c-h,.01,Math.PI-.01)),d=this.getHorizon(),p=2*Math.atan(d/this.cameraToCenterDistance)*(.5+t.y/(2*d)),f=Math.sin(p)*l/Math.sin(e.ad(Math.PI-c-p,.01,Math.PI-.01)),m=Math.min(u,f),_=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),g=this.height/50;n=new Float64Array(16),e.b6(n,this._fov,this.width/this.height,g,_),n[8]=2*-t.x/this.width,n[9]=2*t.y/this.height,e.K(n,n,[1,-1,1]),e.J(n,n,[0,0,-this.cameraToCenterDistance]),e.b7(n,n,this._pitch),e.ae(n,n,this.angle),e.J(n,n,[-i,-r,0]),this.mercatorMatrix=e.K([],n,[this.worldSize,this.worldSize,this.worldSize]),e.K(n,n,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,n),e.J(n,n,[0,0,-this.elevation]),this.modelViewProjectionMatrix=n,this.invModelViewProjectionMatrix=e.at([],n),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,s,_),this.fogMatrix[8]=2*-t.x/this.width,this.fogMatrix[9]=2*t.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ae(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-i,-r,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,n);const y=this.width%2/2,x=this.height%2/2,v=Math.cos(this.angle),b=Math.sin(this.angle),w=i-Math.round(i)+v*y+b*x,T=r-Math.round(r)+v*x+b*y,S=new Float64Array(n);if(e.J(S,S,[w>.5?w-1:w,T>.5?T-1:T,0]),this.alignedModelViewProjectionMatrix=S,n=e.at(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.ag(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}getCameraQueryGeometry(t){const i=this.getCameraPoint();if(1===t.length)return[t[0],i];{let r=i.x,n=i.y,s=i.x,a=i.y;for(const e of t)r=Math.min(r,e.x),n=Math.min(n,e.y),s=Math.max(s,e.x),a=Math.max(a,e.y);return[new e.P(r,n),new e.P(s,n),new e.P(s,a),new e.P(r,a),new e.P(r,n)]}}lngLatToCameraDepth(t,i){const r=this.locationCoordinate(t),n=[r.x*this.worldSize,r.y*this.worldSize,i,1];return e.ag(n,n,this.modelViewProjectionMatrix),n[2]/n[3]}}function yr(t,e){let i,r=!1,n=null,s=null;const a=()=>{n=null,r&&(t.apply(s,i),n=setTimeout(a,e),r=!1)};return(...t)=>(r=!0,s=this,i=t,n||a(),n)}class xr{constructor(t){this._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("/")},this._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},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t)}catch(t){}},this._updateHash=yr(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t)}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,a=Math.round(e.lat*n)/n,o=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${s}/${a}/${i}`:`${i}/${a}/${s}`,(o||l)&&(c+="/"+Math.round(10*o)/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}`}}const vr={linearity:.3,easing:e.b8(0,0,.3,1)},br=e.e({deceleration:2500,maxSpeed:1400},vr),wr=e.e({deceleration:20,maxSpeed:1400},vr),Tr=e.e({deceleration:1e3,maxSpeed:360},vr),Sr=e.e({deceleration:1e3,maxSpeed:90},vr);class Ir{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:s.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=s.now();for(;t.length>0&&e-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.P(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=Ar(i.pan.mag(),r,e.e({},br,t||{}));n.offset=i.pan.mult(s.amount/i.pan.mag()),n.center=this._map.transform.center,Pr(n,s)}if(i.zoom){const t=Ar(i.zoom,r,wr);n.zoom=this._map.transform.zoom+t.amount,Pr(n,t)}if(i.bearing){const t=Ar(i.bearing,r,Tr);n.bearing=this._map.transform.bearing+e.ad(t.amount,-179,179),Pr(n,t)}if(i.pitch){const t=Ar(i.pitch,r,Sr);n.pitch=this._map.transform.pitch+t.amount,Pr(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(),e.e(n,{noMoveStart:!0})}}function Pr(t,e){(!t.duration||t.durationi.unproject(t))),l=s.reduce(((t,e,i,r)=>t.add(e.div(r.length))),new e.P(0,0));super(t,{points:s,point:l,lngLats:o,lngLat:i.unproject(l),originalEvent:r}),this._defaultPrevented=!1}}class kr extends e.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}}class zr{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new kr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Cr(t.type,this._map,t))}mouseup(t){this._map.fire(new Cr(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Cr(t.type,this._map,t))}dblclick(t){return this._firePreventable(new Cr(t.type,this._map,t))}mouseover(t){this._map.fire(new Cr(t.type,this._map,t))}mouseout(t){this._map.fire(new Cr(t.type,this._map,t))}touchstart(t){return this._firePreventable(new Mr(t.type,this._map,t))}touchmove(t){this._map.fire(new Mr(t.type,this._map,t))}touchend(t){this._map.fire(new Mr(t.type,this._map,t))}touchcancel(t){this._map.fire(new Mr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Er{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new Cr(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Cr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Cr(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Dr{constructor(t){this._map=t}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class Lr{constructor(t,e){this._map=t,this._tr=new Dr(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&&(a.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._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",t)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(a.remove(this._box),this._box=null),a.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(t,i){return this._map.fire(new e.k(t,{originalEvent:i}))}}function Rr(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),r.length===this.numTouches&&(this.centroid=function(t){const i=new e.P(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=Rr(r,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const r=Rr(i,e);for(const t in this.touches){const e=r[t];(!e||e.dist(this.touches[t])>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 Fr{constructor(t){this.singleTap=new Br(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 Or{constructor(t){this._tr=new Dr(t),this._zoomIn=new Fr({numTouches:1,numTaps:2}),this._zoomOut=new Fr({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),s=this._tr;return r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:s.zoom+1,around:s.unproject(r)},{originalEvent:t})}):n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:s.zoom-1,around:s.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}}class Vr{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset()}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t)}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(t,e){if(!this.isEnabled())return;const i=this._lastPoint;if(!i)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const r=e.length?e[0]:e;return!this._moved&&r.dist(i){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault()}},qr=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const r=new Ur({checkCorrectEvent:t=>0===a.mouseButton(t)&&t.ctrlKey||2===a.mouseButton(t)});return new Vr({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:r,enable:t,assignEvents:$r})},Zr=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const r=new Ur({checkCorrectEvent:t=>0===a.mouseButton(t)&&t.ctrlKey||2===a.mouseButton(t)});return new Vr({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:r,enable:t,assignEvents:$r})};class Gr{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0)}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._active&&!(i.length0&&(this._active=!0);const n=Rr(r,i),s=new e.P(0,0),a=new e.P(0,0);let o=0;for(const t in n){const e=n[t],i=this._touches[t];i&&(s._add(e),a._add(e.sub(i)),o++,n[t]=e)}if(this._touches=n,oMath.abs(t.x)}class tn extends Xr{constructor(t){super(),this._currentTouchCount=0,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,Qr(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,i){if(this._map.cooperativeGestures.isEnabled()&&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 Qr(t)&&Qr(e)&&s}}const en={panStep:100,bearingStep:15,pitchStep:10};class rn{constructor(t){this._tr=new Dr(t);const e=en;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.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:a=>{const o=this._tr;a.easeTo({duration:300,easeId:"keyboardHandler",easing:nn,zoom:e?Math.round(o.zoom)+e*(t.shiftKey?2:1):o.zoom,bearing:o.bearing+i*this._bearingStep,pitch:o.pitch+r*this._pitchStep,offset:[-n*this._panStep,-s*this._panStep],center:o.center},{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 nn(t){return t*(2-t)}const sn=4.000244140625;class an{constructor(t,e){this._onTimeout=t=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},this._map=t,this._tr=new Dr(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}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(t){if(!this.isEnabled())return;if(this._map.cooperativeGestures.isEnabled()&&!t[this._map.cooperativeGestures._bypassKey])return;let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const i=s.now(),r=i-(this._lastWheelEventTime||0);this._lastWheelEventTime=i,0!==e&&e%sn==0?this._type="wheel":0!==e&&Math.abs(e)<4?this._type="trackpad":r>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(r*e)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault()}_start(t){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=a.mousePos(this._map.getCanvas(),t),r=this._tr;this._around=i.y>r.transform.height/2-r.transform.getHorizon()?e.N.convert(this._aroundCenter?r.center:r.unproject(i)):e.N.convert(r.center),this._aroundPoint=r.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>sn?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==i&&(i=1/i);const r="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const i="number"==typeof this._targetZoom?this._targetZoom:t.zoom,r=this._startZoom,n=this._easing;let a,o=!1;if("wheel"===this._type&&r&&n){const t=Math.min((s.now()-this._lastWheelEventTime)/200,1),l=n(t);a=e.z.number(r,i,l),t<1?this._frameId||(this._frameId=!0):o=!0}else a=i,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!o,zoomDelta:a-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.b9;if(this._prevEase){const t=this._prevEase,r=(s.now()-t.start)/t.duration,n=t.easing(r+.01)-t.easing(r),a=.27/Math.sqrt(n*n+1e-4)*.01,o=Math.sqrt(.0729-a*a);i=e.b8(a,o,.25,1)}return this._prevEase={start:s.now(),duration:t,easing:i},i}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class on{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 ln{constructor(t){this._tr=new Dr(t),this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class cn{constructor(){this._tap=new Fr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(t,e,i){if(!this._swipePoint)if(this._tapTime){const r=e[0],n=t.timeStamp-this._tapTime<500,s=this._tapPoint.dist(r)<30;n&&s?i.length>0&&(this._swipePoint=r,this._swipeTouch=i[0].identifier):this.reset()}else 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){if(this._tapTime)this._swipePoint&&0===i.length&&this.reset();else{const r=this._tap.touchend(t,e,i);r&&(this._tapTime=t.timeStamp,this._tapPoint=r)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class hn{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")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class un{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 dn{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")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-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()}}class pn{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=t,this._options=e,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add("maplibregl-cooperative-gestures"),this._container=a.create("div","maplibregl-cooperative-gesture-screen",t);let e=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(e=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const i=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),r=document.createElement("div");r.className="maplibregl-desktop-message",r.textContent=e,this._container.appendChild(r);const n=document.createElement("div");n.className="maplibregl-mobile-message",n.textContent=i,this._container.appendChild(n),this._container.setAttribute("aria-hidden","true")}_destoryUI(){this._container&&(a.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destoryUI()}isEnabled(){return this._enabled}touchmove(t){this._onCooperativeGesture(1===t.touches.length)}wheel(t){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!t[this._bypassKey])}_onCooperativeGesture(t){this._enabled&&t&&(this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}const fn=t=>t.zoom||t.drag||t.pitch||t.rotate;class mn extends e.k{}function _n(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class gn{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`)},this.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={},s={},o=t.touches,l=o?this._getMapTouches(o):void 0,c=l?a.touchPos(this._map.getCanvas(),l):a.mousePos(this._map.getCanvas(),t);for(const{handlerName:a,handler:o,allowed:h}of this._handlers){if(!o.isEnabled())continue;let u;this._blockedByActive(s,h,a)?o.reset():o[e||t.type]&&(u=o[e||t.type](t,c,l),this.mergeHandlerResult(r,n,u,a,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||o.isActive())&&(s[a]=o)}const h={};for(const t in this._previousActiveHandlers)s[t]||(h[t]=i);this._previousActiveHandlers=s,(Object.keys(h).length||_n(r))&&(this._changes.push([r,n,h]),this._triggerRenderFrame()),(Object.keys(s).length||_n(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ir(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[window,"blur",void 0]];for(const[t,e,i]of this._listeners)a.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}destroy(){for(const[t,e,i]of this._listeners)a.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new zr(e,t));const r=e.boxZoom=new Lr(e,t);this._add("boxZoom",r),t.interactive&&t.boxZoom&&r.enable();const n=e.cooperativeGestures=new pn(e,t.cooperativeGestures);this._add("cooperativeGestures",n),t.cooperativeGestures&&n.enable();const s=new Or(e),o=new ln(e);e.doubleClickZoom=new on(o,s),this._add("tapZoom",s),this._add("clickZoom",o),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new cn;this._add("tapDragZoom",l);const c=e.touchPitch=new tn(e);this._add("touchPitch",c),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const h=qr(t),u=Zr(t);e.dragRotate=new un(t,h,u),this._add("mouseRotate",h,["mousePitch"]),this._add("mousePitch",u,["mouseRotate"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const d=(({enable:t,clickTolerance:e})=>{const i=new Ur({checkCorrectEvent:t=>0===a.mouseButton(t)&&!t.ctrlKey});return new Vr({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:i,enable:t,assignEvents:$r})})(t),p=new Gr(t,e);e.dragPan=new hn(i,d,p),this._add("mousePan",d),this._add("touchPan",p,["touchZoom","touchRotate"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const f=new Yr,m=new Kr;e.touchZoomRotate=new dn(i,m,f,l),this._add("touchRotate",f,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const _=e.scrollZoom=new an(e,(()=>this._triggerRenderFrame()));this._add("scrollZoom",_,["mousePan"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const g=e.keyboard=new rn(e);this._add("keyboard",g),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add("blockableMapEvent",new Er(e))}_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(fn(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}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}mergeHandlerResult(t,i,r,n,s){if(!r)return;e.e(t,r);const a={handlerName:n,originalEvent:r.originalEvent||s};void 0!==r.zoomDelta&&(i.zoom=a),void 0!==r.panDelta&&(i.drag=a),void 0!==r.pitchDelta&&(i.pitch=a),void 0!==r.bearingDelta&&(i.rotate=a)}_applyChanges(){const t={},i={},r={};for(const[n,s,a]of this._changes)n.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(n.panDelta)),n.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(t.around=n.around),void 0!==n.pinchAround&&(t.pinchAround=n.pinchAround),n.noInertia&&(t.noInertia=n.noInertia),e.e(i,s),e.e(r,a);this._updateMapTransform(t,i,r),this._changes=[]}_updateMapTransform(t,e,i){const r=this._map,n=r._getTransformForUpdate(),s=r.terrain;if(!(_n(t)||s&&this._terrainMovement))return this._fireEvents(e,i,!0);let{panDelta:a,zoomDelta:o,bearingDelta:l,pitchDelta:c,around:h,pinchAround:u}=t;void 0!==u&&(h=u),r._stop(!0),h=h||r.transform.centerPoint;const d=n.pointLocation(a?h.sub(a):h);l&&(n.bearing+=l),c&&(n.pitch+=c),o&&(n.zoom+=o),s?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?n.center=n.pointLocation(n.centerPoint.sub(a)):n.setLocationAtPoint(d,h):(this._terrainMovement=!0,this._map._elevationFreeze=!0,n.setLocationAtPoint(d,h)):n.setLocationAtPoint(d,h),r._applyUpdatedTransform(n),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0)}_fireEvents(t,i,r){const n=fn(this._eventsInProgress),a=fn(t),o={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(o[`${e}start`]=i),this._eventsInProgress[e]=t[e]}!n&&a&&this._fireEvent("movestart",a.originalEvent);for(const t in o)this._fireEvent(t,o[t]);a&&this._fireEvent("move",a.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i)}const l={};let c;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:r}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],c=i[e]||r,l[`${t}end`]=c)}for(const t in l)this._fireEvent(t,l[t]);const h=fn(this._eventsInProgress),u=(n||a)&&!h;if(u&&this._terrainMovement&&(this._map._elevationFreeze=!1,this._terrainMovement=!1,this._map.transform.recalculateZoom(this._map.terrain)),r&&u){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new mn("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class yn extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((s.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,i,r){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},i),r)}panTo(t,i,r){return this.easeTo(e.e({center:t},i),r)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,i,r){return this.easeTo(e.e({zoom:t},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(t,i,r){return this.easeTo(e.e({bearing:t},i),r)}resetNorth(t,i){return this.rotateTo(0,e.e({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(n.zoom=e.z.number(a,g,r)),this._rotating&&(n.bearing=e.z.number(o,h,r)),this._pitching&&(n.pitch=e.z.number(l,u,r)),this._padding&&(n.interpolatePadding(c,d,r),f=n.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(r),b)n.setLocationAtPoint(b,w);else{const t=n.zoomScale(n.zoom-a),e=g>a?Math.min(2,v):Math.max(.5,v),i=Math.pow(e,1-r),s=n.unproject(y.add(x.mult(r*i)).mult(t));n.setLocationAtPoint(n.renderWorldCopies?s.wrap():s,f)}this._applyUpdatedTransform(n),this._fireMoveEvents(i)}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i,e)}),t),this}_prepareEase(t,i,r={}){this._moving=!0,i||r.moving||this.fire(new e.k("movestart",t)),this._zooming&&!r.zooming&&this.fire(new e.k("zoomstart",t)),this._rotating&&!r.rotating&&this.fire(new e.k("rotatestart",t)),this._pitching&&!r.pitching&&this.fire(new e.k("pitchstart",t))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&i!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(e-(i-(e*t+this._elevationStart))/(1-t)),this._elevationTarget=i}this.transform.elevation=e.z.number(this._elevationStart,this._elevationTarget,t)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(t){if(!this.transformCameraUpdate)return;const e=t.clone(),{center:i,zoom:r,pitch:n,bearing:s,elevation:a}=this.transformCameraUpdate(e);i&&(e.center=i),void 0!==r&&(e.zoom=r),void 0!==n&&(e.pitch=n),void 0!==s&&(e.bearing=s),void 0!==a&&(e.elevation=a),this.transform.apply(e)}_fireMoveEvents(t){this.fire(new e.k("move",t)),this._zooming&&this.fire(new e.k("zoom",t)),this._rotating&&this.fire(new e.k("rotate",t)),this._pitching&&this.fire(new e.k("pitch",t))}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;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 e.k("zoomend",t)),n&&this.fire(new e.k("rotateend",t)),s&&this.fire(new e.k("pitchend",t)),this.fire(new e.k("moveend",t))}flyTo(t,i){var r;if(!t.essential&&s.prefersReducedMotion){const r=e.M(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},t);const n=this._getTransformForUpdate(),a=this.getZoom(),o=this.getBearing(),l=this.getPitch(),c=this.getPadding(),h="bearing"in t?this._normalizeBearing(t.bearing,o):o,u="pitch"in t?+t.pitch:l,d="padding"in t?t.padding:n.padding,p=e.P.convert(t.offset);let f=n.centerPoint.add(p);const m=n.pointLocation(f),{center:_,zoom:g}=n.getConstrained(e.N.convert(t.center||m),null!==(r=t.zoom)&&void 0!==r?r:a);this._normalizeCenter(_);const y=n.zoomScale(g-a),x=n.project(m),v=n.project(_).sub(x);let b=t.curve;const w=Math.max(n.width,n.height),T=w/y,S=v.mag();if("minZoom"in t){const i=e.ad(Math.min(t.minZoom,a,g),n.minZoom,n.maxZoom),r=w/n.zoomScale(i-a);b=Math.sqrt(r/S*2)}const I=b*b;function P(t){const e=(T*T-w*w+(t?-1:1)*I*I*S*S)/(2*(t?T:w)*I*S);return Math.log(Math.sqrt(e*e+1)-e)}function A(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}const M=P(!1);let k=function(t){return C(M)/C(M+b*t)},z=function(t){return w*((C(M)*(A(e=M+b*t)/C(e))-A(M))/I)/S;var e},E=(P(!0)-M)/b;if(Math.abs(S)<1e-6||!isFinite(E)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,i);const e=T0,k=t=>Math.exp(e*b*t)}return t.duration="duration"in t?+t.duration:1e3*E/("screenSpeed"in t?+t.screenSpeed/b:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=o!==h,this._pitching=u!==l,this._padding=!n.isPaddingEqual(d),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(_),this._ease((r=>{const s=r*E,m=1/k(s);n.zoom=1===r?g:a+n.scaleZoom(m),this._rotating&&(n.bearing=e.z.number(o,h,r)),this._pitching&&(n.pitch=e.z.number(l,u,r)),this._padding&&(n.interpolatePadding(c,d,r),f=n.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(r);const y=1===r?_:n.unproject(x.add(v.mult(z(s))).mult(m));n.setLocationAtPoint(n.renderWorldCopies?y.wrap():y,f),this._applyUpdatedTransform(n),this._fireMoveEvents(i)}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i)}),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var i;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)}return t||null===(i=this.handlers)||void 0===i||i.stop(!1),this}_ease(t,e,i){!1===i.animate||0===i.duration?(t(1),e()):(this._easeStart=s.now(),this._easeOptions=i,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(t,i){t=e.b3(t,-180,180);const r=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const xn={compact:!0,customAttribution:'MapLibre'};class vn{constructor(t=xn){this._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")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=t=>{!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType&&"terrain"!==t.type||this._updateAttributions()},this._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","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=t}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=a.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=a.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=a.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){a.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",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)}_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||r.usedForTerrain){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")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class bn{constructor(t={}){this._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"):e.classList.remove("maplibregl-compact")}},this.options=t}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("div","maplibregl-ctrl");const e=a.create("a","maplibregl-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(){a.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class wn{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){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");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=[]}}var Tn=e.Y([{name:"a_pos3d",type:"Int16",components:3}]);class Sn extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(t,i){this.sourceCache.update(t,i),this._renderableTilesKeys=[];const r={};for(const n of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))r[n.key]=!0,this._renderableTilesKeys.push(n.key),this._tiles[n.key]||(n.posMatrix=new Float64Array(16),e.aQ(n.posMatrix,0,e.X,0,e.X,0,1),this._tiles[n.key]=new lt(n,this.tileSize));for(const t in this._tiles)r[t]||delete this._tiles[t]}freeRtt(t){for(const e in this._tiles){const i=this._tiles[e];(!t||i.tileID.equals(t)||i.tileID.isChildOf(t)||t.isChildOf(i.tileID))&&(i.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const i={};for(const r of this._renderableTilesKeys){const n=this._tiles[r].tileID;if(n.canonical.equals(t.canonical)){const n=t.clone();n.posMatrix=new Float64Array(16),e.aQ(n.posMatrix,0,e.X,0,e.X,0,1),i[r]=n}else if(n.canonical.isChildOf(t.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16);const a=n.canonical.z-t.canonical.z,o=n.canonical.x-(n.canonical.x>>a<>a<>a;e.aQ(s.posMatrix,0,c,0,c,0,1),e.J(s.posMatrix,s.posMatrix,[-o*c,-l*c,0]),i[r]=s}else if(t.canonical.isChildOf(n.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16);const a=t.canonical.z-n.canonical.z,o=t.canonical.x-(t.canonical.x>>a<>a<>a;e.aQ(s.posMatrix,0,e.X,0,e.X,0,1),e.J(s.posMatrix,s.posMatrix,[o*c,l*c,0]),e.K(s.posMatrix,s.posMatrix,[1/2**a,1/2**a,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.timeAdded>=t))}}class In{constructor(t,e,i){this.painter=t,this.sourceCache=new Sn(e),this.options=i,this.exaggeration="number"==typeof i.exaggeration?i.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(t,i,r,n=e.X){var s;if(!(i>=0&&i=0&&rt.canonical.z&&(t.canonical.z>=r?n=t.canonical.z-r:e.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const s=t.canonical.x-(t.canonical.x>>n<>n<>8<<4|t>>8,i[e+3]=0;const r=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),n=new b(t,r,t.gl.RGBA,{premultiply:!1});return n.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const i=new Uint8Array(4),r=this.painter.context,n=r.gl,s=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),a=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),o=Math.round(this.painter.height/devicePixelRatio);r.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),n.readPixels(s,o-a-1,1,1,n.RGBA,n.UNSIGNED_BYTE,i),r.bindFramebuffer.set(null);const l=i[0]+(i[2]>>4<<8),c=i[1]+((15&i[2])<<8),h=this.coordsIndex[255-i[3]],u=h&&this.sourceCache.getTileByID(h);if(!u)return null;const d=this._coordsTextureSize,p=(1<t.id!==e)),this._recentlyUsed.push(t.id)}stampObject(t){t.stamp=++this._stamp}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1}freeAllObjects(){for(const t of this._objects)this.freeObject(t)}isFull(){return!(this._objects.length!t.inUse))}}const An={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Cn{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Pn(t.context,30,e.sourceCache.tileSize*e.qualityFactor)}destruct(){this.pool.destruct()}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((i=>!t._layers[i].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const i=t.sourceCaches[e].getVisibleCoordinates();for(const t of i){const i=this.terrain.sourceCache.getTerrainCoords(t);for(const t in i)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(i[t])}}this._coordsDescendingInvStr={};for(const e of t._order){const i=t._layers[e],r=i.source;if(An[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()}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const i=this._coordsDescendingInvStr[e][t.tileID.key];i&&i!==t.rttCoords[e]&&(t.rtt=[])}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return!1;const i=t.type,r=this.painter,n=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(An[i]&&(this._prevType&&An[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(t.id),!n))return!0;if(An[this._prevType]||An[i]&&n){this._prevType=i;const t=this._stacks.length-1,n=this._stacks[t]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(hr(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[t]){const e=this.pool.getObjectForId(i.rtt[t].id);if(e.stamp===i.rtt[t].stamp){this.pool.useObject(e);continue}}const s=this.pool.getOrCreateFreeObject();this.pool.useObject(s),this.pool.stampObject(s),i.rtt[t]={id:s.id,stamp:s.stamp},r.context.bindFramebuffer.set(s.fbo.framebuffer),r.context.clear({color:e.aN.transparent,stencil:0}),r.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd},Dn={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ln{constructor(t,i,r=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),a.mousePos(this.element,t)),a.addEventListener(window,"mousemove",this.mousemove),a.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=t=>{this.moveMouse(t,a.mousePos(this.element,t))},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp()},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),a.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.addEventListener(window,"touchend",this.touchend))},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos))},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const n=t.dragRotate._mouseRotate.getClickTolerance(),s=t.dragRotate._mousePitch.getClickTolerance();this.element=i,this.mouseRotate=qr({clickTolerance:n,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const r=new jr;return new Vr({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:r,enable:t,assignEvents:En})})({clickTolerance:n,enable:!0}),this.map=t,r&&(this.mousePitch=Zr({clickTolerance:s,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const r=new jr;return new Vr({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:r,enable:t,assignEvents:En})})({clickTolerance:s,enable:!0})),a.addEventListener(i,"mousedown",this.mousedown),a.addEventListener(i,"touchstart",this.touchstart,{passive:!1}),a.addEventListener(i,"touchcancel",this.reset)}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),a.disableDrag()}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),a.disableDrag()}moveMouse(t,e){const i=this.map,{bearingDelta:r}=this.mouseRotate.dragMove(t,e)||{};if(r&&i.setBearing(i.getBearing()+r),this.mousePitch){const{pitchDelta:r}=this.mousePitch.dragMove(t,e)||{};r&&i.setPitch(i.getPitch()+r)}}moveTouch(t,e){const i=this.map,{bearingDelta:r}=this.touchRotate.dragMove(t,e)||{};if(r&&i.setBearing(i.getBearing()+r),this.touchPitch){const{pitchDelta:r}=this.touchPitch.dragMove(t,e)||{};r&&i.setPitch(i.getPitch()+r)}}off(){const t=this.element;a.removeEventListener(t,"mousedown",this.mousedown),a.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),a.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.removeEventListener(window,"touchend",this.touchend),a.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){a.enableDrag(),a.removeEventListener(window,"mousemove",this.mousemove),a.removeEventListener(window,"mouseup",this.mouseup),a.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.removeEventListener(window,"touchend",this.touchend)}}let Rn;function Bn(t,i,r){const n=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),i){const n=new e.N(t.lng-360,t.lat),s=new e.N(t.lng+360,t.lat),a=r.locationPoint(t).distSqr(i);r.locationPoint(n).distSqr(i)180;){const e=r.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=r.width&&e.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t.lng!==n.lng&&r.locationPoint(t).y>r.height/2-r.getHorizon()?t:n}const Fn={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 On(t,e,i){const r=t.classList;for(const t in Fn)r.remove(`maplibregl-${i}-anchor-${t}`);r.add(`maplibregl-${i}-anchor-${e}`)}class Vn extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()},this._onMapClick=t=>{const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()},this._update=t=>{var e;if(!this._map)return;const i=this._map.loaded()&&!this._map.isMoving();("terrain"===(null==t?void 0:t.type)||"render"===(null==t?void 0:t.type)&&!i)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Bn(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let r="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?r=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(r=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let n="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?n="rotateX(0deg)":"map"===this._pitchAlignment&&(n=`rotateX(${this._map.getPitch()}deg)`),t&&"moveend"!==t.type||(this._pos=this._pos.round()),a.setTransform(this._element,`${Fn[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${n} ${r}`),s.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&"moveend"===t.type)})).catch((()=>{}))},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e}this._isDragging&&(this._pos=t.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 e.k("dragstart"))),this.fire(new e.k("drag")))},this._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 e.k("dragend")),this._state="inactive"},this._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))},this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&"auto"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=a.create("div");const i=a.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 s=a.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"stroke","none"),s.setAttributeNS(null,"stroke-width","1"),s.setAttributeNS(null,"fill","none"),s.setAttributeNS(null,"fill-rule","evenodd");const o=a.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"fill-rule","nonzero");const l=a.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=a.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=a.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"fill",this._color);const u=a.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=a.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"opacity","0.25"),d.setAttributeNS(null,"fill","#000000");const p=a.createNS("http://www.w3.org/2000/svg","path");p.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(p);const f=a.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"transform","translate(6.0, 7.0)"),f.setAttributeNS(null,"fill","#FFFFFF");const m=a.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");const _=a.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#000000"),_.setAttributeNS(null,"opacity","0.25"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962");const g=a.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"),m.appendChild(_),m.appendChild(g),o.appendChild(l),o.appendChild(h),o.appendChild(d),o.appendChild(f),o.appendChild(m),i.appendChild(o),i.setAttributeNS(null,"height",r*this._scale+"px"),i.setAttributeNS(null,"width",n*this._scale+"px"),this._element.appendChild(i),this._offset=e.P.convert(t&&t.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),On(this._element,this._anchor,"marker"),t&&t.className)for(const e of t.className.split(" "))this._element.classList.add(e);this._popup=null}addTo(t){return this.remove(),this._map=t,this._element.setAttribute("aria-label",t._getUIString("Marker.Title")),t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),t.on("terrain",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("terrain",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),a.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),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.abs(i)/Math.SQRT2;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._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var i,r;if(!(null===(i=this._map)||void 0===i?void 0:i.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}const n=this._map,s=n.terrain.depthAtPoint(this._pos),a=n.terrain.getElevationForLngLatZoom(this._lngLat,n.transform.tileZoom);if(n.transform.lngLatToCameraDepth(this._lngLat,a)-s<.006)return void(this._element.style.opacity=this._opacity);const o=-this._offset.y/n.transform._pixelPerMeter,l=Math.sin(n.getPitch()*Math.PI/180)*o,c=n.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),h=n.transform.lngLatToCameraDepth(this._lngLat,a+l)-c>.006;(null===(r=this._popup)||void 0===r?void 0:r.isOpen())&&h&&this._popup.remove(),this._element.style.opacity=h?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t)}removeClassName(t){this._element.classList.remove(t)}toggleClassName(t){return this._element.classList.toggle(t)}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}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const Nn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Un=0,jn=!1;const $n={maxWidth:100,unit:"metric"};function qn(t,e,i){const r=i&&i.maxWidth||100,n=t._container.clientHeight/2,s=t.unproject([0,n]),a=t.unproject([r,n]),o=s.distanceTo(a);if(i&&"imperial"===i.unit){const i=3.2808*o;i>5280?Zn(e,r,i/5280,t._getUIString("ScaleControl.Miles")):Zn(e,r,i,t._getUIString("ScaleControl.Feet"))}else i&&"nautical"===i.unit?Zn(e,r,o/1852,t._getUIString("ScaleControl.NauticalMiles")):o>=1e3?Zn(e,r,o/1e3,t._getUIString("ScaleControl.Kilometers")):Zn(e,r,o,t._getUIString("ScaleControl.Meters"))}function Zn(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 Gn={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},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 Wn(t){if(t){if("number"==typeof t){const i=Math.round(Math.abs(t)/Math.SQRT2);return{center:new e.P(0,0),top:new e.P(0,t),"top-left":new e.P(i,i),"top-right":new e.P(-i,i),bottom:new e.P(0,-t),"bottom-left":new e.P(i,-i),"bottom-right":new e.P(-i,-i),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const i=e.P.convert(t);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:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),"top-left":e.P.convert(t["top-left"]||[0,0]),"top-right":e.P.convert(t["top-right"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),"bottom-left":e.P.convert(t["bottom-left"]||[0,0]),"bottom-right":e.P.convert(t["bottom-right"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return Wn(new e.P(0,0))}const Hn=i;t.AJAXError=e.bg,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bh,t.config=e.a,t.removeProtocol=e.bi,t.AttributionControl=vn,t.BoxZoomHandler=Lr,t.CanvasSource=et,t.CooperativeGesturesHandler=pn,t.DoubleClickZoomHandler=on,t.DragPanHandler=hn,t.DragRotateHandler=un,t.EdgeInsets=mr,t.FullscreenControl=class extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w("Full screen control 'container' must be a DOM element.")),"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(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){a.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const t=this._fullscreenButton=a.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);a.create("span","maplibregl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_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}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new e.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){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._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},t.GeoJSONSource=J,t.GeolocateControl=class extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new e.k("geolocate",t)),this._finish()}},this._updateCamera=t=>{const i=new e.N(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy,n=this._map.getBearing(),s=e.e({bearing:n},this.options.fitBoundsOptions),a=G.fromLngLat(i,r);this._map.fitBounds(a,s,{geolocateSource:!0})},this._updateMarker=t=>{if(t){const i=new e.N(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-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===t.code&&jn)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new e.k("error",t)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=t=>{if(this._map){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=a.create("button","maplibregl-ctrl-geolocate",this._container),a.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===t){e.w("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}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=a.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Vn({element:this._dotElement}),this._circleElement=a.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Vn({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new e.k("trackuserlocationend")),this.fire(new e.k("userlocationlostfocus")))}))}},this.options=e.e({},Nn,t)}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==Rn&&!t)return Rn;if(void 0===window.navigator.permissions)return Rn=!!window.navigator.geolocation,Rn;try{const t=yield window.navigator.permissions.query({name:"geolocation"});Rn="denied"!==t.state}catch(t){Rn=!!window.navigator.geolocation}return Rn}))}().then((t=>this._setupUI(t))),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(),a.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Un=0,jn=!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"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),i=t.getNorthEast(),r=e.distanceTo(i),n=Math.ceil(this._accuracy/(r/this._map._container.clientHeight)*2);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}trigger(){if(!this._setup)return e.w("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 e.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Un--,jn=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new e.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k("trackuserlocationstart")),this.fire(new e.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}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"),this._geolocateButton.setAttribute("aria-pressed","true"),Un++,Un>1?(t={maximumAge:6e5,timeout:0},jn=!0):(t=this.options.positionOptions,jn=!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"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},t.Hash=xr,t.ImageSource=Q,t.KeyboardHandler=rn,t.LngLatBounds=G,t.LogoControl=bn,t.Map=class extends yn{constructor(t){e.be.mark(e.bf.create);const i=Object.assign(Object.assign({},zn),t);if(null!=i.minZoom&&null!=i.maxZoom&&i.minZoom>i.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=i.minPitch&&null!=i.maxPitch&&i.minPitch>i.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=i.minPitch&&i.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=i.maxPitch&&i.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new gr(i.minZoom,i.maxZoom,i.minPitch,i.maxPitch,i.renderWorldCopies),{bearingSnap:i.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new wn,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k("webglcontextlost",{originalEvent:t}))},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k("webglcontextrestored",{originalEvent:t}))},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=i.interactive,this._maxTileCacheSize=i.maxTileCacheSize,this._maxTileCacheZoomLevels=i.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===i.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===i.preserveDrawingBuffer,this._antialias=!0===i.antialias,this._trackResize=!0===i.trackResize,this._bearingSnap=i.bearingSnap,this._refreshExpiredTiles=!0===i.refreshExpiredTiles,this._fadeDuration=i.fadeDuration,this._crossSourceCollisions=!0===i.crossSourceCollisions,this._collectResourceTiming=!0===i.collectResourceTiming,this._locale=Object.assign(Object.assign({},Mn),i.locale),this._clickTolerance=i.clickTolerance,this._overridePixelRatio=i.pixelRatio,this._maxCanvasSize=i.maxCanvasSize,this.transformCameraUpdate=i.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===i.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=p.addThrottleControl((()=>this.isMoving())),this._requestManager=new f(i.transformRequest),"string"==typeof i.container){if(this._container=document.getElementById(i.container),!this._container)throw new Error(`Container '${i.container}' not found.`)}else{if(!(i.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=i.container}if(i.maxBounds&&this.setMaxBounds(i.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",(()=>this._update(!1))).on("moveend",(()=>this._update(!1))).on("zoom",(()=>this._update(!0))).on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})).once("idle",(()=>{this._idleTriggered=!0})),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let t=!1;const e=yr((t=>{this._trackResize&&!this._removed&&this.resize(t)._update()}),50);this._resizeObserver=new ResizeObserver((i=>{t?e(i):t=!0})),this._resizeObserver.observe(this._container)}this.handlers=new gn(this,i),this._hash=i.hash&&new xr("string"==typeof i.hash&&i.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch}),i.bounds&&(this.resize(),this.fitBounds(i.bounds,e.e({},i.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=i.localIdeographFontFamily,this._validateStyle=i.validateStyle,i.style&&this.setStyle(i.style,{localIdeographFontFamily:i.localIdeographFontFamily}),i.attributionControl&&this.addControl(new vn("boolean"==typeof i.attributionControl?void 0:i.attributionControl)),i.maplibreLogo&&this.addControl(new bn,i.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t))})),this.on("dataloading",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t))})),this.on("dataabort",(t=>{this.fire(new e.k("sourcedataabort",t))}))}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=t.onAdd(this);this._controls.push(t);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,r){return null==r&&this.terrain&&(r=this.terrain.getElevationForLngLatZoom(i,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,i,r)}resize(t){var i;const r=this._containerDimensions(),n=r[0],s=r[1],a=this._getClampedPixelRatio(n,s);if(this._resizeCanvas(n,s,a),this.painter.resize(n,s,a),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(n,s);this._resizeCanvas(n,s,e),this.painter.resize(n,s,e)}this.transform.resize(n,s),null===(i=this._requestedCameraState)||void 0===i||i.resize(n,s);const o=!this._moving;return o&&(this.stop(),this.fire(new e.k("movestart",t)).fire(new e.k("move",t))),this.fire(new e.k("resize",t)),o&&this.fire(new e.k("moveend",t)),this}_getClampedPixelRatio(t,e){const{0:i,1:r}=this._maxCanvasSize,n=this.getPixelRatio(),s=t*n,a=e*n;return Math.min(s>i?i/s:1,a>r?r/a:1)*n}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(G.convert(t)),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(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.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 Cr(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 Cr(t,this,n.originalEvent)))},s=e=>{r&&(r=!1,i.call(this,new Cr(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;tthis._updateStyle(t,e)));const i=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new ue(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t,e,i):this.style.loadJSON(t,e,i),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new ue(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(t,i){if("string"==typeof t){const r=this._requestManager.transformRequest(t,"Style");e.h(r,new AbortController).then((t=>{this._updateDiff(t.data,i)})).catch((t=>{t&&this.fire(new e.j(t))}))}else"object"==typeof t&&this._updateDiff(t,i)}_updateDiff(t,i){try{this.style.setState(t,i)&&this._update(!0)}catch(r){e.w(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(t,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)))}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),t){const i=this.style.sourceCaches[t.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&i.reload();for(const i in this.style._layers){const r=this.style._layers[i];"hillshade"===r.type&&r.source===t.source&&e.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new In(this.painter,i,t),this.painter.renderToTexture=new Cn(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{"style"===e.dataType?this.terrain.sourceCache.freeRtt():"source"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k("terrain",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}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}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,i,r={}){const{pixelRatio:n=1,sdf:a=!1,stretchX:o,stretchY:l,content:c,textFitWidth:h,textFitHeight:u}=r;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||e.b(i))){if(void 0===i.width||void 0===i.height)return this.fire(new e.j(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:r,height:s,data:d}=i,p=i;return this.style.addImage(t,{data:new e.R({width:r,height:s},new Uint8Array(d)),pixelRatio:n,stretchX:o,stretchY:l,content:c,textFitWidth:h,textFitHeight:u,sdf:a,version:0,userImage:p}),p.onAdd&&p.onAdd(this,t),this}}{const{width:r,height:d,data:p}=s.getImageData(i);this.style.addImage(t,{data:new e.R({width:r,height:d},p),pixelRatio:n,stretchX:o,stretchY:l,content:c,textFitWidth:h,textFitHeight:u,sdf:a,version:0})}}updateImage(t,i){const r=this.style.getImage(t);if(!r)return this.fire(new e.j(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||e.b(i)?s.getImageData(i):i,{width:a,height:o,data:l}=n;if(void 0===a||void 0===o)return this.fire(new e.j(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(a!==r.data.width||o!==r.data.height)return this.fire(new e.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const c=!(i instanceof HTMLImageElement||e.b(i));return r.data.replace(l,c),this.style.updateImage(t,r),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(t){return p.getImage(this._requestManager.transformRequest(t,"Image"),new AbortController)}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)}getLayersOrder(){return this.style.getLayersOrder()}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)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,i={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,i,(t=>{t||this._update(!0)})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0)})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}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");const e=this._canvasContainer=a.create("div","maplibregl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=a.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const i=this._containerDimensions(),r=this._getClampedPixelRatio(i[0],i[1]);this._resizeCanvas(i[0],i[1],r);const n=this._controlContainer=a.create("div","maplibregl-control-container",t),s=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{s[t]=a.create("div",`maplibregl-ctrl-${t} `,n)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(t,e,i){this._canvas.width=Math.floor(i*t),this._canvas.height=Math.floor(i*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener("webglcontextcreationerror",(i=>{e={requestedAttributes:t},i&&(e.statusMessage=i.statusMessage,e.type=i.type)}),{once:!0});const i=this._canvas.getContext("webgl2",t)||this._canvas.getContext("webgl",t);if(!i){const t="Failed to initialize WebGL";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new dr(i,this.transform),o.testSupport(i)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(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(t){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let r=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,n=s.now();this.style.zoomHistory.update(t,n);const a=new e.a9(t,{now:n,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),o=a.crossFadingFactor();1===o&&o===this._crossFadingFactor||(r=!0,this._crossFadingFactor=o),this.style.update(a)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,i,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:i,showPadding:this.showPadding}),this.fire(new e.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.be.mark(e.bf.load),this.fire(new e.k("load"))),this.style&&(this.style.hasTransitions()||r)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const n=this._sourcesDirty||this._styleDirty||this._placementDirty;return n||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k("idle")),!this._loaded||this._fullyLoaded||n||(this._fullyLoaded=!0,e.be.mark(e.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const i=this.painter.context.gl.getExtension("WEBGL_lose_context");(null==i?void 0:i.loseContext)&&i.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),a.remove(this._canvasContainer),a.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),e.be.clearMetrics(),this._removed=!0,this.fire(new e.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,s.frameAsync(this._frameRequest).then((t=>{e.be.frame(t),this._frameRequest=null,this._render(t)})).catch((()=>{})))}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()}get version(){return kn}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Cr,t.MapTouchEvent=Mr,t.MapWheelEvent=kr,t.Marker=Vn,t.NavigationControl=class{constructor(t){this._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())},this._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},this._setButtonTitle=(t,e)=>{const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute("aria-label",i)},this.options=e.e({},Dn,t),this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=a.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}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 Ln(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){a.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=a.create("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}},t.Popup=class extends e.E{constructor(t){super(),this.remove=()=>(this._content&&a.remove(this._content),this._container&&(a.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),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new e.k("close"))),this),this._onMouseUp=t=>{this._update(t.point)},this._onMouseMove=t=>{this._update(t.point)},this._onDrag=t=>{this._update(t.point)},this._update=t=>{var e;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=a.create("div","maplibregl-popup",this._map.getContainer()),this._tip=a.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(" "))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Bn(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const i=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let r=this.options.anchor;const n=Wn(this.options.offset);if(!r){const t=this._container.offsetWidth,e=this._container.offsetHeight;let s;s=i.y+n.bottom.ythis._map.transform.height-e?["bottom"]:[],i.xthis._map.transform.width-t/2&&s.push("right"),r=0===s.length?"bottom":s.join("-")}let s=i.add(n[r]);this.options.subpixelPositioning||(s=s.round()),a.setTransform(this._container,`${Fn[r]} translate(${s.x}px,${s.y}px)`),On(this._container,r,"popup")},this._onClose=()=>{this.remove()},this.options=e.e(Object.create(Gn),t)}addTo(t){return this._map&&this.remove(),this._map=t,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"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new e.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=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"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=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"),this._map._canvasContainer.classList.add("maplibregl-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(){var t;return null===(t=this._container)||void 0===t?void 0:t.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=a.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t}_createCloseButton(){this.options.closeButton&&(this._closeButton=a.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(Xn);t&&t.focus()}},t.RasterDEMTileSource=K,t.RasterTileSource=H,t.ScaleControl=class{constructor(t){this._onMove=()=>{qn(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,qn(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},$n),t)}getDefaultPosition(){return"bottom-left"}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},t.ScrollZoomHandler=an,t.Style=ue,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=t}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=a.create("button","maplibregl-ctrl-terrain",this._container),a.create("span","maplibregl-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(){a.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},t.TwoFingersTouchPitchHandler=tn,t.TwoFingersTouchRotateHandler=Yr,t.TwoFingersTouchZoomHandler=Kr,t.TwoFingersTouchZoomRotateHandler=dn,t.VectorTileSource=W,t.VideoSource=tt,t.addSourceType=(t,i)=>e._(void 0,void 0,void 0,(function*(){if(rt(t))throw new Error(`A source type called "${t}" already exists.`);((t,e)=>{it[t]=e})(t,i)})),t.clearPrewarmedResources=function(){const t=F;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(L),F=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()"))},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return ot().getRTLTextPluginStatus()},t.getVersion=function(){return Hn},t.getWorkerCount=function(){return R.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return U().broadcast("IS",t)},t.prewarm=function(){V().acquire(L)},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t},t.setRTLTextPlugin=function(t,e){return ot().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){R.workerCount=t},t.setWorkerUrl=function(t){e.a.WORKER_URL=t}}));var r=t;return r}()}({get exports(){return m},set exports(t){m=t}});var _=f(m);var 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"},_resize:function(){return this._glMap._resize},_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 _.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),a=this._map.containerPointToLayerPoint([0,0]).subtract(s);i.DomUtil.setPosition(r,a),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=_.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(),a=this._map.project(this._map.getBounds().getNorthWest(),t.zoom)._subtract(s);i.DomUtil.setTransform(this._glMap._actualCanvas,a.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 y(t){return new g(t)}var x=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,d.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=y({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 v=x.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(2!==e.version){if(e.language)throw new Error("The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.");if(e.worldview)throw new Error("The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.");if(e.places)throw new Error("The places 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"),x.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.language)throw new Error("The 'language' parameter is not supported for custom basemap styles");if(!e)throw new Error("A token is required to access basemap styles.");return r=r+"?token="+e,i.language&&(r=r+"&language="+i.language),i.worldview&&(r=r+"&worldview="+i.worldview),i.places&&(r=r+"&places="+i.places),r}(this.options.key,this.options.apikey,{language:this.options.language,worldview:this.options.worldview,places:this.options.places}):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){e.Util.removeEsriAttribution&&e.Util.removeEsriAttribution(t);const i=document.getElementsByClassName("esri-dynamic-attribution");if(i&&i.length>0){const e=i[0].outerHTML;t.attributionControl.removeAttribution(e),t.attributionControl.removeAttribution('')}}},_asyncAdd:function(){const t=this._map;this._initPane(),t.on("moveend",e.Util._updateMapAttribution),this._maplibreGL.addTo(t,this)}});const b=r;t.MaplibreGLJSLayer=g,t.Util=p,t.VERSION=b,t.VectorBasemapLayer=v,t.VectorTileLayer=x,t.maplibreGLJSLayer=y,t.setRTLTextPlugin=(t,e,i)=>{_.setRTLTextPlugin(t,e,i)},t.vectorBasemapLayer=function(t,e){return new v(t,e)},t.vectorTileLayer=function(t,e){return new x(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..4bb4d19 --- /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\n/**\r\n * Utility to establish a URL for the basemap styles API v2\r\n *\r\n * @param {string} style\r\n * @param {string} token\r\n * @param {Object} [options] Optional list of options: language, worldview, or places.\r\n * @returns {string} the URL\r\n */\r\nexport function getBasemapStyleV2Url (style, token, options) {\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 (options.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 (!token) throw new Error('A token is required to access basemap styles.');\r\n\r\n url = url + '?token=' + token;\r\n if (options.language) {\r\n url = url + '&language=' + options.language;\r\n }\r\n if (options.worldview) {\r\n url = url + '&worldview=' + options.worldview;\r\n }\r\n if (options.places) {\r\n url = url + '&places=' + options.places;\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","/**\n * MapLibre GL JS\n * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.5.0/LICENSE.txt\n */\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 maplibregl = {};\nvar modules = {};\nfunction define(moduleName, _dependencies, moduleFactory) {\n modules[moduleName] = moduleFactory;\n\n // to get the list of modules see generated dist/maplibre-gl-dev.js file (look for `define(` calls)\n if (moduleName !== 'index') {\n return;\n }\n\n // we assume that when an index module is initializing then other modules are loaded already\n var workerBundleString = 'var sharedModule = {}; (' + modules.shared + ')(sharedModule); (' + modules.worker + ')(sharedModule);'\n\n var sharedModule = {};\n // the order of arguments of a module factory depends on rollup (it decides who is whose dependency)\n // to check the correct order, see dist/maplibre-gl-dev.js file (look for `define(` calls)\n // we assume that for our 3 chunks it will generate 3 modules and their order is predefined like the following\n modules.shared(sharedModule);\n modules.index(maplibregl, sharedModule);\n\n if (typeof window !== 'undefined') {\n maplibregl.setWorkerUrl(window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' })));\n }\n\n return maplibregl;\n};\n\n\n\ndefine(\"shared\",[\"exports\"],(function(t){\"use strict\";function e(t,e,r,n){return new(r||(r=Promise))((function(i,s){function a(t){try{l(n.next(t));}catch(t){s(t);}}function o(t){try{l(n.throw(t));}catch(t){s(t);}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e);}))).then(a,o);}l((n=n.apply(t,e||[])).next());}))}function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}\"function\"==typeof SuppressedError&&SuppressedError;var n=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};var s=r(n),a=o;function o(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;}o.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?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=r(a);let u,c;function h(){return null==u&&(u=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),u}function p(){if(null==c&&(c=!1,h())){const t=5,e=new OffscreenCanvas(t,t).getContext(\"2d\",{willReadFrequently:!0});if(e){for(let r=0;ri.solve(t)}const d=f(.25,.1,.25,1);function y(t,e,r){return Math.min(r,Math.max(e,t))}function m(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function g(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let x=1;function v(t,e,r){const n={};for(const r in t)n[r]=e.call(this,t[r],r,t);return n}function b(t,e,r){const n={};for(const r in t)e.call(this,t[r],r,t)&&(n[r]=t[r]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?v(t,w):t}const _={};function A(t){_[t]||(\"undefined\"!=typeof console&&console.warn(t),_[t]=!0);}function S(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){return \"undefined\"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let M=null;function I(t){return \"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap}const z=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function P(t,r,n,i,s){return e(this,void 0,void 0,(function*(){if(\"undefined\"==typeof VideoFrame)throw new Error(\"VideoFrame not supported\");const e=new VideoFrame(t,{timestamp:0});try{const a=null==e?void 0:e.format;if(!a||!a.startsWith(\"BGR\")&&!a.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${a}`);const o=a.startsWith(\"BGR\"),l=new Uint8ClampedArray(i*s*4);if(yield e.copyTo(l,function(t,e,r,n,i){const s=4*Math.max(-e,0),a=(Math.max(0,r)-r)*n*4+s,o=4*n,l=Math.max(0,e),u=Math.max(0,r);return {rect:{x:l,y:u,width:Math.min(t.width,e+n)-l,height:Math.min(t.height,r+i)-u},layout:[{offset:a,stride:o}]}}(t,r,n,i,s)),o)for(let t=0;tk(self)?self.worker&&self.worker.referrer:(\"blob:\"===window.location.protocol?window.parent:window).location.href,O=function(t,r){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=T(t.url);if(e)return e(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,targetMapId:$},r)}if(!(/^file:/.test(n=t.url)||/^file:/.test(D())&&!/^\\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(t,r){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:D(),signal:r.signal});\"json\"!==t.type||e.headers.has(\"Accept\")||e.headers.set(\"Accept\",\"application/json\");const n=yield fetch(e);if(!n.ok){const e=yield n.blob();throw new L(n.status,n.statusText,t.url,e)}let i;i=\"arrayBuffer\"===t.type||\"image\"===t.type?n.arrayBuffer():\"json\"===t.type?n.json():n.text();const s=yield i;if(r.signal.aborted)throw E();return {data:s,cacheControl:n.headers.get(\"Cache-Control\"),expires:n.headers.get(\"Expires\")}}))}(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,mustQueue:!0,targetMapId:$},r)}var n;return function(t,e){return new Promise(((r,n)=>{var i;const s=new XMLHttpRequest;s.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"!==t.type&&\"image\"!==t.type||(s.responseType=\"arraybuffer\");for(const e in t.headers)s.setRequestHeader(e,t.headers[e]);\"json\"===t.type&&(s.responseType=\"text\",(null===(i=t.headers)||void 0===i?void 0:i.Accept)||s.setRequestHeader(\"Accept\",\"application/json\")),s.withCredentials=\"include\"===t.credentials,s.onerror=()=>{n(new Error(s.statusText));},s.onload=()=>{if(!e.signal.aborted)if((s.status>=200&&s.status<300||0===s.status)&&null!==s.response){let e=s.response;if(\"json\"===t.type)try{e=JSON.parse(s.response);}catch(t){return void n(t)}r({data:e,cacheControl:s.getResponseHeader(\"Cache-Control\"),expires:s.getResponseHeader(\"Expires\")});}else {const e=new Blob([s.response],{type:s.getResponseHeader(\"Content-Type\")});n(new L(s.status,s.statusText,t.url,e));}},e.signal.addEventListener(\"abort\",(()=>{s.abort(),n(E());})),s.send(t.body);}))}(t,r)};function j(t){if(!t||t.indexOf(\"://\")<=0||0===t.indexOf(\"data:image/\")||0===t.indexOf(\"blob:\"))return !0;const e=new URL(t),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function R(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function U(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class q{constructor(t,e={}){g(this,e),this.type=t;}}class N extends q{constructor(t,e={}){super(\"error\",g({error:t},e));}}class Z{on(t,e){return this._listeners=this._listeners||{},R(t,e,this._listeners),this}off(t,e){return U(t,e,this._listeners),U(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},R(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){\"string\"==typeof t&&(t=new q(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)U(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(g(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof N&&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 K={$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\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},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:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,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-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"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\":{}}},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}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},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\"}}};const G=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function J(t,e){const r={};for(const e in t)\"ref\"!==e&&(r[e]=t[e]);return G.forEach((t=>{t in e&&(r[t]=e[t]);})),r}function X(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return !1;for(let r=0;r`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const _t=[lt,ut,ct,ht,pt,mt,ft,bt(dt),gt,xt,vt];function At(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!At(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 _t)if(!At(t,e))return null}return `Expected ${wt(t)} but found ${wt(e)} instead.`}function St(t,e){return e.some((e=>e.kind===t.kind))}function kt(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))}function Mt(t,e){return \"array\"===t.kind&&\"array\"===e.kind?t.itemType.kind===e.itemType.kind&&\"number\"==typeof t.N:t.kind===e.kind}const It=.96422,zt=.82521,Pt=4/29,Ct=6/29,Bt=3*Ct*Ct,Vt=Ct*Ct*Ct,Et=Math.PI/180,Ft=180/Math.PI;function Tt(t){return (t%=360)<0&&(t+=360),t}function $t([t,e,r,n]){let i,s;const a=Dt((.2225045*(t=Lt(t))+.7168786*(e=Lt(e))+.0606169*(r=Lt(r)))/1);t===e&&e===r?i=s=a:(i=Dt((.4360747*t+.3850649*e+.1430804*r)/It),s=Dt((.0139322*t+.0971045*e+.7141733*r)/zt));const o=116*a-16;return [o<0?0:o,500*(i-a),200*(a-s),n]}function Lt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Dt(t){return t>Vt?Math.pow(t,1/3):t/Bt+Pt}function Ot([t,e,r,n]){let i=(t+16)/116,s=isNaN(e)?i:i+e/500,a=isNaN(r)?i:i-r/200;return i=1*Rt(i),s=It*Rt(s),a=zt*Rt(a),[jt(3.1338561*s-1.6168667*i-.4906146*a),jt(-.9787684*s+1.9161415*i+.033454*a),jt(.0719453*s-.2289914*i+1.4052427*a),n]}function jt(t){return (t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Rt(t){return t>Ct?t*t*t:Bt*(t-Pt)}function Ut(t){return parseInt(t.padEnd(2,t),16)/255}function qt(t,e){return Nt(e?t/100:t,0,1)}function Nt(t,e,r){return Math.min(Math.max(e,t),r)}function Zt(t){return !t.some(Number.isNaN)}const Kt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Gt{constructor(t,e,r,n=1,i=!0){this.r=t,this.g=e,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter(\"rgb\",[t,e,r,n]));}static parse(t){if(t instanceof Gt)return t;if(\"string\"!=typeof t)return;const e=function(t){if(\"transparent\"===(t=t.toLowerCase().trim()))return [0,0,0,0];const e=Kt[t];if(e){const[t,r,n]=e;return [t/255,r/255,n/255,1]}if(t.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let r=1;return [Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+e)||\"ff\")]}if(t.startsWith(\"rgb\")){const e=t.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(e){const[t,r,n,i,s,a,o,l,u,c,h,p]=e,f=[i||\" \",o||\" \",c].join(\"\");if(\" \"===f||\" /\"===f||\",,\"===f||\",,,\"===f){const t=[n,a,u].join(\"\"),e=\"%%%\"===t?100:\"\"===t?255:0;if(e){const t=[Nt(+r/e,0,1),Nt(+s/e,0,1),Nt(+l/e,0,1),h?qt(+h,p):1];if(Zt(t))return t}}return}}const r=t.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(r){const[t,e,n,i,s,a,o,l,u]=r,c=[n||\" \",s||\" \",o].join(\"\");if(\" \"===c||\" /\"===c||\",,\"===c||\",,,\"===c){const t=[+e,Nt(+i,0,100),Nt(+a,0,100),l?qt(+l,u):1];if(Zt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,s=e*Math.min(r,1-r);return r-s*Math.max(-1,Math.min(i-3,9-i,1))}return t=Tt(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}(t);return e?new Gt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter(\"rgb\",[t/i,e/i,r/i,n])}get hcl(){return this.overwriteGetter(\"hcl\",function(t){const[e,r,n,i]=$t(t),s=Math.sqrt(r*r+n*n);return [Math.round(1e4*s)?Tt(Math.atan2(n,r)*Ft):NaN,s,e,i]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",$t(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,r,n]=this.rgb;return `rgba(${[t,e,r].map((t=>Math.round(255*t))).join(\",\")},${n})`}}Gt.black=new Gt(0,0,0,1),Gt.white=new Gt(1,1,1,1),Gt.transparent=new Gt(0,0,0,0),Gt.red=new Gt(1,0,0,1);class Jt{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 Xt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class Ht{constructor(t){this.sections=t;}static fromString(t){return new Ht([new Xt(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 Ht?t:Ht.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}}class Yt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Yt)return t;if(\"number\"==typeof t)return new Yt([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 Yt(t)}}toString(){return JSON.stringify(this.values)}}const Wt=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Qt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Qt)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=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 re(t){if(null===t||\"string\"==typeof t||\"boolean\"==typeof t||\"number\"==typeof t||t instanceof Gt||t instanceof Jt||t instanceof Ht||t instanceof Yt||t instanceof Qt||t instanceof te)return !0;if(Array.isArray(t)){for(const e of t)if(!re(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!re(t[e]))return !1;return !0}return !1}function ne(t){if(null===t)return lt;if(\"string\"==typeof t)return ct;if(\"boolean\"==typeof t)return ht;if(\"number\"==typeof t)return ut;if(t instanceof Gt)return pt;if(t instanceof Jt)return yt;if(t instanceof Ht)return mt;if(t instanceof Yt)return gt;if(t instanceof Qt)return vt;if(t instanceof te)return xt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=ne(e);if(r){if(r===t)continue;r=dt;break}r=t;}return bt(r||dt,e)}return ft}function ie(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Gt||t instanceof Ht||t instanceof Yt||t instanceof Qt||t instanceof te?t.toString():JSON.stringify(t)}class se{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(!re(t[1]))return e.error(\"invalid value\");const r=t[1];let n=ne(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 se(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}}class ae{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}}const oe={string:ct,number:ut,boolean:ht,object:ft};class le{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,s;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in oe)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=oe[r],n++;}else i=dt;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],n++;}r=bt(i,s);}else {if(!oe[i])throw new Error(`Types doesn't contain name = ${i}`);r=oe[i];}const s=[];for(;nt.outputDefined()))}}const ue={\"to-boolean\":ht,\"to-color\":pt,\"to-number\":ut,\"to-string\":ct};class ce{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(!ue[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=ue[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ee(e[0],e[1],e[2],e[3]),!r))return new Gt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ae(r||`Could not parse color from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"padding\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Yt.parse(e);if(n)return n}throw new ae(`Could not parse padding from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"variableAnchorOffsetCollection\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Qt.parse(e);if(n)return n}throw new ae(`Could not parse variableAnchorOffsetCollection from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"number\":{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 ae(`Could not convert ${JSON.stringify(e)} to number.`)}case\"formatted\":return Ht.fromString(ie(this.args[0].evaluate(t)));case\"resolvedImage\":return te.fromString(ie(this.args[0].evaluate(t)));default:return ie(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const he=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class pe{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?he[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]=Gt.parse(t)),e}}class fe{constructor(t,e,r=[],n,i=new ot,s=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(\"\"),this.scope=i,this.errors=s,this.expectedType=n,this._isConstant=e;}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 le(e,[t]):\"coerce\"===r?new ce(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(\"variableAnchorOffsetCollection\"!==t.kind||\"value\"!==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||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\");}if(!(n instanceof se)&&\"resolvedImage\"!==n.type.kind&&this._isConstant(n)){const t=new pe;try{n=new se(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 fe(this.registry,this._isConstant,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new at(r,t));}checkSubtype(t,e){const r=At(t,e);return r&&this.error(r),r}}class de{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 ae(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new ae(`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 ge{constructor(t,e){this.type=ht,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,dt),n=e.parse(t[2],2,dt);return r&&n?St(r.type,[ht,ct,ut,lt,dt])?new ge(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);if(!kt(r,[\"string\",\"array\"]))throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}}class xe{constructor(t,e,r){this.type=ut,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,dt),n=e.parse(t[2],2,dt);if(!r||!n)return null;if(!St(r.type,[ht,ct,ut,lt,dt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new xe(r,n,i):null}return new xe(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);if(!kt(r,[\"string\",\"array\"]))throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(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 ve{constructor(t,e,r,n,i,s){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,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 r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},s=[];for(let a=2;aNumber.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,ne(t)))return null}else r=ne(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=s.length;}const c=e.parse(l,a,n);if(!c)return null;n=n||c.type,s.push(c);}const a=e.parse(t[1],1,dt);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==a.type.kind&&e.concat(1).checkSubtype(r,a.type)?null:new ve(r,n,a,i,s,o):null}evaluate(t){const e=this.input.evaluate(t);return (ne(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 be{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 we{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,dt),n=e.parse(t[2],2,ut);if(!r||!n)return null;if(!St(r.type,[bt(dt),ct,dt]))return e.error(`Expected first argument to be of type array or string, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new we(r.type,r,n,i):null}return new we(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!kt(e,[\"string\",\"array\"]))throw new ae(`Expected first argument to be of type array or string, but found ${wt(ne(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 _e(t,e){const r=t.length-1;let n,i,s=0,a=r,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new ae(\"Input is not a number.\");a=o-1;}return 0}class Ae{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,ut);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=s)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(a,l,i);if(!u)return null;i=i||u.type,n.push([s,u]);}return new Ae(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[_e(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){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var ke=Me;function Me(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;}Me.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?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ie=Se(ke);function ze(t,e,r){return t+r*(e-t)}function Pe(t,e,r){return t.map(((t,n)=>ze(t,e[n],r)))}const Ce={number:ze,color:function(t,e,r,n=\"rgb\"){switch(n){case\"rgb\":{const[n,i,s,a]=Pe(t.rgb,e.rgb,r);return new Gt(n,i,s,a,!1)}case\"hcl\":{const[n,i,s,a]=t.hcl,[o,l,u,c]=e.hcl;let h,p;if(isNaN(n)||isNaN(o))isNaN(n)?isNaN(o)?h=NaN:(h=o,1!==s&&0!==s||(p=l)):(h=n,1!==u&&0!==u||(p=i));else {let t=o-n;o>n&&t>180?t-=360:o180&&(t+=360),h=n+r*t;}const[f,d,y,m]=function([t,e,r,n]){return t=isNaN(t)?0:t*Et,Ot([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=p?p:ze(i,l,r),ze(s,u,r),ze(a,c,r)]);return new Gt(f,d,y,m,!1)}case\"lab\":{const[n,i,s,a]=Ot(Pe(t.lab,e.lab,r));return new Gt(n,i,s,a,!1)}}},array:Pe,padding:function(t,e,r){return new Yt(Pe(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new ae(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const s=[];for(let t=0;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,ut),!i)return null;const a=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=pt: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,a.push([r,u]);}return Mt(o,ut)||Mt(o,pt)||Mt(o,gt)||Mt(o,vt)||Mt(o,bt(ut))?new Be(o,r,n,i,a):e.error(`Type ${wt(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 s=_e(e,n),a=Be.interpolationFactor(this.interpolation,n,e[s],e[s+1]),o=r[s].evaluate(t),l=r[s+1].evaluate(t);switch(this.operator){case\"interpolate\":return Ce[this.type.kind](o,l,a);case\"interpolate-hcl\":return Ce.color(o,l,a,\"hcl\");case\"interpolate-lab\":return Ce.color(o,l,a,\"lab\")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ve(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}class Ee{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);}if(!r)throw new Error(\"No output type\");const s=n&&i.some((t=>At(n,t.type)));return new Ee(s?dt: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 te&&!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()))}}function Fe(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 Te(t,e,r,n){return 0===n.compare(e,r)}function $e(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=ht,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 s=e.parse(t[1],1,dt);if(!s)return null;if(!Fe(r,s.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${wt(s.type)}'.`);let a=e.parse(t[2],2,dt);if(!a)return null;if(!Fe(r,a.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${wt(a.type)}'.`);if(s.type.kind!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(`Cannot compare types '${wt(s.type)}' and '${wt(a.type)}'.`);n&&(\"value\"===s.type.kind&&\"value\"!==a.type.kind?s=new le(a.type,[s]):\"value\"!==s.type.kind&&\"value\"===a.type.kind&&(a=new le(s.type,[a])));let o=null;if(4===t.length){if(\"string\"!==s.type.kind&&\"string\"!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,yt),!o)return null}return new i(s,a,o)}evaluate(i){const s=this.lhs.evaluate(i),a=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=ne(s),r=ne(a);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new ae(`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=ne(s),r=ne(a);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,s,a)}return this.collator?r(i,s,a,this.collator.evaluate(i)):e(i,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}}}const Le=$e(\"==\",(function(t,e,r){return e===r}),Te),De=$e(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !Te(0,e,r,n)})),Oe=$e(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Re=$e(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Ue=$e(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class qe{constructor(t,e,r){this.type=yt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;}static parse(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");const r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");const n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,ht);if(!n)return null;const i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,ht);if(!i)return null;let s=null;return r.locale&&(s=e.parse(r.locale,1,ct),!s)?null:new qe(n,i,s)}evaluate(t){return new Jt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);}outputDefined(){return !1}}class Ne{constructor(t,e,r,n,i){this.type=ct,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,ut);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,ct),!i))return null;let s=null;if(n.currency&&(s=e.parse(n.currency,1,ct),!s))return null;let a=null;if(n[\"min-fraction-digits\"]&&(a=e.parse(n[\"min-fraction-digits\"],1,ut),!a))return null;let o=null;return n[\"max-fraction-digits\"]&&(o=e.parse(n[\"max-fraction-digits\"],1,ut),!o)?null:new Ne(r,i,s,a,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 Ze{constructor(t){this.type=mt,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 s=t[r];if(i&&\"object\"==typeof s&&!Array.isArray(s)){i=!1;let t=null;if(s[\"font-scale\"]&&(t=e.parse(s[\"font-scale\"],1,ut),!t))return null;let r=null;if(s[\"text-font\"]&&(r=e.parse(s[\"text-font\"],1,bt(ct)),!r))return null;let a=null;if(s[\"text-color\"]&&(a=e.parse(s[\"text-color\"],1,pt),!a))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=a;}else {const s=e.parse(t[r],1,dt);if(!s)return null;const a=s.type.kind;if(\"string\"!==a&&\"value\"!==a&&\"null\"!==a&&\"resolvedImage\"!==a)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:s,scale:null,font:null,textColor:null});}}return new Ze(n)}evaluate(t){return new Ht(this.sections.map((e=>{const r=e.content.evaluate(t);return ne(r)===xt?new Xt(\"\",r,null,null,null):new Xt(ie(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 Ke{constructor(t){this.type=xt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ct);return r?new Ke(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=te.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}}class Ge{constructor(t){this.type=ut,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 ${wt(r.type)} instead.`):new Ge(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 ae(`Expected value to be of type string or array, but found ${wt(ne(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}}const Je=8192;function Xe(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*Je),Math.round(n*i*Je)]}function He(t,e){const r=Math.pow(2,e.z);return [(i=(t[0]/Je+e.x)/r,360*i-180),(n=(t[1]/Je+e.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,i;}function Ye(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function We(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Qe(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],s=t[0]-r[0],a=t[1]-r[1];return n*a-s*i==0&&n*s<=0&&i*a<=0}function tr(t,e,r,n){return 0!=(i=[n[0]-r[0],n[1]-r[1]])[0]*(s=[e[0]-t[0],e[1]-t[1]])[1]-i[1]*s[0]&&!(!ar(t,e,r,n)||!ar(r,n,t,e));var i,s;}function er(t,e,r){for(const n of r)for(let r=0;r(i=t)[1]!=(a=o[e+1])[1]>i[1]&&i[0]<(a[0]-s[0])*(i[1]-s[1])/(a[1]-s[1])+s[0]&&(n=!n);}var i,s,a;return n}function nr(t,e){for(const r of e)if(rr(t,r))return !0;return !1}function ir(t,e){for(const r of t)if(!rr(r,e))return !1;for(let r=0;r0&&o<0||a<0&&o>0}function or(t,e,r){const n=[];for(let i=0;ir[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;}Ye(e,t);}function cr(t,e,r,n){const i=Math.pow(2,n.z)*Je,s=[n.x*Je,n.y*Je],a=[];for(const n of t)for(const t of n){const n=[t.x+s[0],t.y+s[1]];ur(n,e,r,i),a.push(n);}return a}function hr(t,e,r,n){const i=Math.pow(2,n.z)*Je,s=[n.x*Je,n.y*Je],a=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+s[0],n.y+s[1]];Ye(e,r),t.push(r);}a.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 a)for(const n of t)ur(n,e,r,i);}var o;return a}class pr{constructor(t,e){this.type=ht,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(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type){const t=[];for(const r of e.features){const{type:e,coordinates:n}=r.geometry;\"Polygon\"===e&&t.push(n),\"MultiPolygon\"===e&&t.push(...n);}if(t.length)return new pr(e,{type:\"MultiPolygon\",coordinates:t})}else if(\"Feature\"===e.type){const t=e.geometry.type;if(\"Polygon\"===t||\"MultiPolygon\"===t)return new pr(e,e.geometry)}else if(\"Polygon\"===e.type||\"MultiPolygon\"===e.type)return new pr(e,e)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!rr(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!nr(t,s))return !1}return !0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!ir(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!sr(t,s))return !1}return !0}(t,this.geometries)}return !1}eachChild(){}outputDefined(){return !0}}let fr=class{constructor(t=[],e=dr){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,s=e[i];if(r(n,s)>=0)break;e[t]=s,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]=s,t=n;}e[t]=i;}};function dr(t,e){return te?1:0}function yr(t,e,r,n,i){mr(t,e,r,n||t.length-1,i||xr);}function mr(t,e,r,n,i){for(;n>r;){if(n-r>600){var s=n-r+1,a=e-r+1,o=Math.log(s),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);mr(t,e,Math.max(r,Math.floor(e-a*l/s+u)),Math.min(n,Math.floor(e+(s-a)*l/s+u)),i);}var c=t[e],h=r,p=n;for(gr(t,r,e),i(t[n],c)>0&&gr(t,r,n);h0;)p--;}0===i(t[r],c)?gr(t,r,p):gr(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function gr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function xr(t,e){return te?1:0}function vr(t,e){if(t.length<=1)return [t];const r=[];let n,i;for(const e of t){const t=wr(e);0!==t&&(e.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&r.push(n),n=[e]):n.push(e));}if(n&&r.push(n),e>1)for(let t=0;t1?(l=t[o+1][0],u=t[o+1][1]):p>0&&(l+=c/this.kx*p,u+=h/this.ky*p)),c=this.wrap(e[0]-l)*this.kx,h=(e[1]-u)*this.ky;const f=c*c+h*h;f180;)t-=360;return t}}function Mr(t,e){return e[0]-t[0]}function Ir(t){return t[1]-t[0]+1}function zr(t,e){return t[1]>=t[0]&&t[1]t[1])return [null,null];const r=Ir(t);if(e){if(2===r)return [t,null];const e=Math.floor(r/2);return [[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===r)return [t,null];const n=Math.floor(r/2)-1;return [[t[0],t[0]+n],[t[0]+n+1,t[1]]]}function Cr(t,e){if(!zr(e,t.length))return [1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Ye(r,t[n]);return r}function Br(t){const e=[1/0,1/0,-1/0,-1/0];for(const r of t)for(const t of r)Ye(e,t);return e}function Vr(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Er(t,e,r){if(!Vr(t)||!Vr(e))return NaN;let n=0,i=0;return t[2]e[2]&&(n=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]=n)return n;if(We(i,s)){if(jr(t,e))return 0}else if(jr(e,t))return 0;let a=1/0;for(const n of t)for(let t=0,i=n.length,s=i-1;t0;){const i=a.pop();if(i[0]>=s)continue;const l=i[1],u=e?50:100;if(Ir(l)<=u){if(!zr(l,t.length))return NaN;if(e){const e=Or(t,l,r,n);if(isNaN(e)||0===e)return e;s=Math.min(s,e);}else for(let e=l[0];e<=l[1];++e){const i=Dr(t[e],r,n);if(s=Math.min(s,i),0===s)return 0}}else {const r=Pr(l,e);Ur(a,s,n,t,o,r[0]),Ur(a,s,n,t,o,r[1]);}}return s}function Zr(t,e,r,n,i,s=1/0){let a=Math.min(s,i.distance(t[0],r[0]));if(0===a)return a;const o=new fr([[0,[0,t.length-1],[0,r.length-1]]],Mr);for(;o.length>0;){const s=o.pop();if(s[0]>=a)continue;const l=s[1],u=s[2],c=e?50:100,h=n?50:100;if(Ir(l)<=c&&Ir(u)<=h){if(!zr(l,t.length)&&zr(u,r.length))return NaN;let s;if(e&&n)s=$r(t,l,r,u,i),a=Math.min(a,s);else if(e&&!n){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=Fr(r[t],e,i),a=Math.min(a,s),0===a)return a}else if(!e&&n){const e=r.slice(u[0],u[1]+1);for(let r=l[0];r<=l[1];++r)if(s=Fr(t[r],e,i),a=Math.min(a,s),0===a)return a}else s=Lr(t,l,r,u,i),a=Math.min(a,s);}else {const s=Pr(l,e),c=Pr(u,n);qr(o,a,i,t,r,s[0],c[0]),qr(o,a,i,t,r,s[0],c[1]),qr(o,a,i,t,r,s[1],c[0]),qr(o,a,i,t,r,s[1],c[1]);}}return a}function Kr(t){return \"MultiPolygon\"===t.type?t.coordinates.map((t=>({type:\"Polygon\",coordinates:t}))):\"MultiLineString\"===t.type?t.coordinates.map((t=>({type:\"LineString\",coordinates:t}))):\"MultiPoint\"===t.type?t.coordinates.map((t=>({type:\"Point\",coordinates:t}))):[t]}class Gr{constructor(t,e){this.type=ut,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)return new Gr(e,e.features.map((t=>Kr(t.geometry))).flat());if(\"Feature\"===e.type)return new Gr(e,Kr(e.geometry));if(\"type\"in e&&\"coordinates\"in e)return new Gr(e,Kr(e))}return e.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>He([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new kr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Zr(n,!1,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Zr(n,!1,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,Nr(n,!1,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>He([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new kr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Zr(n,!0,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Zr(n,!0,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,Nr(n,!0,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"Polygon\"===t.geometryType())return function(t,e){const r=t.geometry();if(0===r.length||0===r[0].length)return NaN;const n=vr(r,0).map((e=>e.map((e=>e.map((e=>He([e.x,e.y],t.canonical))))))),i=new kr(n[0][0][0][1]);let s=1/0;for(const t of e)for(const e of n){switch(t.type){case\"Point\":s=Math.min(s,Nr([t.coordinates],!1,e,i,s));break;case\"LineString\":s=Math.min(s,Nr(t.coordinates,!0,e,i,s));break;case\"Polygon\":s=Math.min(s,Rr(e,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return !0}}const Jr={\"==\":Le,\"!=\":De,\">\":je,\"<\":Oe,\">=\":Ue,\"<=\":Re,array:le,at:me,boolean:le,case:be,coalesce:Ee,collator:qe,format:Ze,image:Ke,in:ge,\"index-of\":xe,interpolate:Be,\"interpolate-hcl\":Be,\"interpolate-lab\":Be,length:Ge,let:de,literal:se,match:ve,number:le,\"number-format\":Ne,object:le,slice:we,step:Ae,string:le,\"to-boolean\":ce,\"to-color\":ce,\"to-number\":ce,\"to-string\":ce,var:ye,within:pr,distance:Gr};class Xr{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=Xr.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,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,s]of a){o=new fe(e.registry,tn,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(wt).join(\", \")})`:`(${wt(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r{r=e?r&&tn(t):r&&t instanceof se;})),!!r&&en(t)&&nn(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function en(t){if(t instanceof Xr){if(\"get\"===t.name&&1===t.args.length)return !1;if(\"feature-state\"===t.name)return !1;if(\"has\"===t.name&&1===t.args.length)return !1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return !1;if(/^filter-/.test(t.name))return !1}if(t instanceof pr)return !1;if(t instanceof Gr)return !1;let e=!0;return t.eachChild((t=>{e&&!en(t)&&(e=!1);})),e}function rn(t){if(t instanceof Xr&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!rn(t)&&(e=!1);})),e}function nn(t,e){if(t instanceof Xr&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!nn(t,e)&&(r=!1);})),r}function sn(t){return {result:\"success\",value:t}}function an(t){return {result:\"error\",value:t}}function on(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function ln(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function un(t){return !!t.expression&&t.expression.interpolated}function cn(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function hn(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function pn(t){return t}function fn(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),s=t.type||(un(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?Gt.parse:Yt.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\"!==(a=t.colorSpace)&&\"hcl\"!==a&&\"lab\"!==a)throw new Error(`Unknown color space: \"${t.colorSpace}\"`);var a;let o,l,u;if(\"exponential\"===s)o=gn;else if(\"interval\"===s)o=mn;else if(\"categorical\"===s){o=yn,l=Object.create(null);for(const e of t.stops)l[e[0]]=e[1];u=typeof t.stops[0][0];}else {if(\"identity\"!==s)throw new Error(`Unknown function type \"${s}\"`);o=xn;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>gn({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===s?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Be.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>o(t,e,r,l,u)}}return {kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?dn(t.default,e.default):o(t,e,i,l,u)}}}function dn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function yn(t,e,r,n,i){return dn(typeof r===i?n[r]:void 0,t.default,e.default)}function mn(t,e,r){if(\"number\"!==cn(r))return dn(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=_e(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function gn(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==cn(r))return dn(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 s=_e(t.stops.map((t=>t[0])),r),a=function(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[s][0],t.stops[s+1][0]),o=t.stops[s][1],l=t.stops[s+1][1],u=Ce[e.type]||pn;return \"function\"==typeof o.evaluate?{evaluate(...e){const r=o.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return u(r,n,a,t.colorSpace)}}:u(o,l,a,t.colorSpace)}function xn(t,e,r){switch(e.type){case\"color\":r=Gt.parse(r);break;case\"formatted\":r=Ht.fromString(r.toString());break;case\"resolvedImage\":r=te.fromString(r.toString());break;case\"padding\":r=Yt.parse(r);break;default:cn(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0);}return dn(r,t.default,e.default)}Xr.register(Jr,{error:[{kind:\"error\"},[ct],(t,[e])=>{throw new ae(e.evaluate(t))}],typeof:[ct,[dt],(t,[e])=>wt(ne(e.evaluate(t)))],\"to-rgba\":[bt(ut,4),[pt],(t,[e])=>{const[r,n,i,s]=e.evaluate(t).rgb;return [255*r,255*n,255*i,s]}],rgb:[pt,[ut,ut,ut],Hr],rgba:[pt,[ut,ut,ut,ut],Hr],has:{type:ht,overloads:[[[ct],(t,[e])=>Yr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Yr(e.evaluate(t),r.evaluate(t))]]},get:{type:dt,overloads:[[[ct],(t,[e])=>Wr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Wr(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[dt,[ct],(t,[e])=>Wr(e.evaluate(t),t.featureState||{})],properties:[ft,[],t=>t.properties()],\"geometry-type\":[ct,[],t=>t.geometryType()],id:[dt,[],t=>t.id()],zoom:[ut,[],t=>t.globals.zoom],\"heatmap-density\":[ut,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[ut,[],t=>t.globals.lineProgress||0],accumulated:[dt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[ut,Qr(ut),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[ut,Qr(ut),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:ut,overloads:[[[ut,ut],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ut],(t,[e])=>-e.evaluate(t)]]},\"/\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ut,[],()=>Math.LN2],pi:[ut,[],()=>Math.PI],e:[ut,[],()=>Math.E],\"^\":[ut,[ut,ut],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ut,[ut],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))],log2:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ut,[ut],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ut,[ut],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ut,[ut],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ut,[ut],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ut,[ut],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ut,[ut],(t,[e])=>Math.atan(e.evaluate(t))],min:[ut,Qr(ut),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ut,Qr(ut),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ut,[ut],(t,[e])=>Math.abs(e.evaluate(t))],round:[ut,[ut],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ut,[ut],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ut,[ut],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[ht,[ct,dt],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[ht,[dt],(t,[e])=>t.id()===e.value],\"filter-type-==\":[ht,[ct],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[ht,[ct,dt],(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\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[ht,[dt],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[ht,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[ht,[bt(ct)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[ht,[bt(dt)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[ht,[ct,bt(dt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[ht,[ct,bt(dt)],(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:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[Qr(ht),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[Qr(ht),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[ht,[ht],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[ht,[ct],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ct,[ct],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ct,[ct],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ct,Qr(dt),(t,e)=>e.map((e=>ie(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ct,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class vn{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new pe,this._defaultValue=e?\"color\"===(r=e).type&&hn(r.default)?new Gt(0,0,0,0):\"color\"===r.type?Gt.parse(r.default)||null:\"padding\"===r.type?Yt.parse(r.default)||null:\"variableAnchorOffsetCollection\"===r.type?Qt.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=e&&\"enum\"===e.type?e.values:null;}evaluateWithoutErrorHandling(t,e,r,n,i,s){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=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,s){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=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 ae(`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 bn(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Jr}function wn(t,e){const r=new fe(Jr,tn,[],e?function(t){const e={color:pt,string:ct,number:ut,enum:ct,boolean:ht,formatted:mt,padding:gt,resolvedImage:xt,variableAnchorOffsetCollection:vt};return \"array\"===t.type?bt(e[t.value]||dt,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?sn(new vn(n,e)):an(r.errors)}class _n{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!rn(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}}class An{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!rn(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}interpolationFactor(t,e,r){return this.interpolationType?Be.interpolationFactor(this.interpolationType,t,e,r):0}}function Sn(t,e){const r=wn(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=en(n);if(!i&&!on(e))return an([new at(\"\",\"data expressions not supported\")]);const s=nn(n,[\"zoom\"]);if(!s&&!ln(e))return an([new at(\"\",\"zoom expressions not supported\")]);const a=Mn(n);return a||s?a instanceof at?an([a]):a instanceof Be&&!un(e)?an([new at(\"\",'\"interpolate\" expressions cannot be used with this property')]):sn(a?new An(i?\"camera\":\"composite\",r.value,a.labels,a instanceof Be?a.interpolation:void 0):new _n(i?\"constant\":\"source\",r.value)):an([new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class kn{constructor(t,e){this._parameters=t,this._specification=e,st(this,fn(this._parameters,this._specification));}static deserialize(t){return new kn(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function Mn(t){let e=null;if(t instanceof de)e=Mn(t.result);else if(t instanceof Ee){for(const r of t.args)if(e=Mn(r),e)break}else (t instanceof Ae||t instanceof Be)&&t.input instanceof Xr&&\"zoom\"===t.input.name&&(e=t);return e instanceof at||t.eachChild((t=>{const r=Mn(t);r instanceof at?e=r:!e&&r?e=new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new at(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}function In(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(!In(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}const zn={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pn(t){if(null==t)return {filter:()=>!0,needGeometry:!1};In(t)||(t=Vn(t));const e=wn(t,zn);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:Bn(t)}}function Cn(t,e){return te?1:0}function Bn(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0]||\"distance\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?En(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Vn))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Vn)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Vn).map($n)):\"in\"===e?Fn(t[1],t.slice(2)):\"!in\"===e?$n(Fn(t[1],t.slice(2))):\"has\"===e?Tn(t[1]):\"!has\"!==e||$n(Tn(t[1]));var r;}function En(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 Fn(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(Cn)]]:[\"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 $n(t){return [\"!\",t]}function Ln(t){const e=typeof t;if(\"number\"===e||\"boolean\"===e||\"string\"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e=\"[\";for(const r of t)e+=`${Ln(r)},`;return `${e}]`}const r=Object.keys(t).sort();let n=\"{\";for(let e=0;en.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Zn(t){const e=t.valueSpec,r=jn(t.value.type);let n,i,s,a={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===cn(t.value.stops)&&\"array\"===cn(t.value.stops[0])&&\"object\"===cn(t.value.stops[0][0]),c=Un({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,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(qn({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===cn(n)&&0===n.length&&e.push(new it(t.key,n,\"array must have at least one stop\")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,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&&!un(t.valueSpec)&&c.push(new it(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!on(t.valueSpec)?c.push(new it(t.key,t.value,\"property functions not supported\")):o&&!ln(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\"!==cn(n))return [new it(o,n,`array expected, ${cn(n)} found`)];if(2!==n.length)return [new it(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==cn(n[0]))return [new it(o,n,`object expected, ${cn(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(s&&s>jn(n[0].zoom))return [new it(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];jn(n[0].zoom)!==s&&(s=jn(n[0].zoom),i=void 0,a={}),r=r.concat(Un({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Nn,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},n));return bn(Rn(n[1]))?r.concat([new it(`${o}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(t.validateSpec({key:`${o}[1]`,value:n[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const o=cn(t.value),l=jn(t.value),u=null!==t.value?t.value:s;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 on(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&&!rn(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!rn(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(!nn(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&&!en(r))return [new it(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function Gn(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(jn(r))&&i.push(new it(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(jn(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function Jn(t){return In(Rn(t.value))?Kn(st({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Xn(t)}function Xn(t){const e=t.value,r=t.key;if(\"array\"!==cn(e))return [new it(r,e,`array expected, ${cn(e)} found`)];const n=t.styleSpec;let i,s=[];if(e.length<1)return [new it(r,e,\"filter array must have at least 1 element\")];switch(s=s.concat(Gn({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),jn(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===jn(e[1])&&s.push(new it(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&s.push(new it(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=cn(e[1]),\"string\"!==i&&s.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let a=2;a{t in r&&e.push(new it(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{jn(e.id)===o&&(t=e);})),t?t.ref?e.push(new it(n,r.ref,\"ref cannot reference another ref layer\")):a=jn(t.type):e.push(new it(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==a)if(r.source){const t=i.sources&&i.sources[r.source],s=t&&jn(t.type);t?\"vector\"===s&&\"raster\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster-dem\"!==s&&\"hillshade\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster-dem source`)):\"raster\"===s&&\"raster\"!==a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==s||r[\"source-layer\"]?\"raster-dem\"===s&&\"hillshade\"!==a?e.push(new it(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==a||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===s&&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(Un({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:\"type\"}),filter:Jn,layout:t=>Un({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Wn(st({layerType:a},t))}}),paint:t=>Un({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Yn(st({layerType:a},t))}})}})),e}function ti(t){const e=t.value,r=t.key,n=cn(e);return \"string\"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const ei={promoteId:function({key:t,value:e}){if(\"string\"===cn(e))return ti({key:t,value:e});{const r=[];for(const n in e)r.push(...ti({key:`${t}.${n}`,value:e[n]}));return r}}};function ri(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,s=t.validateSpec;if(!e.type)return [new it(r,e,'\"type\" is required')];const a=jn(e.type);let o;switch(a){case\"vector\":case\"raster\":return o=Un({key:r,value:e,valueSpec:n[`source_${a.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:ei,validateSpec:s}),o;case\"raster-dem\":return o=function(t){var e;const r=null!==(e=t.sourceName)&&void 0!==e?e:\"\",n=t.value,i=t.styleSpec,s=i.source_raster_dem,a=t.style;let o=[];const l=cn(n);if(void 0===n)return o;if(\"object\"!==l)return o.push(new it(\"source_raster_dem\",n,`object expected, ${l} found`)),o;const u=\"custom\"===jn(n.encoding),c=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],h=t.value.encoding?`\"${t.value.encoding}\"`:\"Default\";for(const e in n)!u&&c.includes(e)?o.push(new it(e,n[e],`In \"${r}\": \"${e}\" is only valid when \"encoding\" is set to \"custom\". ${h} encoding found`)):s[e]?o=o.concat(t.validateSpec({key:e,value:n[e],valueSpec:s[e],validateSpec:t.validateSpec,style:a,styleSpec:i})):o.push(new it(e,n[e],`unknown property \"${e}\"`));return o}({sourceName:r,value:e,style:t.style,styleSpec:n,validateSpec:s}),o;case\"geojson\":if(o=Un({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:s,objectElementValidators:ei}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],a=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;o.push(...Kn({key:`${r}.${t}.map`,value:i,validateSpec:s,expressionContext:\"cluster-map\"})),o.push(...Kn({key:`${r}.${t}.reduce`,value:a,validateSpec:s,expressionContext:\"cluster-reduce\"}));}return o;case\"video\":return Un({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:s,styleSpec:n});case\"image\":return Un({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:s,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 Gn({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,validateSpec:s,styleSpec:n})}}function ni(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let s=[];const a=cn(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"light\",e,`object expected, ${a} found`)]),s;for(const a in e){const o=a.match(/^(.*)-transition$/);s=s.concat(o&&n[o[1]]&&n[o[1]].transition?t.validateSpec({key:a,value:e[a],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r}):n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);}return s}function ii(t){const e=t.value,r=t.styleSpec,n=r.sky,i=t.style,s=cn(e);if(void 0===e)return [];if(\"object\"!==s)return [new it(\"sky\",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new it(s,e[s],`unknown property \"${s}\"`)]);return a}function si(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let s=[];const a=cn(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"terrain\",e,`object expected, ${a} found`)]),s;for(const a in e)s=s.concat(n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);return s}function ai(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],s=[];for(const a in r)r[a].id&&i.includes(r[a].id)&&e.push(new it(n,r,`all the sprites' ids must be unique, but ${r[a].id} is duplicated`)),i.push(r[a].id),r[a].url&&s.includes(r[a].url)&&e.push(new it(n,r,`all the sprites' URLs must be unique, but ${r[a].url} is duplicated`)),s.push(r[a].url),e=e.concat(Un({key:`${n}[${a}]`,value:r[a],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:t.validateSpec}));return e}return ti({key:n,value:r})}const oi={\"*\":()=>[],array:qn,boolean:function(t){const e=t.value,r=t.key,n=cn(e);return \"boolean\"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:Nn,color:function(t){const e=t.key,r=t.value,n=cn(r);return \"string\"!==n?[new it(e,r,`color expected, ${n} found`)]:Gt.parse(String(r))?[]:[new it(e,r,`color expected, \"${r}\" found`)]},constants:On,enum:Gn,filter:Jn,function:Zn,layer:Qn,object:Un,source:ri,light:ni,sky:ii,terrain:si,projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style,s=cn(e);if(void 0===e)return [];if(\"object\"!==s)return [new it(\"projection\",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new it(s,e[s],`unknown property \"${s}\"`)]);return a},string:ti,formatted:function(t){return 0===ti(t).length?[]:Kn(t)},resolvedImage:function(t){return 0===ti(t).length?[]:Kn(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===cn(r)){if(r.length<1||r.length>4)return [new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:\"number\"};let i=[];for(let s=0;s[]}})),t.constants&&(r=r.concat(On({key:\"constants\",value:t.constants,style:t,styleSpec:e,validateSpec:li}))),pi(r)}function hi(t){return function(e){return t({...e,validateSpec:li})}}function pi(t){return [].concat(t).sort(((t,e)=>t.line-e.line))}function fi(t){return function(...e){return pi(t.apply(this,e))}}ci.source=fi(hi(ri)),ci.sprite=fi(hi(ai)),ci.glyphs=fi(hi(ui)),ci.light=fi(hi(ni)),ci.sky=fi(hi(ii)),ci.terrain=fi(hi(si)),ci.layer=fi(hi(Qn)),ci.filter=fi(hi(Jn)),ci.paintProperty=fi(hi(Yn)),ci.layoutProperty=fi(hi(Wn));const di=ci,yi=di.light,mi=di.sky,gi=di.paintProperty,xi=di.layoutProperty;function vi(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new N(new Error(n.message))),r=!0;return r}class bi{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])?(a[h]=!0,s.push(i[h])):a[h]=!1;}}}}_forEachCell(t,e,r,n,i,s,a,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,s,a,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 s=t[n];i[n]=wi[r].shallow.indexOf(n)>=0?s:Mi(s,e);}t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==r&&(i.$name=r),i}function Ii(t){if(ki(t))return t;if(Array.isArray(t))return t.map(Ii);if(\"object\"!=typeof t)throw new Error(\"can't deserialize object of type \"+typeof t);const e=Si(t)||\"Object\";if(!wi[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=wi[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]=wi[e].shallow.indexOf(r)>=0?i:Ii(i);}return n}class zi{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 Ci(t){for(const e of t)if(Ei(e.charCodeAt(0)))return !0;return !1}function Bi(t){for(const e of t)if(!Vi(e.charCodeAt(0)))return !1;return !0}function Vi(t){return !(Pi.Arabic(t)||Pi[\"Arabic Supplement\"](t)||Pi[\"Arabic Extended-A\"](t)||Pi[\"Arabic Presentation Forms-A\"](t)||Pi[\"Arabic Presentation Forms-B\"](t))}function Ei(t){return !(746!==t&&747!==t&&(t<4352||!(Pi[\"Bopomofo Extended\"](t)||Pi.Bopomofo(t)||Pi[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Pi[\"CJK Compatibility Ideographs\"](t)||Pi[\"CJK Compatibility\"](t)||Pi[\"CJK Radicals Supplement\"](t)||Pi[\"CJK Strokes\"](t)||!(!Pi[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Pi[\"CJK Unified Ideographs Extension A\"](t)||Pi[\"CJK Unified Ideographs\"](t)||Pi[\"Enclosed CJK Letters and Months\"](t)||Pi[\"Hangul Compatibility Jamo\"](t)||Pi[\"Hangul Jamo Extended-A\"](t)||Pi[\"Hangul Jamo Extended-B\"](t)||Pi[\"Hangul Jamo\"](t)||Pi[\"Hangul Syllables\"](t)||Pi.Hiragana(t)||Pi[\"Ideographic Description Characters\"](t)||Pi.Kanbun(t)||Pi[\"Kangxi Radicals\"](t)||Pi[\"Katakana Phonetic Extensions\"](t)||Pi.Katakana(t)&&12540!==t||!(!Pi[\"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)||!(!Pi[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Pi[\"Unified Canadian Aboriginal Syllabics\"](t)||Pi[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Pi[\"Vertical Forms\"](t)||Pi[\"Yijing Hexagram Symbols\"](t)||Pi[\"Yi Syllables\"](t)||Pi[\"Yi Radicals\"](t))))}function Fi(t){return !(Ei(t)||function(t){return !!(Pi[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Pi[\"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)||Pi[\"Letterlike Symbols\"](t)||Pi[\"Number Forms\"](t)||Pi[\"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)||Pi[\"Control Pictures\"](t)&&9251!==t||Pi[\"Optical Character Recognition\"](t)||Pi[\"Enclosed Alphanumerics\"](t)||Pi[\"Geometric Shapes\"](t)||Pi[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Pi[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Pi[\"CJK Symbols and Punctuation\"](t)||Pi.Katakana(t)||Pi[\"Private Use Area\"](t)||Pi[\"CJK Compatibility Forms\"](t)||Pi[\"Small Form Variants\"](t)||Pi[\"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 Ti(t){return t>=1424&&t<=2303||Pi[\"Arabic Presentation Forms-A\"](t)||Pi[\"Arabic Presentation Forms-B\"](t)}function $i(t,e){return !(!e&&Ti(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Pi.Khmer(t))}function Li(t){for(const e of t)if(Ti(e.charCodeAt(0)))return !0;return !1}const Di=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null;}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL;}getState(){return {pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText;}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Oi{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 zi,this.transition={});}isSupportedScript(t){return function(t,e){for(const r of t)if(!$i(r.charCodeAt(0),e))return !1;return !0}(t,\"loaded\"===Di.getRTLTextPluginStatus())}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 ji{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(hn(t))return new kn(t,e);if(bn(t)){const r=Sn(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=Gt.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)?\"variableAnchorOffsetCollection\"===e.type&&Array.isArray(t)&&(r=Qt.parse(t)):r=Yt.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 Ri{constructor(t){this.property=t,this.value=new ji(t,void 0);}transitioned(t,e){return new qi(this.property,this.value,e,g({},t.transition,this.transition),t.now)}untransitioned(){return new qi(this.property,this.value,null,{},0)}}class Ui{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return w(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new ji(this._values[t].property,null===e?void 0:w(e));}getTransition(t){return w(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(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 Ni(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 Ni(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class qi{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),s=this.prior;if(s){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)}(a))}}return i}}class Ni{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);}possiblyEvaluate(t,e,r){const n=new Gi(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 Zi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);}hasValue(t){return void 0!==this._values[t].value}getValue(t){return w(this._values[t].value)}setValue(t,e){this._values[t]=new ji(this._values[t].property,null===e?void 0:w(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 Gi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class Ki{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 Gi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);}get(t){return this._values[t]}}class Ji{constructor(t){this.specification=t;}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error(\"Value should not be data driven\");return t.expression.evaluate(e)}interpolate(t,e,r){const n=Ce[this.specification.type];return n?n(t,e,r):t}}class Xi{constructor(t,e){this.specification=t,this.overrides=e;}possiblyEvaluate(t,e,r,n){return new Ki(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 Ki(this,{kind:\"constant\",value:void 0},t.parameters);const n=Ce[this.specification.type];if(n){const i=n(t.value.value,e.value.value,r);return new Ki(this,{kind:\"constant\",value:i},t.parameters)}return t}evaluate(t,e,r,n,i,s){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,s)}}class Hi extends Xi{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new Ki(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),s=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,a=this._calculate(s,s,s,e);return new Ki(this,{kind:\"constant\",value:a},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 Ki(this,{kind:\"constant\",value:r},e)}return new Ki(this,t.expression,e)}evaluate(t,e,r,n,i,s){if(\"source\"===t.kind){const a=t.evaluate(e,r,n,i,s);return this._calculate(a,a,a,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 Yi{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 Oi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Oi(Math.floor(e.zoom),e)),t.expression.evaluate(new Oi(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 Wi{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)}interpolate(){return !1}}class Qi{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 ji(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}}}_i(\"DataDrivenProperty\",Xi),_i(\"DataConstantProperty\",Ji),_i(\"CrossFadedDataDrivenProperty\",Hi),_i(\"CrossFadedProperty\",Yi),_i(\"ColorRampProperty\",Wi);const ts=\"-transition\";class es extends Z{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 Zi(e.layout)),e.paint)){this._transitionablePaint=new Ui(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 Gi(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(xi,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return t.endsWith(ts)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate(gi,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(t.endsWith(ts))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=\"cross-faded-data-driven\"===r.property.specification[\"property-type\"],i=r.value.isDataDriven(),s=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const a=this._transitionablePaint._values[t].value;return a.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,s,a)}}_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),b(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)&&vi(this,t.call(di,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:K,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 Ki&&on(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}}const rs={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ns{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 is{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 ss(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=rs[t.type].BYTES_PER_ELEMENT,s=r=as(r,Math.max(e,i)),a=t.components||1;return n=Math.max(n,i),r+=i*a,{name:t.name,type:t.type,components:a,offset:s}})),size:as(r,Math.max(n,e)),alignment:e}}function as(t,e){return Math.ceil(t/e)*e}class os extends is{_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}}os.prototype.bytesPerElement=4,_i(\"StructArrayLayout2i4\",os);class ls extends is{_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}}ls.prototype.bytesPerElement=6,_i(\"StructArrayLayout3i6\",ls);class us extends is{_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 s=4*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,t}}us.prototype.bytesPerElement=8,_i(\"StructArrayLayout4i8\",us);class cs extends is{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){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]=s,this.int16[o+5]=a,t}}cs.prototype.bytesPerElement=12,_i(\"StructArrayLayout2i4i12\",cs);class hs extends is{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){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]=s,this.uint8[l+7]=a,t}}hs.prototype.bytesPerElement=8,_i(\"StructArrayLayout2i4ub8\",hs);class ps extends is{_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}}ps.prototype.bytesPerElement=8,_i(\"StructArrayLayout2f8\",ps);class fs extends is{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,s,a,o,l,u)}emplace(t,e,r,n,i,s,a,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]=s,this.uint16[h+5]=a,this.uint16[h+6]=o,this.uint16[h+7]=l,this.uint16[h+8]=u,this.uint16[h+9]=c,t}}fs.prototype.bytesPerElement=20,_i(\"StructArrayLayout10ui20\",fs);class ds extends is{_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,s,a,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,s,a,o,l,u,c,h)}emplace(t,e,r,n,i,s,a,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]=s,this.uint16[f+5]=a,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}}ds.prototype.bytesPerElement=24,_i(\"StructArrayLayout4i4ui4i24\",ds);class ys extends is{_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}}ys.prototype.bytesPerElement=12,_i(\"StructArrayLayout3f12\",ys);class ms extends is{_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}}ms.prototype.bytesPerElement=4,_i(\"StructArrayLayout1ul4\",ms);class gs extends is{_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,s,a,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,s,a,o,l)}emplace(t,e,r,n,i,s,a,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]=s,this.int16[c+5]=a,this.uint32[h+3]=o,this.uint16[c+8]=l,this.uint16[c+9]=u,t}}gs.prototype.bytesPerElement=20,_i(\"StructArrayLayout6i1ul2ui20\",gs);class xs extends is{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){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]=s,this.int16[o+5]=a,t}}xs.prototype.bytesPerElement=12,_i(\"StructArrayLayout2i2i2i12\",xs);class vs extends is{_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 s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.int16[o+6]=i,this.int16[o+7]=s,t}}vs.prototype.bytesPerElement=16,_i(\"StructArrayLayout2f1f2i16\",vs);class bs extends is{_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,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=16*t,l=4*t,u=8*t;return this.uint8[o+0]=e,this.uint8[o+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[u+6]=s,this.int16[u+7]=a,t}}bs.prototype.bytesPerElement=16,_i(\"StructArrayLayout2ub2f2i16\",bs);class ws extends is{_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}}ws.prototype.bytesPerElement=6,_i(\"StructArrayLayout3ui6\",ws);class _s extends is{_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,s,a,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,s,a,o,l,u,c,h,p,f,d,y,m)}emplace(t,e,r,n,i,s,a,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]=s,this.uint32[v+3]=a,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}}_s.prototype.bytesPerElement=48,_i(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",_s);class As extends is{_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,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I,z){const P=32*t,C=16*t;return this.int16[P+0]=e,this.int16[P+1]=r,this.int16[P+2]=n,this.int16[P+3]=i,this.int16[P+4]=s,this.int16[P+5]=a,this.int16[P+6]=o,this.int16[P+7]=l,this.uint16[P+8]=u,this.uint16[P+9]=c,this.uint16[P+10]=h,this.uint16[P+11]=p,this.uint16[P+12]=f,this.uint16[P+13]=d,this.uint16[P+14]=y,this.uint16[P+15]=m,this.uint16[P+16]=g,this.uint16[P+17]=x,this.uint16[P+18]=v,this.uint16[P+19]=b,this.uint16[P+20]=w,this.uint16[P+21]=_,this.uint16[P+22]=A,this.uint32[C+12]=S,this.float32[C+13]=k,this.float32[C+14]=M,this.uint16[P+30]=I,this.uint16[P+31]=z,t}}As.prototype.bytesPerElement=64,_i(\"StructArrayLayout8i15ui1ul2f2ui64\",As);class Ss extends is{_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}}Ss.prototype.bytesPerElement=4,_i(\"StructArrayLayout1f4\",Ss);class ks extends is{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(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.uint16[6*t+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}ks.prototype.bytesPerElement=12,_i(\"StructArrayLayout1ui2f12\",ks);class Ms extends is{_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}}Ms.prototype.bytesPerElement=8,_i(\"StructArrayLayout1ul2ui8\",Ms);class Is extends is{_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}}Is.prototype.bytesPerElement=4,_i(\"StructArrayLayout2ui4\",Is);class zs extends is{_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}}zs.prototype.bytesPerElement=2,_i(\"StructArrayLayout1ui2\",zs);class Ps extends is{_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 s=4*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.float32[s+3]=i,t}}Ps.prototype.bytesPerElement=16,_i(\"StructArrayLayout4f16\",Ps);class Cs extends ns{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)}}Cs.prototype.size=20;class Bs extends gs{get(t){return new Cs(this,t)}}_i(\"CollisionBoxArray\",Bs);class Vs extends ns{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]}}Vs.prototype.size=48;class Es extends _s{get(t){return new Vs(this,t)}}_i(\"PlacedSymbolArray\",Es);class Fs extends ns{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 collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Fs.prototype.size=64;class Ts extends As{get(t){return new Fs(this,t)}}_i(\"SymbolInstanceArray\",Ts);class $s extends Ss{getoffsetX(t){return this.float32[1*t+0]}}_i(\"GlyphOffsetArray\",$s);class Ls extends ls{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}_i(\"SymbolLineVertexArray\",Ls);class Ds extends ns{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Ds.prototype.size=12;class Os extends ks{get(t){return new Ds(this,t)}}_i(\"TextAnchorOffsetArray\",Os);class js extends ns{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]}}js.prototype.size=8;class Rs extends Ms{get(t){return new js(this,t)}}_i(\"FeatureIndexArray\",Rs);class Us extends os{}class qs extends os{}class Ns extends os{}class Zs extends cs{}class Ks extends hs{}class Gs extends ps{}class Js extends fs{}class Xs extends ds{}class Hs extends ys{}class Ys extends ms{}class Ws extends xs{}class Qs extends bs{}class ta extends ws{}class ea extends Is{}const ra=ss([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:na}=ra;class ia{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ia.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${ia.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ia.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 ia([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function sa(t,e){return 256*(t=y(Math.floor(t),0,255))+y(Math.floor(e),0,255)}ia.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,_i(\"SegmentVector\",ia);const aa=ss([{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 oa={exports:{}},la={exports:{}};la.exports=function(t,e){var r,n,i,s,a,o,l,u;for(n=t.length-(r=3&t.length),i=e,a=3432918353,o=461845907,u=0;u>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(s>>>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)))*a+(((l>>>16)*a&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 ua=la.exports,ca={exports:{}};ca.exports=function(t,e){for(var r,n=t.length,i=e^n,s=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<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,++s;switch(n){case 3:i^=(255&t.charCodeAt(s+2))<<16;case 2:i^=(255&t.charCodeAt(s+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(s)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var ha=ua,pa=ca.exports;oa.exports=ha,oa.exports.murmur3=ha,oa.exports.murmur2=pa;var fa=r(oa.exports);class da{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(ya(t)),this.positions.push(e,r,n);}getPositions(t){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");const e=ya(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 ma(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new da;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function ya(t){const e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:fa(String(t))}function ma(t,e,r,n){for(;r>1];let s=r-1,a=n+1;for(;;){do{s++;}while(t[s]i);if(s>=a)break;ga(t,s,a),ga(e,3*s,3*a),ga(e,3*s+1,3*a+1),ga(e,3*s+2,3*a+2);}a-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 wa(t,e):new va(t,e)}}class ka{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 va(t,e)}}class Ma{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 s=this.paintVertexArray.length,a=this.expression.evaluate(new Oi(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a);}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=Aa(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 s;}populatePaintArray(t,e,r,n,i){const s=this.expression.evaluate(new Oi(this.zoom),e,{},n,[],i),a=this.expression.evaluate(new Oi(this.zoom+1),e,{},n,[],i),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,s,a);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),s=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,s);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Aa(r),s=Aa(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 Ma||r instanceof Ia)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Pa(n,e,r);this.needsUpload=!1,this._featureMap=new da,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,s){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,s);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 Ba(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 Va(t,e,r){const n={color:{source:ps,composite:Ps},number:{source:Ss,composite:ps}},i=function(t){return {\"line-pattern\":{source:Js,composite:Js},\"fill-pattern\":{source:Js,composite:Js},\"fill-extrusion-pattern\":{source:Js,composite:Js}}[t]}(t);return i&&i[r]||n[e][r]}_i(\"ConstantBinder\",Sa),_i(\"CrossFadedConstantBinder\",ka),_i(\"SourceExpressionBinder\",Ma),_i(\"CrossFadedCompositeBinder\",za),_i(\"CompositeExpressionBinder\",Ia),_i(\"ProgramConfiguration\",Pa,{omit:[\"_buffers\"]}),_i(\"ProgramConfigurationSet\",Ca);const Ea=8192,Fa=Math.pow(2,14)-1,Ta=-Fa-1;function $a(t){const e=Ea/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||sr.y+1)&&A(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}}return r}function La(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?$a(t):[]}}function Da(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}class Oa{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 qs,this.indexArray=new ta,this.segments=new ia,this.programConfigurations=new Ca(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 s=null,a=!1;\"circle\"===n.type&&(s=n.layout.get(\"circle-sort-key\"),a=!s.isConstant());for(const{feature:e,id:n,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=La(e,t);if(!this.layers[0]._featureFilter.filter(new Oi(this.zoom),u,r))continue;const c=a?s.evaluate(u,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:$a(e),patterns:{},sortKey:c};i.push(h);}a&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:s,sourceLayerIndex:a}=n,o=t[s].feature;this.addFeature(n,i,s,r),e.featureIndex.insert(o,i,s,a,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,na),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>=Ea||n<0||n>=Ea)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=i.vertexLength;Da(this.layoutVertexArray,r,n,-1,-1),Da(this.layoutVertexArray,r,n,1,-1),Da(this.layoutVertexArray,r,n,1,1),Da(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s,s+3,s+2),i.vertexLength+=4,i.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);}}function ja(t,e){for(let r=0;r1){if(Na(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function Ja(t,e){let r,n,i,s=!1;for(let a=0;ae.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(s=!s);}return s}function Xa(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(r=!r);}return r}function Ha(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 s=S(t,e,r[0]);return s!==S(t,e,r[1])||s!==S(t,e,r[2])||s!==S(t,e,r[3])}function Ya(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Wa(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Qa(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 o=[];for(let e=0;eho(t,e)))}(l,o),p=c?u*a:u;for(const t of n)for(const e of t){const t=c?e:ho(e,o);let r=p;const n=uo([],[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]/s.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=s.cameraToCenterDistance/n[3]),Ra(h,t,r))return !0}return !1}}function ho(t,e){const r=uo([],[t.x,t.y,0,1],e);return new s(r[0]/r[3],r[1]/r[3])}class po extends Oa{}let fo;_i(\"HeatmapBucket\",po,{omit:[\"layers\"]});var yo={get paint(){return fo=fo||new Qi({\"heatmap-radius\":new Xi(K.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Xi(K.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Ji(K.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Wi(K.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Ji(K.paint_heatmap[\"heatmap-opacity\"])})}};function mo(t,{width:e,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${e*r*n}`)}else i=new Uint8Array(e*r*n);return t.width=e,t.height=r,t.data=i,t}function go(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=mo({},{width:e,height:r},n);xo(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,r)},n),t.width=e,t.height=r,t.data=i.data;}function xo(t,e,r,n,i,s){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const a=t.data,o=e.data;if(a===o)throw new Error(\"srcData equals dstData, so image is already copied\");for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*a.r/a.a),i.data[r+n+1]=Math.floor(255*a.g/a.a),i.data[r+n+2]=Math.floor(255*a.b/a.a),i.data[r+n+3]=Math.floor(255*a.a);};if(t.clips)for(let e=0,i=0;e80*r){n=s=t[0],i=a=t[1];for(var d=r;ds&&(s=o),l>a&&(a=l);u=0!==(u=Math.max(s-n,a-i))?32767/u:0;}return Vo(p,f,r,n,i,u,0),f}function Co(t,e,r,n,i){var s,a;if(i===tl(t,e,r,n)>0)for(s=e;s=e;s-=n)a=Yo(s,t[s],t[s+1],a);return a&&Zo(a,a.next)&&(Wo(a),a=a.next),a}function Bo(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Zo(n,n.next)&&0!==No(n.prev,n,n.next))n=n.next;else {if(Wo(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function Vo(t,e,r,n,i,s,a){if(t){!a&&s&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=jo(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,s,a,o,l,u=1;do{for(r=t,t=null,s=null,a=0;r;){for(a++,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--),s?s.nextZ=i:t=i,i.prevZ=s,s=i;r=n;}s.nextZ=null,u*=2;}while(a>1)}(i);}(t,n,i,s);for(var o,l,u=t;t.prev!==t.next;)if(o=t.prev,l=t.next,s?Fo(t,n,i,s):Eo(t))e.push(o.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),Wo(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?Vo(t=To(Bo(t),e,r),e,r,n,i,s,2):2===a&&$o(t,e,r,n,i,s):Vo(Bo(t),e,r,n,i,s,1);break}}}function Eo(t){var e=t.prev,r=t,n=t.next;if(No(e,r,n)>=0)return !1;for(var i=e.x,s=r.x,a=n.x,o=e.y,l=r.y,u=n.y,c=is?i>a?i:a:s>a?s:a,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&&Uo(i,o,s,l,a,u,d.x,d.y)&&No(d.prev,d,d.next)>=0)return !1;d=d.next;}return !0}function Fo(t,e,r,n){var i=t.prev,s=t,a=t.next;if(No(i,s,a)>=0)return !1;for(var o=i.x,l=s.x,u=a.x,c=i.y,h=s.y,p=a.y,f=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=jo(f,d,e,r,n),x=jo(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!==a&&Uo(o,c,l,h,u,p,v.x,v.y)&&No(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!==a&&Uo(o,c,l,h,u,p,b.x,b.y)&&No(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!==a&&Uo(o,c,l,h,u,p,v.x,v.y)&&No(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!==a&&Uo(o,c,l,h,u,p,b.x,b.y)&&No(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function To(t,e,r){var n=t;do{var i=n.prev,s=n.next.next;!Zo(i,s)&&Ko(i,n,n.next,s)&&Xo(i,s)&&Xo(s,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(s.i/r|0),Wo(n),Wo(n.next),n=t=s),n=n.next;}while(n!==t);return Bo(n)}function $o(t,e,r,n,i,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&qo(a,o)){var l=Ho(a,o);return a=Bo(a,a.next),l=Bo(l,l.next),Vo(a,e,r,n,i,s,0),void Vo(l,e,r,n,i,s,0)}o=o.next;}a=a.next;}while(a!==t)}function Lo(t,e){return t.x-e.x}function Do(t,e){var r=function(t,e){var r,n=e,i=t.x,s=t.y,a=-1/0;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=i&&o>a&&(a=o,r=n.x=n.x&&n.x>=c&&i!==n.x&&Uo(sr.x||n.x===r.x&&Oo(r,n)))&&(r=n,p=l)),n=n.next;}while(n!==u);return r}(t,e);if(!r)return e;var n=Ho(r,t);return Bo(n,n.next),Bo(r,r.next)}function Oo(t,e){return No(t.prev,t,e.prev)<0&&No(e.next,t,t.next)<0}function jo(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 Ro(t){var e=t,r=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(n-o)>=(r-a)*(e-o)&&(r-a)*(s-o)>=(i-a)*(n-o)}function qo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Ko(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(Xo(t,e)&&Xo(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,s=(t.y+e.y)/2;do{r.y>s!=r.next.y>s&&r.next.y!==r.y&&i<(r.next.x-r.x)*(s-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(No(t.prev,t,e.prev)||No(t,e.prev,e))||Zo(t,e)&&No(t.prev,t,t.next)>0&&No(e.prev,e,e.next)>0)}function No(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Zo(t,e){return t.x===e.x&&t.y===e.y}function Ko(t,e,r,n){var i=Jo(No(t,e,r)),s=Jo(No(t,e,n)),a=Jo(No(r,n,t)),o=Jo(No(r,n,e));return i!==s&&a!==o||!(0!==i||!Go(t,r,e))||!(0!==s||!Go(t,n,e))||!(0!==a||!Go(r,t,n))||!(0!==o||!Go(r,e,n))}function Go(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 Jo(t){return t>0?1:t<0?-1:0}function Xo(t,e){return No(t.prev,t,t.next)<0?No(t,e,t.next)>=0&&No(t,t.prev,e)>=0:No(t,e,t.prev)<0||No(t,t.next,e)<0}function Ho(t,e){var r=new Qo(t.i,t.x,t.y),n=new Qo(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,s.next=n,n.prev=s,n}function Yo(t,e,r,n){var i=new Qo(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 Wo(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 Qo(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 tl(t,e,r,n){for(var i=0,s=e,a=r-n;s0&&r.holes.push(n+=t[i-1].length);}return r};var el=r(zo.exports);function rl(t,e,r){const n=r.patternDependencies;let i=!1;for(const r of e){const e=r.paint.get(`${t}-pattern`);e.isConstant()||(i=!0);const s=e.constantOr(null);s&&(i=!0,n[s.to]=!0,n[s.from]=!0);}return i}function nl(t,e,r,n,i){const s=i.patternDependencies;for(const a of e){const e=a.paint.get(`${t}-pattern`).value;if(\"constant\"!==e.kind){let t=e.evaluate({zoom:n-1},r,{},i.availableImages),o=e.evaluate({zoom:n},r,{},i.availableImages),l=e.evaluate({zoom:n+1},r,{},i.availableImages);t=t&&t.name?t.name:t,o=o&&o.name?o.name:o,l=l&&l.name?l.name:l,s[t]=!0,s[o]=!0,s[l]=!0,r.patterns[a.id]={min:t,mid:o,max:l};}}return r}class il{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 Ns,this.indexArray=new ta,this.indexArray2=new ea,this.programConfigurations=new Ca(t.layers,t.zoom),this.segments=new ia,this.segments2=new ia,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=rl(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=La(a,t);if(!this.layers[0]._featureFilter.filter(new Oi(this.zoom),c,r))continue;const h=i?n.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:a.properties,type:a.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:$a(a),patterns:{},sortKey:h};s.push(p);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=nl(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,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,Io),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 vr(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=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.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)s+=t.readSVarint(),a+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new fl(s,a));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},yl.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=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),(s+=t.readSVarint())u&&(u=s);else if(7!==r)throw new Error(\"unknown command \"+r)}return [a,l,o,u]},yl.prototype.toGeoJSON=function(t,e,r){var n,i,s=this.extent*Math.pow(2,r),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=yl.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));}bl.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 xl(this._pbf,e,this.extent,this._keys,this._values)};var _l=vl;function Al(t,e,r){if(3===t){var n=new _l(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}pl.VectorTile=function(t,e){this.layers=t.readFields(Al,{},e);},pl.VectorTileFeature=dl,pl.VectorTileLayer=vl;const Sl=pl.VectorTileFeature.types,kl=Math.pow(2,13);function Ml(t,e,r,n,i,s,a,o){t.emplaceBack(e,r,2*Math.floor(n*kl)+a,i*kl*2,s*kl*2,Math.round(o));}class Il{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 Zs,this.centroidVertexArray=new Us,this.indexArray=new ta,this.programConfigurations=new Ca(t.layers,t.zoom),this.segments=new ia,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.features=[],this.hasPattern=rl(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:s,sourceLayerIndex:a}of t){const t=this.layers[0]._featureFilter.needGeometry,o=La(n,t);if(!this.layers[0]._featureFilter.filter(new Oi(this.zoom),o,r))continue;const l={id:i,sourceLayerIndex:a,index:s,geometry:t?o.geometry:$a(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(nl(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,r,{}),e.featureIndex.insert(n,l.geometry,s,a,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,hl),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,cl.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){for(const r of vr(e,500)){const e={x:0,y:0,vertexCount:0};let n=0;for(const t of r)n+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Pl(t))continue;let r=0;for(let n=0;n=1){const a=t[n-1];if(!zl(s,a)){i.vertexLength+4>ia.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=s.sub(a)._perp()._unit(),n=a.dist(s);r+n>32768&&(r=0),Ml(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,r),Ml(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,r),e.x+=2*s.x,e.y+=2*s.y,e.vertexCount+=2,r+=n,Ml(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,r),Ml(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,r),e.x+=2*a.x,e.y+=2*a.y,e.vertexCount+=2;const o=i.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),i.vertexLength+=4,i.primitiveLength+=2;}}}}if(i.vertexLength+n>ia.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==Sl[t.type])continue;const s=[],a=[],o=i.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&a.push(s.length/2);for(let r=0;rEa)||t.y===e.y&&(t.y<0||t.y>Ea)}function Pl(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Ea))||t.every((t=>t.y<0))||t.every((t=>t.y>Ea))}let Cl;_i(\"FillExtrusionBucket\",Il,{omit:[\"layers\",\"features\"]});var Bl={get paint(){return Cl=Cl||new Qi({\"fill-extrusion-opacity\":new Ji(K[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Xi(K[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Ji(K[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Ji(K[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Hi(K[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Xi(K[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Xi(K[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Ji(K[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Vl extends es{constructor(t){super(t,Bl);}createBucket(t){return new Il(t)}queryRadius(){return Wa(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}queryIntersectsFeature(t,e,r,n,i,a,o,l){const u=Qa(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),a.angle,o),c=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),p=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,0,1];uo(t,t,e),i.push(new s(t[0]/t[3],t[1]/t[3]));}return i}(u,l),f=function(t,e,r,n){const i=[],a=[],o=n[8]*e,l=n[9]*e,u=n[10]*e,c=n[11]*e,h=n[8]*r,p=n[9]*r,f=n[10]*r,d=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,a=i.y,y=n[0]*e+n[4]*a+n[12],m=n[1]*e+n[5]*a+n[13],g=n[2]*e+n[6]*a+n[14],x=n[3]*e+n[7]*a+n[15],v=g+u,b=x+c,w=y+h,_=m+p,A=g+f,S=x+d,k=new s((y+o)/b,(m+l)/b);k.z=v/b,t.push(k);const M=new s(w/S,_/S);M.z=A/S,r.push(M);}i.push(t),a.push(r);}return [i,a]}(n,h,c,l);return function(t,e,r){let n=1/0;Ua(r,e)&&(n=Fl(r,e[0]));for(let i=0;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 Ks,this.layoutVertexArray2=new Gs,this.indexArray=new ta,this.programConfigurations=new Ca(t.layers,t.zoom),this.segments=new ia,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=rl(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=La(e,t);if(!this.layers[0]._featureFilter.filter(new Oi(this.zoom),u,r))continue;const c=i?n.evaluate(u,{},r):void 0,h={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:$a(e),patterns:{},sortKey:c};s.push(h);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=nl(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,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,Dl)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,$l),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 s=this.layers[0].layout,a=s.get(\"line-join\").evaluate(t,{}),o=s.get(\"line-cap\"),l=s.get(\"line-miter-limit\"),u=s.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,a,o,l,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);}addLine(t,e,r,n,i,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[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 S=A?r:a?\"butt\":n;if(A&&\"round\"===S&&(vi&&(S=\"bevel\"),\"bevel\"===S&&(v>2&&(S=\"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\"===S||\"fakeround\"===S){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,d,e,r,c),\"fakeround\"===S){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,s=!1){const a=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,s,!1,r,i),this.addHalfVertex(t,a,o,s,!0,-n,i),this.distance>Rl/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,s));}addHalfVertex({x:t,y:e},r,n,i,s,a,o){const l=.5*(this.lineClips?this.scaledDistance*(Rl-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(s?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===a?0:a<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++),s?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();}}let ql,Nl;_i(\"LineBucket\",Ul,{omit:[\"layers\",\"patternFeatures\"]});var Zl={get paint(){return Nl=Nl||new Qi({\"line-opacity\":new Xi(K.paint_line[\"line-opacity\"]),\"line-color\":new Xi(K.paint_line[\"line-color\"]),\"line-translate\":new Ji(K.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Ji(K.paint_line[\"line-translate-anchor\"]),\"line-width\":new Xi(K.paint_line[\"line-width\"]),\"line-gap-width\":new Xi(K.paint_line[\"line-gap-width\"]),\"line-offset\":new Xi(K.paint_line[\"line-offset\"]),\"line-blur\":new Xi(K.paint_line[\"line-blur\"]),\"line-dasharray\":new Yi(K.paint_line[\"line-dasharray\"]),\"line-pattern\":new Hi(K.paint_line[\"line-pattern\"]),\"line-gradient\":new Wi(K.paint_line[\"line-gradient\"])})},get layout(){return ql=ql||new Qi({\"line-cap\":new Ji(K.layout_line[\"line-cap\"]),\"line-join\":new Xi(K.layout_line[\"line-join\"]),\"line-miter-limit\":new Ji(K.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Ji(K.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Xi(K.layout_line[\"line-sort-key\"])})}};class Kl extends Xi{possiblyEvaluate(t,e){return e=new Oi(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=g({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let Gl;class Jl extends es{constructor(t){super(t,Zl),this.gradientVersion=0,Gl||(Gl=new Kl(Zl.paint.properties[\"line-width\"].specification),Gl.useIntegerZoom=!0);}_handleSpecialPaintPropertyUpdate(t){if(\"line-gradient\"===t){const t=this.gradientExpression();this.stepInterpolant=!!function(t){return void 0!==t._styleExpression}(t)&&t._styleExpression.expression instanceof Ae,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER;}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values[\"line-floorwidth\"]=Gl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,t);}createBucket(t){return new Ul(t)}queryRadius(t){const e=t,r=Xl(Ya(\"line-width\",this,e),Ya(\"line-gap-width\",this,e)),n=Ya(\"line-offset\",this,e);return r/2+Math.abs(n)+Wa(this.paint.get(\"line-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,o){const l=Qa(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),a.angle,o),u=o/2*Xl(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),c=this.paint.get(\"line-offset\").evaluate(e,r);return c&&(n=function(t,e){const r=[];for(let n=0;n=3)for(let e=0;e0?e+2*t:t}const Hl=ss([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Yl=ss([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);ss([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const Wl=ss([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);ss([{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 Ql=ss([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),tu=ss([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function eu(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()),Di.applyArabicShaping&&(t=Di.applyArabicShaping(t)),t}(t.text,e,r);})),t}ss([{name:\"triangle\",components:3,type:\"Uint16\"}]),ss([{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\"}]),ss([{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\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),ss([{type:\"Float32\",name:\"offsetX\"}]),ss([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),ss([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);const ru={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var nu=24,iu=ou,su=function(t,e,r,n,i){var s,a,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,s=f&(1<<-c)-1,f>>=-c,c+=o;c>0;s=256*s+t[e+h],h+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=p,c-=8);if(0===s)s=1-u;else {if(s===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),s-=u;}return (f?-1:1)*a*Math.pow(2,s-n)},au=function(t,e,r,n,i,s){var a,o,l,u=8*s-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:s-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(o=0,a=c):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+f]=255&o,f+=d,o/=256,i-=8);for(a=a<0;t[r+f]=255&a,f+=d,a/=256,u-=8);t[r+f-d]|=128*y;};function ou(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}ou.Varint=0,ou.Fixed64=1,ou.Bytes=2,ou.Fixed32=5;var lu=4294967296,uu=1/lu,cu=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function hu(t){return t.type===ou.Bytes?t.readVarint()+t.pos:t.pos+1}function pu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function fu(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 du(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function ku(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ou.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,s=this.pos;this.type=7&n,t(i,e,this),this.pos===s&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Au(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=ku(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Au(this.buf,this.pos)+Au(this.buf,this.pos+4)*lu;return this.pos+=8,t},readSFixed64:function(){var t=Au(this.buf,this.pos)+ku(this.buf,this.pos+4)*lu;return this.pos+=8,t},readFloat:function(){var t=su(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=su(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,s=r.buf;if(n=(112&(i=s[r.pos++]))>>4,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<3,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<10,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<17,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<24,i<128)return pu(t,n,e);if(n|=(1&(i=s[r.pos++]))<<31,i<128)return pu(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&&cu?function(t,e,r){return cu.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&(s=t[i+1]))&&(u=(31&l)<<6|63&s)<=127&&(u=null):3===c?(a=t[i+2],128==(192&(s=t[i+1]))&&128==(192&a)&&((u=(15&l)<<12|(63&s)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+2],o=t[i+3],128==(192&(s=t[i+1]))&&128==(192&a)&&128==(192&o)&&((u=(15&l)<<18|(63&s)<<12|(63&a)<<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!==ou.Bytes)return t.push(this.readVarint(e));var r=hu(this);for(t=t||[];this.pos127;);else if(e===ou.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ou.Fixed32)this.pos+=4;else {if(e!==ou.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,s=0;s55295&&n<57344){if(!i){n>56319||s+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&&fu(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),au(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),au(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&&fu(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,ou.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,du,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,yu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,xu,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,mu,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,gu,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,vu,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,bu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,wu,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,_u,e);},writeBytesField:function(t,e){this.writeTag(t,ou.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,ou.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,ou.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,ou.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,ou.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,ou.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,ou.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,ou.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,ou.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,ou.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var Mu=r(iu);const Iu=3;function zu(t,e,r){1===t&&r.readMessage(Pu,e);}function Pu(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:s,left:a,top:o,advance:l}=r.readMessage(Cu,{});e.push({id:t,bitmap:new vo({width:i+2*Iu,height:s+2*Iu},n),metrics:{width:i,height:s,left:a,top:o,advance:l}});}}function Cu(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());}const Bu=Iu;function Vu(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,s=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,s=Math.max(s,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=0&&r>=t&&Ru[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 Ou;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(Du.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 ju(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y){const m=Ou.fromFeature(e,s);let g;p===t.ai.vertical&&m.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Di;if(x&&1===m.sections.length){g=[];const t=x(m.toString(),Xu(m,c,a,r,i,d));for(const e of t){const t=new Ou;t.text=e,t.sections=m.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=(s-y.scale)*nu;}M?(e.verticalizable=!0,w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=k*y.scale+c):(w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,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),Yu(w,0,w.length-1,g,_)),f=0;const A=a*s+_;b.lineOffset=Math.max(_,l),d+=A,m=Math.max(A,m),++x;}var v;const b=d-Lu,{horizontalAlign:w,verticalAlign:_}=Hu(o);((function(t,e,r,n,i,s,a,o,l){const u=(e-r)*i;let c=0;c=s!==a?-o*n-Lu:(-n*l+.5)*a;for(const e of t)for(const t of e.positionedGlyphs)t.x+=u,t.y+=c;}))(e.positionedLines,g,w,_,y,m,a,b,s.length),e.top+=-_*b,e.bottom=e.top+b,e.left+=-w*y,e.right=e.left+y;}(w,r,n,i,g,o,l,u,p,c,f,y),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return !1;return !0}(b)&&w}const Ru={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Uu={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},qu={40:!0};function Nu(t,e,r,n,i,s){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*nu/s+i:0}{const n=r[e.fontStack],s=n&&n[t];return s?s.metrics.advance*e.scale+i:0}}function Zu(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let u=0;for(let r=0;ru){const t=Math.ceil(s/u);i*=t/a,a=t;}return {x1:n,y1:i,x2:n+s,y2:i+a}}function tc(t,e,r,n,i,s){const a=t.image;let o;if(a.content){const t=a.content,e=a.pixelRatio||1;o=[t[0]/e,t[1]/e,a.displaySize[0]-t[2]/e,a.displaySize[1]-t[3]/e];}const l=e.left*s,u=e.right*s;let c,h,p,f;\"width\"===r||\"both\"===r?(f=i[0]+l-n[3],h=i[0]+u+n[1]):(f=i[0]+(l+u-a.displaySize[0])/2,h=f+a.displaySize[0]);const d=e.top*s,y=e.bottom*s;return \"height\"===r||\"both\"===r?(c=i[1]+d-n[0],p=i[1]+y+n[2]):(c=i[1]+(d+y-a.displaySize[1])/2,p=c+a.displaySize[1]),{image:a,top:c,right:h,bottom:p,left:f,collisionPadding:o}}const ec=255,rc=128,nc=ec*rc;function ic(t,e){const{expression:r}=e;if(\"constant\"===r.kind)return {kind:\"constant\",layoutSize:r.evaluate(new Oi(t+1))};if(\"source\"===r.kind)return {kind:\"source\"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;it.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=so([]),this.placementViewportMatrix=so([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=ic(this.zoom,r[\"text-size\"]),this.iconSizeData=ic(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),s=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==sc(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==sc(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==s&&!i.isConstant(),this.sortFeaturesByY=(\"viewport-y\"===s||\"auto\"===s&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.ai[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID;}createArrays(){this.text=new hc(new Ca(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new hc(new Ca(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new $s,this.lineVertexArray=new Ls,this.symbolInstances=new Ts,this.textAnchorOffsets=new Os;}calculateGlyphDependencies(t,e,r,n,i){for(let s=0;s0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),c=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=s.get(\"symbol-sort-key\");if(this.features=[],!u&&!c)return;const p=r.iconDependencies,f=r.glyphDependencies,d=r.availableImages,y=new Oi(this.zoom);for(const{feature:r,id:o,index:l,sourceLayerIndex:m}of e){const e=i._featureFilter.needGeometry,g=La(r,e);if(!i._featureFilter.filter(y,g,n))continue;let x,v;if(e||(g.geometry=$a(r)),u){const t=i.getValueAndResolveTokens(\"text-field\",g,n,d),e=Ht.factory(t),r=this.hasRTLText=this.hasRTLText||cc(e);(!r||\"unavailable\"===Di.getRTLTextPluginStatus()||r&&Di.isParsed())&&(x=eu(e,i,g));}if(c){const t=i.getValueAndResolveTokens(\"icon-image\",g,n,d);v=t instanceof te?t:te.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:ac[r.type],sortKey:b}),v&&(p[v.name]=!0),x){const e=a.evaluate(g,{},n).join(\",\"),r=\"viewport\"!==s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ai.vertical)>=0;for(const t of x.sections)if(t.image)p[t.image.name]=!0;else {const n=Ci(x.toString()),i=t.fontStack||e,s=f[i]=f[i]||{};this.calculateGlyphDependencies(t.text,s,r,this.allowVerticalPlacement,n);}}}\"line\"===s.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function s(e){n.push(t[e]),i++;}function a(t,e,i){const s=r[t];return delete r[t],r[e]=s,n[s].geometry[0].pop(),n[s].geometry[0]=n[s].geometry[0].concat(i[0]),s}function o(t,r,i){const s=e[r];return delete e[r],e[t]=s,n[s].geometry[0].shift(),n[s].geometry[0]=i[0].concat(n[s].geometry[0]),s}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])),s}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);}}}let dc,yc;_i(\"SymbolBucket\",fc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),fc.MAX_GLYPHS=65535,fc.addDynamicAttributes=uc;var mc={get paint(){return yc=yc||new Qi({\"icon-opacity\":new Xi(K.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Xi(K.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Xi(K.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Xi(K.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Xi(K.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Ji(K.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Ji(K.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Xi(K.paint_symbol[\"text-opacity\"]),\"text-color\":new Xi(K.paint_symbol[\"text-color\"],{runtimeType:pt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new Xi(K.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Xi(K.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Xi(K.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Ji(K.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Ji(K.paint_symbol[\"text-translate-anchor\"])})},get layout(){return dc=dc||new Qi({\"symbol-placement\":new Ji(K.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Ji(K.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Ji(K.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Xi(K.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Ji(K.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Ji(K.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Ji(K.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Ji(K.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Ji(K.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Ji(K.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Xi(K.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Ji(K.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Ji(K.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Xi(K.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Xi(K.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Xi(K.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Ji(K.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Xi(K.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Xi(K.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Ji(K.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Ji(K.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Ji(K.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Xi(K.layout_symbol[\"text-field\"]),\"text-font\":new Xi(K.layout_symbol[\"text-font\"]),\"text-size\":new Xi(K.layout_symbol[\"text-size\"]),\"text-max-width\":new Xi(K.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Ji(K.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Xi(K.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Xi(K.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Xi(K.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Ji(K.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new Xi(K.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new Xi(K.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Ji(K.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Ji(K.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Xi(K.layout_symbol[\"text-rotate\"]),\"text-padding\":new Ji(K.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Ji(K.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Xi(K.layout_symbol[\"text-transform\"]),\"text-offset\":new Xi(K.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Ji(K.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Ji(K.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Ji(K.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Ji(K.layout_symbol[\"text-optional\"])})}};class gc{constructor(t){if(void 0===t.property.overrides)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,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}}_i(\"FormatSectionOverride\",gc,{omit:[\"defaultValue\"]});class xc extends es{constructor(t){super(t,mc);}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),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||bn(s.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>t&&r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new fc(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(const t of mc.paint.overridableProperties){if(!xc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new gc(e),n=new vn(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new _n(\"source\",n):new An(\"composite\",n,e.value.zoomStops),this.paint._values[t]=new Ki(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&xc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=mc.paint.properties[e];let i=!1;const s=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 Ht)s(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof se&&ne(e.value)===mt?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}}let vc;var bc={get paint(){return vc=vc||new Qi({\"background-color\":new Ji(K.paint_background[\"background-color\"]),\"background-pattern\":new Yi(K.paint_background[\"background-pattern\"]),\"background-opacity\":new Ji(K.paint_background[\"background-opacity\"])})}};class wc extends es{constructor(t){super(t,bc);}}let _c;var Ac={get paint(){return _c=_c||new Qi({\"raster-opacity\":new Ji(K.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Ji(K.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Ji(K.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Ji(K.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Ji(K.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Ji(K.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Ji(K.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Ji(K.paint_raster[\"raster-fade-duration\"])})}};class Sc extends es{constructor(t){super(t,Ac);}}class kc extends es{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(){throw new Error(\"Custom layers cannot be serialized\")}}class Mc{constructor(t){this._methodToThrottle=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle();}),0));}remove(){delete this._channel,this._methodToThrottle=()=>{};}}const Ic=6371008.8;class zc{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 zc(m(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 Ic*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof zc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new zc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new zc(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 [, ]\")}}const Pc=2*Math.PI*Ic;function Cc(t){return Pc*Math.cos(t*Math.PI/180)}function Bc(t){return (180+t)/360}function Vc(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Ec(t,e){return t/Cc(e)}function Fc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class Tc{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=zc.convert(t);return new Tc(Bc(r.lng),Vc(r.lat),Ec(e,r.lat))}toLngLat(){return new zc(360*this.x-180,Fc(this.y))}toAltitude(){return this.z*Cc(Fc(this.y))}meterInMercatorCoordinateUnits(){return 1/Pc*(t=Fc(this.y),1/Math.cos(t*Math.PI/180));var t;}}function $c(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 Lc{constructor(t,e,r){if(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${r}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=r,this.key=jc(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=(s=this.y,a=this.z,o=$c(256*(i=this.x),256*(s=Math.pow(2,a)-s-1),a),l=$c(256*(i+1),256*(s+1),a),o[0]+\",\"+o[1]+\",\"+l[0]+\",\"+l[1]);var i,s,a,o,l;const u=function(t,e,r){let n,i=\"\";for(let s=t;s>0;s--)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)*Ea,(t.y*e-this.y)*Ea)}toString(){return `${this.z}/${this.x}/${this.y}`}}class Dc{constructor(t,e){this.wrap=t,this.canonical=e,this.key=jc(t,e.z,e.z,e.x,e.y);}}class Oc{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Lc(r,+n,+i),this.key=jc(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){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);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){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?jc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):jc(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)}unpack(t,e,r){return t*this.redFactor+e*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new bo({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,s=r*this.dim,a=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:s=a-1;break;case 1:a=s+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=s;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class qc{constructor(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t;}toJSON(){const t={geometry:this.geometry};for(const e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t}}class Nc{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new bi(Ea,16,0),this.grid3D=new bi(Ea,16,0),this.featureIndexArray=new Rs,this.promoteId=e;}insert(t,e,r,n,i,s){const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const o=s?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&o.insert(a,n[0],n[1],n[2],n[3]);}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new pl.VectorTile(new Mu(this.rawTileData)).layers,this.sourceLayerCoder=new Uc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},a=Ea/t.tileSize/t.scale,o=Pn(i.filter),l=t.queryGeometry,u=t.queryPadding*a,c=Kc(l),h=this.grid.query(c.minX-u,c.minY-u,c.maxX+u,c.maxY+u),p=Kc(t.cameraQueryGeometry),f=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,((e,r,n,i)=>function(t,e,r,n,i){for(const s of t)if(e<=s.x&&r<=s.y&&n>=s.x&&i>=s.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(Xa(t,e))return !0;for(let e=0;e(p||(p=$a(e)),r.queryIntersectsFeature(l,e,n,p,this.z,t.transform,a,t.pixelPosMatrix))));}return d}loadMatchingFeature(t,e,r,n,i,s,a,o,l,u,c){const h=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let r=0;r=0)return !0;return !1}(s,h))return;const p=this.sourceLayerCoder.decode(r),f=this.vtLayers[p].feature(n);if(i.needGeometry){const t=La(f,!0);if(!i.filter(new Oi(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Oi(this.tileID.overscaledZ),f))return;const d=this.getId(f,p);for(let e=0;e{const a=e instanceof Gi?e.get(s):null;return a&&a.evaluate?a.evaluate(r,n,i):a}))}function Kc(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return {minX:e,minY:r,maxX:n,maxY:i}}function Gc(t,e){return e-t}function Jc(t,e,r,n,i){const a=[];for(let o=0;o=n&&c.x>=n||(o.x>=n?o=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=n&&(c=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=i&&c.y>=i||(o.y>=i?o=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round():c.y>=i&&(c=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round()),u&&o.equals(u[u.length-1])||(u=[o],a.push(u)),u.push(c)))));}}return a}_i(\"FeatureIndex\",Nc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class Xc extends s{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n);}clone(){return new Xc(this.x,this.y,this.angle,this.segment)}}function Hc(t,e,r,n,i){if(void 0===e.segment||0===r)return !0;let s=e,a=e.segment+1,o=0;for(;o>-r/2;){if(a--,a<0)return !1;o-=t[a].dist(s),s=t[a];}o+=t[a].dist(t[a+1]),a++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;a++,o+=e.dist(r);}return !0}function Yc(t){let e=0;for(let r=0;ru){const c=(u-l)/s,h=Ce.number(n.x,i.x,c),p=Ce.number(n.y,i.y,c),f=new Xc(h,p,i.angleTo(n),r);return f._round(),!a||Hc(t,f,o,a,e)?f:void 0}l+=s;}}function eh(t,e,r,n,i,s,a,o,l){const u=Wc(n,s,a),c=Qc(n,i),h=c*a,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 Xc(g,x,y,e);r._round(),n&&!Hc(t,r,s,n,i)||f.push(r);}}h+=d;}return o||f.length||a||(f=rh(t,h/2,r,n,i,s,a,!0,l)),f}_i(\"Anchor\",Xc);const nh=Eu;function ih(t,e,r,n){const i=[],a=t.image,o=a.pixelRatio,l=a.paddedRect.w-2*nh,u=a.paddedRect.h-2*nh;let c={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const h=a.stretchX||[[0,l]],p=a.stretchY||[[0,u]],f=(t,e)=>t+e[1]-e[0],d=h.reduce(f,0),y=p.reduce(f,0),m=l-d,g=u-y;let x=0,v=d,b=0,w=y,_=0,A=m,S=0,k=g;if(a.content&&n){const e=a.content,r=e[2]-e[0],n=e[3]-e[1];(a.textFitWidth||a.textFitHeight)&&(c=Qu(t)),x=sh(h,0,e[0]),b=sh(p,0,e[1]),v=sh(h,e[0],e[2]),w=sh(p,e[1],e[3]),_=e[0]-x,S=e[1]-b,A=r-v,k=n-w;}const M=c.x1,I=c.y1,z=c.x2-M,P=c.y2-I,C=(t,n,i,l)=>{const u=oh(t.stretch-x,v,z,M),c=lh(t.fixed-_,A,t.stretch,d),h=oh(n.stretch-b,w,P,I),p=lh(n.fixed-S,k,n.stretch,y),f=oh(i.stretch-x,v,z,M),m=lh(i.fixed-_,A,i.stretch,d),g=oh(l.stretch-b,w,P,I),C=lh(l.fixed-S,k,l.stretch,y),B=new s(u,h),V=new s(f,h),E=new s(f,g),F=new s(u,g),T=new s(c/o,p/o),$=new s(m/o,C/o),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];B._matMult(r),V._matMult(r),F._matMult(r),E._matMult(r);}const D=t.stretch+t.fixed,O=n.stretch+n.fixed;return {tl:B,tr:V,bl:F,br:E,tex:{x:a.paddedRect.x+nh+D,y:a.paddedRect.y+nh+O,w:i.stretch+i.fixed-D,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:T,pixelOffsetBR:$,minFontScaleX:A/o/z,minFontScaleY:k/o/P,isSDF:r}};if(n&&(a.stretchX||a.stretchY)){const t=ah(h,m,d),e=ah(p,g,y);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n);}else {const u=(null===(h=a.image)||void 0===h?void 0:h.content)&&(a.image.textFitWidth||a.image.textFitHeight)?Qu(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};u.y1=u.y1*o-l[0],u.y2=u.y2*o+l[2],u.x1=u.x1*o-l[3],u.x2=u.x2*o+l[1];const p=a.collisionPadding;if(p&&(u.x1-=p[0]*o,u.y1-=p[1]*o,u.x2+=p[2]*o,u.y2+=p[3]*o),c){const t=new s(u.x1,u.y1),e=new s(u.x2,u.y1),r=new s(u.x1,u.y2),n=new s(u.x2,u.y2),i=c*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),u.x1=Math.min(t.x,e.x,r.x,n.x),u.x2=Math.max(t.x,e.x,r.x,n.x),u.y1=Math.min(t.y,e.y,r.y,n.y),u.y2=Math.max(t.y,e.y,r.y,n.y);}t.emplaceBack(e.x,e.y,u.x1,u.y1,u.x2,u.y2,r,n,i);}this.boxEndIndex=t.length;}}class ch{constructor(t=[],e=hh){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,s=e[i];if(r(n,s)>=0)break;e[t]=s,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]=s,t=n;}e[t]=i;}}function hh(t,e){return te?1:0}function ph(t,e=1,r=!1){let n=1/0,i=1/0,a=-1/0,o=-1/0;const l=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>o)&&(o=e.y);}const u=Math.min(a-n,o-i);let c=u/2;const h=new ch([],fh);if(0===u)return new s(n,i);for(let e=n;ep.d||!p.d)&&(p=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,f)),n.max-p.d<=e||(c=n.h/2,h.push(new dh(n.p.x-c,n.p.y-c,c,t)),h.push(new dh(n.p.x+c,n.p.y-c,c,t)),h.push(new dh(n.p.x-c,n.p.y+c,c,t)),h.push(new dh(n.p.x+c,n.p.y+c,c,t)),f+=4);}return r&&(console.log(`num probes: ${f}`),console.log(`best distance: ${p.d}`)),p.p}function fh(t,e){return e.max-t.max}function dh(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,Ga(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}var yh;t.ar=void 0,(yh=t.ar||(t.ar={}))[yh.center=1]=\"center\",yh[yh.left=2]=\"left\",yh[yh.right=3]=\"right\",yh[yh.top=4]=\"top\",yh[yh.bottom=5]=\"bottom\",yh[yh[\"top-left\"]=6]=\"top-left\",yh[yh[\"top-right\"]=7]=\"top-right\",yh[yh[\"bottom-left\"]=8]=\"bottom-left\",yh[yh[\"bottom-right\"]=9]=\"bottom-right\";const mh=7,gh=Number.POSITIVE_INFINITY;function xh(t,e){return e[1]!==gh?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-mh;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+mh;}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.SQRT2;switch(t){case\"top-right\":case\"top-left\":n=i-mh;break;case\"bottom-right\":case\"bottom-left\":n=-i+mh;break;case\"bottom\":n=-e+mh;break;case\"top\":n=e-mh;}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 vh(t,e,r){var n;const i=t.layout,s=null===(n=i.get(\"text-variable-anchor-offset\"))||void 0===n?void 0:n.evaluate(e,{},r);if(s){const t=s.values,e=[];for(let r=0;rt*nu));n.startsWith(\"top\")?i[1]-=mh:n.startsWith(\"bottom\")&&(i[1]+=mh),e[r+1]=i;}return new Qt(e)}const a=i.get(\"text-variable-anchor\");if(a){let n;n=void 0!==t._unevaluatedLayout.getValue(\"text-radial-offset\")?[i.get(\"text-radial-offset\").evaluate(e,{},r)*nu,gh]:i.get(\"text-offset\").evaluate(e,{},r).map((t=>t*nu));const s=[];for(const t of a)s.push(t,xh(t,n));return new Qt(s)}return null}function bh(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 wh(e,r,n,i,s,a,o,l,u,c,h){let p=a.textMaxSize.evaluate(r,{});void 0===p&&(p=o);const f=e.layers[0].layout,d=f.get(\"icon-offset\").evaluate(r,{},h),y=Ah(n.horizontal),m=o/24,g=e.tilePixelRatio*m,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*f.get(\"symbol-spacing\"),w=f.get(\"text-padding\")*e.tilePixelRatio,_=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),s=i&&i.values;return [s[0]*n,s[1]*n,s[2]*n,s[3]*n]}(f,r,h,e.tilePixelRatio),S=f.get(\"text-max-angle\")/180*Math.PI,k=\"viewport\"!==f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),M=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=f.get(\"symbol-placement\"),z=b/2,P=f.get(\"icon-text-fit\");let C;i&&\"none\"!==P&&(e.allowVerticalPlacement&&n.vertical&&(C=tc(i,n.vertical,P,f.get(\"icon-text-fit-padding\"),d,m)),y&&(i=tc(i,y,P,f.get(\"icon-text-fit-padding\"),d,m)));const B=(l,p)=>{p.x<0||p.x>=Ea||p.y<0||p.y>=Ea||function(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,S,k,M){const I=e.addToLineVertexArray(r,n);let z,P,C,B,V=0,E=0,F=0,T=0,$=-1,L=-1;const D={};let O=fa(\"\");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(w,{},k)+90;C=new uh(u,r,c,h,p,i.vertical,f,d,y,t),o&&(B=new uh(u,r,c,h,p,o,g,x,y,t));}if(s){const n=l.layout.get(\"icon-rotate\").evaluate(w,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),a=ih(s,n,S,i),f=o?ih(o,n,S,i):void 0;P=new uh(u,r,c,h,p,s,g,x,!1,n),V=4*a.length;const d=e.iconSizeData;let y=null;\"source\"===d.kind?(y=[rc*l.layout.get(\"icon-size\").evaluate(w,{})],y[0]>nc&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${ec}. Reduce your \"icon-size\".`)):\"composite\"===d.kind&&(y=[rc*_.compositeIconSizes[0].evaluate(w,{},k),rc*_.compositeIconSizes[1].evaluate(w,{},k)],(y[0]>nc||y[1]>nc)&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${ec}. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,a,y,b,v,w,t.ai.none,r,I.lineStartIndex,I.lineLength,-1,k),$=e.icon.placedSymbolArray.length-1,f&&(E=4*f.length,e.addSymbols(e.icon,f,y,b,v,w,t.ai.vertical,r,I.lineStartIndex,I.lineLength,-1,k),L=e.icon.placedSymbolArray.length-1);}const j=Object.keys(i.horizontal);for(const n of j){const s=i.horizontal[n];if(!z){O=fa(s.text);const t=l.layout.get(\"text-rotate\").evaluate(w,{},k);z=new uh(u,r,c,h,p,s,f,d,y,t);}const o=1===s.positionedLines.length;if(F+=_h(e,r,s,a,l,y,w,m,I,i.vertical?t.ai.horizontal:t.ai.horizontalOnly,o?j:[n],D,$,_,k),o)break}i.vertical&&(T+=_h(e,r,i.vertical,a,l,y,w,m,I,t.ai.vertical,[\"vertical\"],D,L,_,k));const R=z?z.boxStartIndex:e.collisionBoxArray.length,U=z?z.boxEndIndex:e.collisionBoxArray.length,q=C?C.boxStartIndex:e.collisionBoxArray.length,N=C?C.boxEndIndex:e.collisionBoxArray.length,Z=P?P.boxStartIndex:e.collisionBoxArray.length,K=P?P.boxEndIndex:e.collisionBoxArray.length,G=B?B.boxStartIndex:e.collisionBoxArray.length,J=B?B.boxEndIndex:e.collisionBoxArray.length;let X=-1;const H=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;X=H(z,X),X=H(C,X),X=H(P,X),X=H(B,X);const Y=X>-1?1:0;Y&&(X*=M/nu),e.glyphOffsetArray.length>=fc.MAX_GLYPHS&&A(\"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);const W=vh(l,w,k),[Q,tt]=function(e,r){const n=e.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?D.right:-1,D.center>=0?D.center:-1,D.left>=0?D.left:-1,D.vertical||-1,$,L,O,R,U,q,N,Z,K,G,J,c,F,T,V,E,Y,0,f,X,Q,tt);}(e,p,l,n,i,s,C,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,g,[w,w,w,w],k,u,v,_,M,d,r,a,c,h,o);};if(\"line\"===I)for(const t of Jc(r.geometry,0,0,Ea,Ea)){const r=eh(t,b,S,n.vertical||y,i,24,x,e.overscaling,Ea);for(const n of r)y&&Sh(e,y.text,z,n)||B(t,n);}else if(\"line-center\"===I){for(const t of r.geometry)if(t.length>1){const e=th(t,S,n.vertical||y,i,24,x);e&&B(t,e);}}else if(\"Polygon\"===r.type)for(const t of vr(r.geometry,0)){const e=ph(t,16);B(t[0],new Xc(e.x,e.y,0));}else if(\"LineString\"===r.type)for(const t of r.geometry)B(t,new Xc(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)B([e],new Xc(e.x,e.y,0));}function _h(t,e,r,n,i,a,o,l,u,c,h,p,f,d,y){const m=function(t,e,r,n,i,a,o,l){const u=n.layout.get(\"text-rotate\").evaluate(a,{})*Math.PI/180,c=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const a=n.rect||{};let h=Bu+1,p=!0,f=1,d=0;const y=(i||l)&&n.vertical,m=n.metrics.advance*n.scale/2;if(l&&e.verticalizable&&(d=t.lineOffset/2-(n.imageName?-(nu-n.metrics.width*n.scale)/2:(n.scale-1)*nu)),n.imageName){const t=o[n.imageName];p=t.sdf,f=t.pixelRatio,h=Eu/f;}const g=i?[n.x+m,n.y]:[0,0];let x=i?[0,0]:[n.x+m+r[0],n.y+r[1]-d],v=[0,0];y&&(v=x,x=[0,0]);const b=n.metrics.isDoubleResolution?2:1,w=(n.metrics.left-h)*n.scale-m+x[0],_=(-n.metrics.top-h)*n.scale+x[1],A=w+a.w/b*n.scale/f,S=_+a.h/b*n.scale/f,k=new s(w,_),M=new s(A,_),I=new s(w,S),z=new s(A,S);if(y){const t=new s(-m,m-Lu),e=-Math.PI/2,r=nu/2-m,i=new s(5-Lu-r,-(n.imageName?r:0)),a=new s(...v);k._rotateAround(e,t)._add(i)._add(a),M._rotateAround(e,t)._add(i)._add(a),I._rotateAround(e,t)._add(i)._add(a),z._rotateAround(e,t)._add(i)._add(a);}if(u){const t=Math.sin(u),e=Math.cos(u),r=[e,-t,t,e];k._matMult(r),M._matMult(r),I._matMult(r),z._matMult(r);}const P=new s(0,0),C=new s(0,0);c.push({tl:k,tr:M,bl:I,br:z,tex:a,writingMode:e.writingMode,glyphOffset:g,sectionIndex:n.sectionIndex,isSDF:p,pixelOffsetTL:P,pixelOffsetBR:C,minFontScaleX:0,minFontScaleY:0});}return c}(0,r,l,i,a,o,n,t.allowVerticalPlacement),g=t.textSizeData;let x=null;\"source\"===g.kind?(x=[rc*i.layout.get(\"text-size\").evaluate(o,{})],x[0]>nc&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${ec}. Reduce your \"text-size\".`)):\"composite\"===g.kind&&(x=[rc*d.compositeTextSizes[0].evaluate(o,{},y),rc*d.compositeTextSizes[1].evaluate(o,{},y)],(x[0]>nc||x[1]>nc)&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${ec}. Reduce your \"text-size\".`)),t.addSymbols(t.text,m,x,l,a,o,c,e,u.lineStartIndex,u.lineLength,f,y);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*m.length}function Ah(t){for(const e in t)return t[e];return null}function Sh(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])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=kh[15&r];if(!i)throw new Error(\"Unrecognized array type.\");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new Mh(a,s,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=kh.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t);}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Ih(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:i,coords:s,nodeSize:a}=this,o=[0,i.length-1,0],l=[];for(;o.length;){const u=o.pop()||0,c=o.pop()||0,h=o.pop()||0;if(c-h<=a){for(let a=h;a<=c;a++){const o=s[2*a],u=s[2*a+1];o>=t&&o<=r&&u>=e&&u<=n&&l.push(i[a]);}continue}const p=h+c>>1,f=s[2*p],d=s[2*p+1];f>=t&&f<=r&&d>=e&&d<=n&&l.push(i[p]),(0===u?t<=f:e<=d)&&(o.push(h),o.push(p-1),o.push(1-u)),(0===u?r>=f:n>=d)&&(o.push(p+1),o.push(c),o.push(1-u));}return l}within(t,e,r){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:n,coords:i,nodeSize:s}=this,a=[0,n.length-1,0],o=[],l=r*r;for(;a.length;){const u=a.pop()||0,c=a.pop()||0,h=a.pop()||0;if(c-h<=s){for(let r=h;r<=c;r++)Bh(i[2*r],i[2*r+1],t,e)<=l&&o.push(n[r]);continue}const p=h+c>>1,f=i[2*p],d=i[2*p+1];Bh(f,d,t,e)<=l&&o.push(n[p]),(0===u?t-r<=f:e-r<=d)&&(a.push(h),a.push(p-1),a.push(1-u)),(0===u?t+r>=f:e+r>=d)&&(a.push(p+1),a.push(c),a.push(1-u));}return o}}function Ih(t,e,r,n,i,s){if(i-n<=r)return;const a=n+i>>1;zh(t,e,a,n,i,s),Ih(t,e,r,n,a-1,1-s),Ih(t,e,r,a+1,i,1-s);}function zh(t,e,r,n,i,s){for(;i>n;){if(i-n>600){const a=i-n+1,o=r-n+1,l=Math.log(a),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(a-u)/a)*(o-a/2<0?-1:1);zh(t,e,r,Math.max(n,Math.floor(r-o*u/a+c)),Math.min(i,Math.floor(r+(a-o)*u/a+c)),s);}const a=e[2*r+s];let o=n,l=i;for(Ph(t,e,n,r),e[2*i+s]>a&&Ph(t,e,n,i);oa;)l--;}e[2*n+s]===a?Ph(t,e,n,l):(l++,Ph(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1);}}function Ph(t,e,r,n){Ch(t,r,n),Ch(e,2*r,2*n),Ch(e,2*r+1,2*n+1);}function Ch(t,e,r){const n=t[e];t[e]=t[r],t[r]=n;}function Bh(t,e,r,n){const i=t-r,s=e-n;return i*i+s*s}var Vh;t.bf=void 0,(Vh=t.bf||(t.bf={})).create=\"create\",Vh.load=\"load\",Vh.fullLoad=\"fullLoad\";let Eh=null,Fh=[];const Th=1e3/60,$h=\"loadTime\",Lh=\"fullLoadTime\",Dh={mark(t){performance.mark(t);},frame(t){const e=t;null!=Eh&&Fh.push(e-Eh),Eh=e;},clearMetrics(){Eh=null,Fh=[],performance.clearMeasures($h),performance.clearMeasures(Lh);for(const e in t.bf)performance.clearMarks(t.bf[e]);},getPerformanceMetrics(){performance.measure($h,t.bf.create,t.bf.load),performance.measure(Lh,t.bf.create,t.bf.fullLoad);const e=performance.getEntriesByName($h)[0].duration,r=performance.getEntriesByName(Lh)[0].duration,n=Fh.length,i=1/(Fh.reduce(((t,e)=>t+e),0)/n/1e3),s=Fh.filter((t=>t>Th)).reduce(((t,e)=>t+(e-Th)/Th),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:s/(n+s)*100,totalFrames:n}}};t.$=class extends us{},t.A=io,t.B=mi,t.C=function(t){if(null==M){const e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return M},t.D=Ji,t.E=Z,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Mc((()=>this.process())),this.subscription=function(t,e,r,n){return t.addEventListener(e,r,!1),{unsubscribe:()=>{t.removeEventListener(e,r,!1);}}}(this.target,\"message\",(t=>this.receive(t))),this.globalScope=k(self)?t:window;}registerMessageHandler(t,e){this.messageHandlers[t]=e;}sendAsync(t,e){return new Promise(((r,n)=>{const i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},e&&e.signal.addEventListener(\"abort\",(()=>{delete this.resolveRejects[i];const e={id:i,type:\"\",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e);}),{once:!0});const s=[],a=Object.assign(Object.assign({},t),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Mi(t.data,s)});this.target.postMessage(a,{transfer:s});}))}receive(t){const e=t.data,r=e.id;if(!(\"file://\"!==e.origin&&\"file://\"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(\"\"===e.type){delete this.tasks[r];const t=this.abortControllers[r];return delete this.abortControllers[r],void(t&&t.abort())}if(k(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e);}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e);}processTask(t,r){return e(this,void 0,void 0,(function*(){if(\"\"===r.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(r.error?e.reject(Ii(r.error)):e.resolve(Ii(r.data)))}if(!this.messageHandlers[r.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));const e=Ii(r.data),n=new AbortController;this.abortControllers[t]=n;try{const i=yield this.messageHandlers[r.type](r.sourceMapId,e,n);this.completeTask(t,null,i);}catch(e){this.completeTask(t,e);}}))}completeTask(t,e,r){const n=[];delete this.abortControllers[t];const i={id:t,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:e?Mi(e):null,data:Mi(r,n)};this.target.postMessage(i,{transfer:n});}remove(){this.invoker.remove(),this.subscription.unsubscribe();}},t.G=$,t.H=function(){var t=new io(16);return io!=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.I=Fu,t.J=function(t,e,r){var n,i,s,a,o,l,u,c,h,p,f,d,y=r[0],m=r[1],g=r[2];return e===t?(t[12]=e[0]*y+e[4]*m+e[8]*g+e[12],t[13]=e[1]*y+e[5]*m+e[9]*g+e[13],t[14]=e[2]*y+e[6]*m+e[10]*g+e[14],t[15]=e[3]*y+e[7]*m+e[11]*g+e[15]):(i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],f=e[10],d=e[11],t[0]=n=e[0],t[1]=i,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=p,t[10]=f,t[11]=d,t[12]=n*y+o*m+h*g+e[12],t[13]=i*y+l*m+p*g+e[13],t[14]=s*y+u*m+f*g+e[14],t[15]=a*y+c*m+d*g+e[15]),t},t.K=function(t,e,r){var n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=ao,t.M=function(t,e){const r={};for(let n=0;n{const e=window.document.createElement(\"video\");return e.muted=!0,new Promise((r=>{e.onloadstart=()=>{r(e);};for(const r of t){const t=window.document.createElement(\"source\");j(r)||(e.crossOrigin=\"Anonymous\"),t.src=r,e.appendChild(t);}}))},t.a4=function(){return x++},t.a5=Bs,t.a6=fc,t.a7=Pn,t.a8=La,t.a9=Oi,t.aA=function(t){t=t.slice();const e=Object.create(null);for(let r=0;r{\"source\"in t&&n[t.source]?r.push({command:\"removeLayer\",args:[t.id]}):s.push(t);})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(rt),i=e.map(rt),s=t.reduce(nt,{}),a=e.reduce(nt,{}),o=n.slice(),l=Object.create(null);let u,c,h,p,f;for(let t=0,e=0;t@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const s=n||i;return e[r]=!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},t.ac=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.ad=y,t.ae=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[4],c=e[5],h=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i+u*n,t[1]=a*i+c*n,t[2]=o*i+h*n,t[3]=l*i+p*n,t[4]=u*i-s*n,t[5]=c*i-a*n,t[6]=h*i-o*n,t[7]=p*i-l*n,t},t.af=function(t){var e=new io(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.ag=uo,t.ah=function(t,e){let r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){const{interpolationType:i,minZoom:s,maxZoom:a}=t,o=i?y(Be.interpolationFactor(i,e,s,a),0,1):0;\"camera\"===t.kind?n=Ce.number(t.minSize,t.maxSize,o):r=o;}return {uSizeT:r,uSize:n}},t.aj=function(t,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:i}){return \"source\"===t.kind?n/rc:\"composite\"===t.kind?Ce.number(n/rc,i/rc,r):e},t.ak=uc,t.al=function(t,e,r,n){const i=e.y-t.y,a=e.x-t.x,o=n.y-r.y,l=n.x-r.x,u=o*a-l*i;if(0===u)return null;const c=(l*(t.y-r.y)-o*(t.x-r.x))/u;return new s(t.x+c*a,t.y+c*i)},t.am=Jc,t.an=ja,t.ao=so,t.ap=function(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return [e,r,n,i]},t.aq=nu,t.as=sc,t.at=function(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=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*a,v=r*l-i*a,b=r*u-s*a,w=n*l-i*o,_=n*u-s*o,A=i*u-s*l,S=c*y-h*d,k=c*m-p*d,M=c*g-f*d,I=h*m-p*y,z=h*g-f*y,P=p*g-f*m,C=x*P-v*z+b*I+w*M-_*k+A*S;return C?(t[0]=(o*P-l*z+u*I)*(C=1/C),t[1]=(i*z-n*P-s*I)*C,t[2]=(y*A-m*_+g*w)*C,t[3]=(p*_-h*A-f*w)*C,t[4]=(l*M-a*P-u*k)*C,t[5]=(r*P-i*M+s*k)*C,t[6]=(m*b-d*A-g*v)*C,t[7]=(c*A-p*b+f*v)*C,t[8]=(a*z-o*M+u*S)*C,t[9]=(n*M-r*z-s*S)*C,t[10]=(d*_-y*b+g*x)*C,t[11]=(h*b-c*_-f*x)*C,t[12]=(o*k-a*I-l*S)*C,t[13]=(r*I-n*k+i*S)*C,t[14]=(y*v-d*w-m*x)*C,t[15]=(c*w-h*v+p*x)*C,t):null},t.au=bh,t.av=Hu,t.aw=Mh,t.ax=function(){const t={},e=K.$version;for(const r in K.$root){const n=K.$root[r];if(n.required){let i=null;i=\"version\"===r?e:\"array\"===n.type?[]:{},null!=i&&(t[r]=i);}}return t},t.ay=zi,t.az=D,t.b=I,t.b0=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.b1=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.b2=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.b3=m,t.b4=Dc,t.b5=Ec,t.b6=function(t,e,r,n,i){var s,a=1/Math.tan(e/2);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(s=1/(n-i)),t[14]=2*i*n*s):(t[10]=-1,t[14]=-2*n),t},t.b7=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[4],a=e[5],o=e[6],l=e[7],u=e[8],c=e[9],h=e[10],p=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*i+u*n,t[5]=a*i+c*n,t[6]=o*i+h*n,t[7]=l*i+p*n,t[8]=u*i-s*n,t[9]=c*i-a*n,t[10]=h*i-o*n,t[11]=p*i-l*n,t},t.b8=f,t.b9=d,t.bA=function(t){return t.message===V},t.bB=wn,t.bC=Di,t.ba=function(t){return t*Math.PI/180},t.bb=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bc=class extends ls{},t.bd=Ic,t.be=Dh,t.bg=L,t.bh=function(t,e){F.REGISTERED_PROTOCOLS[t]=e;},t.bi=function(t){delete F.REGISTERED_PROTOCOLS[t];},t.bj=function(t,e){const r={};for(let n=0;nt*nu));}let v=o?\"center\":n.get(\"text-justify\").evaluate(i,{},e.canonical);const b=\"point\"===n.get(\"symbol-placement\")?n.get(\"text-max-width\").evaluate(i,{},e.canonical)*nu:1/0,w=()=>{e.bucket.allowVerticalPlacement&&Ci(s)&&(d.vertical=ju(y,e.glyphMap,e.glyphPositions,e.imagePositions,c,b,a,m,\"left\",f,g,t.ai.vertical,!0,p,h));};if(!o&&x){const r=new Set;if(\"auto\"===v)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:\"image/png\"});try{return createImageBitmap(e)}catch(t){throw 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=g,t.f=t=>new Promise(((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=z;}));},n.onerror=()=>r(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 i=new Blob([new Uint8Array(t)],{type:\"image/png\"});n.src=t.byteLength?URL.createObjectURL(i):z;})),t.g=T,t.h=(t,e)=>O(g(t,{type:\"json\"}),e),t.i=k,t.j=N,t.k=q,t.l=(t,e)=>O(g(t,{type:\"arrayBuffer\"}),e),t.m=O,t.n=function(t){return new Mu(t).readFields(zu,[])},t.o=vo,t.p=Vu,t.q=Qi,t.r=yi,t.s=j,t.t=vi,t.u=Pi,t.v=K,t.w=A,t.x=di,t.y=function([t,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(r),y:t*Math.sin(e)*Math.sin(r),z:t*Math.cos(r)}},t.z=Ce;}));\n\ndefine(\"worker\",[\"./shared\"],(function(e){\"use strict\";class t{constructor(e){this.keyCache={},e&&this.replace(e);}replace(e){this._layerConfigs={},this._layers={},this.update(e,[]);}update(t,o){for(const o of t){this._layerConfigs[o.id]=o;const t=this._layers[o.id]=e.aB(o);t._featureFilter=e.a7(t.filter),this.keyCache[o.id]&&delete this.keyCache[o.id];}for(const e of o)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const i=e.bj(Object.values(this._layerConfigs),this.keyCache);for(const e of i){const t=e.map((e=>this._layers[e.id])),o=t[0];if(\"none\"===o.visibility)continue;const i=o.source||\"\";let s=this.familiesBySource[i];s||(s=this.familiesBySource[i]={});const r=o.sourceLayer||\"_geojsonTileLayer\";let n=s[r];n||(n=s[r]=[]),n.push(t);}}}class o{constructor(t){const o={},i=[];for(const e in t){const s=t[e],r=o[e]={};for(const e in s){const t=s[+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),r[e]={rect:o,metrics:t.metrics};}}const{w:s,h:r}=e.p(i),n=new e.o({width:s||1,height:r||1});for(const i in t){const s=t[i];for(const t in s){const r=s[+t];if(!r||0===r.bitmap.width||0===r.bitmap.height)continue;const a=o[i][t].rect;e.o.copy(r.bitmap,n,{x:0,y:0},{x:a.x+1,y:a.y+1},r.bitmap);}}this.image=n,this.positions=o;}}e.bk(\"GlyphAtlas\",o);class i{constructor(t){this.tileID=new e.S(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,this.inFlightDependencies=[];}parse(t,i,r,n){return e._(this,void 0,void 0,(function*(){this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.a5;const a=new e.bl(Object.keys(t.layers).sort()),l=new e.bm(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},h=i.familiesBySource[this.source];for(const o in h){const i=t.layers[o];if(!i)continue;1===i.version&&e.w(`Vector tile source \"${this.source}\" layer \"${o}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const n=a.encode(o),d=[];for(let e=0;e=o.maxzoom||\"none\"!==o.visibility&&(s(t,this.zoom,r),(c[o.id]=o.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:n,sourceID:this.source})).populate(d,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))));}}const d=e.aG(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>null==e?void 0:e.abort())),this.inFlightDependencies=[];let f=Promise.resolve({});if(Object.keys(d).length){const e=new AbortController;this.inFlightDependencies.push(e),f=n.sendAsync({type:\"GG\",data:{stacks:d,source:this.source,tileID:this.tileID,type:\"glyphs\"}},e);}const g=Object.keys(u.iconDependencies);let p=Promise.resolve({});if(g.length){const e=new AbortController;this.inFlightDependencies.push(e),p=n.sendAsync({type:\"GI\",data:{icons:g,source:this.source,tileID:this.tileID,type:\"icons\"}},e);}const m=Object.keys(u.patternDependencies);let y=Promise.resolve({});if(m.length){const e=new AbortController;this.inFlightDependencies.push(e),y=n.sendAsync({type:\"GI\",data:{icons:m,source:this.source,tileID:this.tileID,type:\"patterns\"}},e);}const[v,w,x]=yield Promise.all([f,p,y]),b=new o(v),S=new e.bn(w,x);for(const t in c){const o=c[t];o instanceof e.a6?(s(o.layers,this.zoom,r),e.bo({bucket:o,glyphMap:v,glyphPositions:b.positions,imageMap:w,imagePositions:S.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):o.hasPattern&&(o instanceof e.bp||o instanceof e.bq||o instanceof e.br)&&(s(o.layers,this.zoom,r),o.addFeatures(u,this.tileID.canonical,S.patternPositions));}return this.status=\"done\",{buckets:Object.values(c).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:S,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?w:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function s(t,o,i){const s=new e.a9(o);for(const e of t)e.recalculate(s,i);}class r{constructor(e,t,o){this.actor=e,this.layerIndex=t,this.availableImages=o,this.fetching={},this.loading={},this.loaded={};}loadVectorTile(t,o){return e._(this,void 0,void 0,(function*(){const i=yield e.l(t.request,o);try{return {vectorTile:new e.bs.VectorTile(new e.bt(i.data)),rawData:i.data,cacheControl:i.cacheControl,expires:i.expires}}catch(e){const o=new Uint8Array(i.data);let s=`Unable to parse the tile at ${t.request.url}, `;throw s+=31===o[0]&&139===o[1]?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${e.message}`,new Error(s)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){const o=t.uid,s=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bu(t.request),r=new i(t);this.loading[o]=r;const n=new AbortController;r.abort=n;try{const i=yield this.loadVectorTile(t,n);if(delete this.loading[o],!i)return null;const a=i.rawData,l={};i.expires&&(l.expires=i.expires),i.cacheControl&&(l.cacheControl=i.cacheControl);const c={};if(s){const e=s.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)));}r.vectorTile=i.vectorTile;const u=r.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[o]=r,this.fetching[o]={rawTileData:a,cacheControl:l,resourceTiming:c};try{const t=yield u;return e.e({rawTileData:a.slice(0)},t,l,c)}finally{delete this.fetching[o];}}catch(e){throw delete this.loading[o],r.status=\"done\",this.loaded[o]=r,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){const o=t.uid;if(!this.loaded||!this.loaded[o])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");const i=this.loaded[o];if(i.showCollisionBoxes=t.showCollisionBoxes,\"parsing\"===i.status){const t=yield i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);let s;if(this.fetching[o]){const{rawTileData:i,cacheControl:r,resourceTiming:n}=this.fetching[o];delete this.fetching[o],s=e.e({rawTileData:i.slice(0)},t,r,n);}else s=t;return s}if(\"done\"===i.status&&i.vectorTile)return i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){const e=this.loading,o=t.uid;e&&e[o]&&e[o].abort&&(e[o].abort.abort(),delete e[o]);}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid];}))}}class n{constructor(){this.loaded={};}loadTile(t){return e._(this,void 0,void 0,(function*(){const{uid:o,encoding:i,rawImageData:s,redFactor:r,greenFactor:n,blueFactor:a,baseShift:l}=t,c=s.width+2,u=s.height+2,h=e.b(s)?new e.R({width:c,height:u},yield e.bv(s,-1,-1,c,u)):s,d=new e.bw(o,h,i,r,n,a,l);return this.loaded=this.loaded||{},this.loaded[o]=d,d}))}removeTile(e){const t=this.loaded,o=e.uid;t&&t[o]&&delete t[o];}}function a(e,t){if(0!==e.length){l(e[0],t);for(var o=1;o=Math.abs(a)?o-l+a:a-l+o,o=l;}o+i>=0!=!!t&&e.reverse();}var c=e.bx((function e(t,o){var i,s=t&&t.type;if(\"FeatureCollection\"===s)for(i=0;i>31}function I(e,t){for(var o=e.loadGeometry(),i=e.type,s=0,r=0,n=o.length,a=0;ae},D=Math.fround||(C=new Float32Array(1),e=>(C[0]=+e,C[0]));var C;const L=3,O=5,F=6;class z{constructor(e){this.options=Object.assign(Object.create(T),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[];}load(e){const{log:t,minZoom:o,maxZoom:i}=this.options;t&&console.time(\"total time\");const s=`prepare ${e.length} points`;t&&console.time(s),this.points=e;const r=[];for(let t=0;t=o;e--){const o=+Date.now();n=this.trees[e]=this._createTree(this._cluster(n,e)),t&&console.log(\"z%d: %d clusters in %dms\",e,n.numItems,+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 s=180===e[2]?180:((e[2]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,s=180;else if(o>s){const e=this.getClusters([o,i,180,r],t),n=this.getClusters([-180,i,s,r],t);return e.concat(n)}const n=this.trees[this._limitZoom(t)],a=n.range(E(o),j(r),E(s),j(i)),l=n.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+O]>1?A(l,t,this.clusterProps):this.points[l[t+L]]);}return c}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),i=\"No cluster with the specified id.\",s=this.trees[o];if(!s)throw new Error(i);const r=s.data;if(t*this.stride>=r.length)throw new Error(i);const n=this.options.radius/(this.options.extent*Math.pow(2,o-1)),a=s.within(r[t*this.stride],r[t*this.stride+1],n),l=[];for(const t of a){const o=t*this.stride;r[o+4]===e&&l.push(r[o+O]>1?A(r,o,this.clusterProps):this.points[r[o+L]]);}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)],s=Math.pow(2,e),{extent:r,radius:n}=this.options,a=n/r,l=(o-a)/s,c=(o+1+a)/s,u={features:[]};return this._addTileFeatures(i.range((t-a)/s,l,(t+1+a)/s,c),i.data,t,o,s,u),0===t&&this._addTileFeatures(i.range(1-a/s,l,1,c),i.data,s,o,s,u),t===s-1&&this._addTileFeatures(i.range(0,l,a/s,c),i.data,-1,o,s,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,s){const r=this.getChildren(t);for(const t of r){const r=t.properties;if(r&&r.cluster?s+r.point_count<=i?s+=r.point_count:s=this._appendLeaves(e,r.cluster_id,o,i,s):s1;let l,c,u;if(a)l=G(t,e,this.clusterProps),c=t[e],u=t[e+1];else {const o=this.points[t[e+L]];l=o.properties;const[i,s]=o.geometry.coordinates;c=E(i),u=j(s);}const h={type:1,geometry:[[Math.round(this.options.extent*(c*s-o)),Math.round(this.options.extent*(u*s-i))]],tags:l};let d;d=a||this.options.generateId?t[e+L]:this.points[t[e+L]].id,void 0!==d&&(h.id=d),r.features.push(h);}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:o,extent:i,reduce:s,minPoints:r}=this.options,n=o/(i*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let o=0;ot&&(f+=a[o+O]);}if(f>d&&f>=r){let e,r=i*d,n=u*d,g=-1;const p=((o/c|0)<<5)+(t+1)+this.points.length;for(const i of h){const l=i*c;if(a[l+2]<=t)continue;a[l+2]=t;const u=a[l+O];r+=a[l]*u,n+=a[l+1]*u,a[l+4]=p,s&&(e||(e=this._map(a,o,!0),g=this.clusterProps.length,this.clusterProps.push(e)),s(e,this._map(a,l)));}a[o+4]=p,l.push(r/f,n/f,1/0,p,-1,f),s&&l.push(g);}else {for(let e=0;e1)for(const e of h){const o=e*c;if(!(a[o+2]<=t)){a[o+2]=t;for(let e=0;e>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t,o){if(e[t+O]>1){const i=this.clusterProps[e[t+F]];return o?Object.assign({},i):i}const i=this.points[e[t+L]].properties,s=this.options.map(i);return o&&s===i?Object.assign({},s):s}}function A(e,t,o){return {type:\"Feature\",id:e[t+L],properties:G(e,t,o),geometry:{type:\"Point\",coordinates:[(i=e[t],360*(i-.5)),R(e[t+1])]}};var i;}function G(e,t,o){const i=e[t+O],s=i>=1e4?`${Math.round(i/1e3)}k`:i>=1e3?Math.round(i/100)/10+\"k\":i,r=e[t+F],n=-1===r?{}:Object.assign({},o[r]);return Object.assign(n,{cluster:!0,cluster_id:e[t+L],point_count:i,point_count_abbreviated:s})}function E(e){return e/360+.5}function j(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 R(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function Z(e,t,o,i){let s=i;const r=t+(o-t>>1);let n,a=o-t;const l=e[t],c=e[t+1],u=e[o],h=e[o+1];for(let i=t+3;is)n=i,s=t;else if(t===s){const e=Math.abs(i-r);ei&&(n-t>3&&Z(e,t,n,i),e[n+2]=s,o-n>3&&Z(e,n,o,i));}function N(e,t,o,i,s,r){let n=s-o,a=r-i;if(0!==n||0!==a){const l=((e-o)*n+(t-i)*a)/(n*n+a*a);l>1?(o=s,i=r):l>0&&(o+=n*l,i+=a*l);}return n=e-o,a=t-i,n*n+a*a}function J(e,t,o,i){const s={id:null==e?null:e,type:t,geometry:o,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(\"Point\"===t||\"MultiPoint\"===t||\"LineString\"===t)W(s,o);else if(\"Polygon\"===t)W(s,o[0]);else if(\"MultiLineString\"===t)for(const e of o)W(s,e);else if(\"MultiPolygon\"===t)for(const e of o)W(s,e[0]);return s}function W(e,t){for(let o=0;o0&&(n+=i?(s*l-a*r)/2:Math.sqrt(Math.pow(a-s,2)+Math.pow(l-r,2))),s=a,r=l;}const a=t.length-3;t[2]=1,Z(t,0,a,o),t[a+2]=1,t.size=Math.abs(n),t.start=0,t.end=t.size;}function q(e,t,o,i){for(let s=0;s1?1:o}function U(e,t,o,i,s,r,n,a){if(i/=t,r>=(o/=t)&&n=i)return null;const l=[];for(const t of e){const e=t.geometry;let r=t.type;const n=0===s?t.minX:t.minY,c=0===s?t.maxX:t.maxY;if(n>=o&&c=i)continue;let u=[];if(\"Point\"===r||\"MultiPoint\"===r)$(e,u,o,i,s);else if(\"LineString\"===r)K(e,u,o,i,s,!1,a.lineMetrics);else if(\"MultiLineString\"===r)ee(e,u,o,i,s,!1);else if(\"Polygon\"===r)ee(e,u,o,i,s,!0);else if(\"MultiPolygon\"===r)for(const t of e){const e=[];ee(t,e,o,i,s,!0),e.length&&u.push(e);}if(u.length){if(a.lineMetrics&&\"LineString\"===r){for(const e of u)l.push(J(t.id,r,e,t.tags));continue}\"LineString\"!==r&&\"MultiLineString\"!==r||(1===u.length?(r=\"LineString\",u=u[0]):r=\"MultiLineString\"),\"Point\"!==r&&\"MultiPoint\"!==r||(r=3===u.length?\"Point\":\"MultiPoint\"),l.push(J(t.id,r,u,t.tags));}}return l.length?l:null}function $(e,t,o,i,s){for(let r=0;r=o&&n<=i&&te(t,e[r],e[r+1],e[r+2]);}}function K(e,t,o,i,s,r,n){let a=Q(e);const l=0===s?oe:ie;let c,u,h=e.start;for(let d=0;do&&(u=l(a,f,g,m,y,o),n&&(a.start=h+c*u)):v>i?w=o&&(u=l(a,f,g,m,y,o),x=!0),w>i&&v<=i&&(u=l(a,f,g,m,y,i),x=!0),!r&&x&&(n&&(a.end=h+c*u),t.push(a),a=Q(e)),n&&(h+=c);}let d=e.length-3;const f=e[d],g=e[d+1],p=0===s?f:g;p>=o&&p<=i&&te(a,f,g,e[d+2]),d=a.length-3,r&&d>=3&&(a[d]!==a[0]||a[d+1]!==a[1])&&te(a,a[0],a[1],a[2]),a.length&&t.push(a);}function Q(e){const t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function ee(e,t,o,i,s,r){for(const n of e)K(n,t,o,i,s,r,!1);}function te(e,t,o,i){e.push(t,o,i);}function oe(e,t,o,i,s,r){const n=(r-t)/(i-t);return te(e,r,o+(s-o)*n,1),n}function ie(e,t,o,i,s,r){const n=(r-o)/(s-o);return te(e,t+(i-t)*n,r,1),n}function se(e,t){const o=[];for(let i=0;i0&&t.size<(s?n:i))return void(o.numPoints+=t.length/3);const a=[];for(let e=0;en)&&(o.numSimplified++,a.push(t[e],t[e+1])),o.numPoints++;s&&function(e,t){let o=0;for(let t=0,i=e.length,s=i-2;t0===t)for(let t=0,o=e.length;t24)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.\");let i=function(e,t){const o=[];if(\"FeatureCollection\"===e.type)for(let i=0;i1&&console.time(\"creation\"),d=this.tiles[h]=le(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,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd(\"creation\"));const e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++;}if(d.source=e,null==s){if(t===l.indexMaxZoom||d.numPoints<=l.indexMaxPoints)continue}else {if(t===l.maxZoom||t===s)continue;if(null!=s){const e=s-t;if(o!==r>>e||i!==n>>e)continue}}if(d.source=null,0===e.length)continue;c>1&&console.time(\"clipping\");const f=.5*l.buffer/l.extent,g=.5-f,p=.5+f,m=1+f;let y=null,v=null,w=null,x=null,b=U(e,u,o-f,o+p,0,d.minX,d.maxX,l),S=U(e,u,o+g,o+m,0,d.minX,d.maxX,l);e=null,b&&(y=U(b,u,i-f,i+p,1,d.minY,d.maxY,l),v=U(b,u,i+g,i+m,1,d.minY,d.maxY,l),b=null),S&&(w=U(S,u,i-f,i+p,1,d.minY,d.maxY,l),x=U(S,u,i+g,i+m,1,d.minY,d.maxY,l),S=null),c>1&&console.timeEnd(\"clipping\"),a.push(y||[],t+1,2*o,2*i),a.push(v||[],t+1,2*o,2*i+1),a.push(w||[],t+1,2*o+1,2*i),a.push(x||[],t+1,2*o+1,2*i+1);}}getTile(e,t,o){e=+e,t=+t,o=+o;const i=this.options,{extent:s,debug:r}=i;if(e<0||e>24)return null;const n=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,o);let l,c=e,u=t,h=o;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[fe(c,u,h)];return l&&l.source?(r>1&&(console.log(\"found parent tile z%d-%d-%d\",c,u,h),console.time(\"drilling down\")),this.splitTile(l.source,c,u,h,e,t,o),r>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?ne(this.tiles[a],s):null):null}}function fe(e,t,o){return 32*((1<{n.properties=e;const t={};for(const e of a)t[e]=i[e].evaluate(r,n);return t},t.reduce=(e,t)=>{n.properties=t;for(const t of a)r.accumulated=e[t],e[t]=s[t].evaluate(r,n);},t}(t)).load((yield this._pendingData).features):(s=yield this._pendingData,new de(s,t.geojsonVtOptions)),this.loaded={};const o={};if(i){const e=i.finish();e&&(o.resourceTiming={},o.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)));}return o}catch(t){if(delete this._pendingRequest,e.bA(t))return {abandoned:!0};throw t}var s;}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){const t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,o){return e._(this,void 0,void 0,(function*(){let i=yield this.loadGeoJSON(t,o);if(delete this._pendingRequest,\"object\"!=typeof i)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(c(i,!0),t.filter){const o=e.bB(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 s=i.features.filter((e=>o.value.evaluate({zoom:0},e)));i={type:\"FeatureCollection\",features:s};}return i}))}loadGeoJSON(t,o){return e._(this,void 0,void 0,(function*(){const{promoteId:i}=t;if(t.request){const s=yield e.h(t.request,o);return this._dataUpdateable=pe(s.data,i)?me(s.data,i):void 0,s.data}if(\"string\"==typeof t.data)try{const e=JSON.parse(t.data);return this._dataUpdateable=pe(e,i)?me(e,i):void 0,e}catch(e){throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,o){var i,s,r,n;if(t.removeAll&&e.clear(),t.remove)for(const o of t.remove)e.delete(o);if(t.add)for(const i of t.add){const t=ge(i,o);null!=t&&e.set(t,i);}if(t.update)for(const o of t.update){let t=e.get(o.id);if(null==t)continue;const a=!o.removeAllProperties&&((null===(i=o.removeProperties)||void 0===i?void 0:i.length)>0||(null===(s=o.addOrUpdateProperties)||void 0===s?void 0:s.length)>0);if((o.newGeometry||o.removeAllProperties||a)&&(t=Object.assign({},t),e.set(o.id,t),a&&(t.properties=Object.assign({},t.properties))),o.newGeometry&&(t.geometry=o.newGeometry),o.removeAllProperties)t.properties={};else if((null===(r=o.removeProperties)||void 0===r?void 0:r.length)>0)for(const e of o.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(n=o.addOrUpdateProperties)||void 0===n?void 0:n.length)>0)for(const{key:e,value:i}of o.addOrUpdateProperties)t.properties[e]=i;}}(this._dataUpdateable,t.dataDiff,i),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort();}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class ve{constructor(t){this.self=t,this.actor=new e.F(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.externalWorkerSourceTypes[e]=t;},this.self.addProtocol=e.bh,this.self.removeProtocol=e.bi,this.self.registerRTLTextPlugin=t=>{if(e.bC.isParsed())throw new Error(\"RTL text plugin already registered.\");e.bC.setMethods(t);},this.actor.registerMessageHandler(\"LDT\",((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RDT\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,o.source).removeTile(o);})))),this.actor.registerMessageHandler(\"GCEZ\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterExpansionZoom(o)})))),this.actor.registerMessageHandler(\"GCC\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterChildren(o)})))),this.actor.registerMessageHandler(\"GCL\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterLeaves(o)})))),this.actor.registerMessageHandler(\"LD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler(\"GD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler(\"LT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler(\"AT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler(\"RMT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler(\"RS\",((t,o)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][o.type]||!this.workerSources[t][o.type][o.source])return;const e=this.workerSources[t][o.type][o.source];delete this.workerSources[t][o.type][o.source],void 0!==e.removeSource&&e.removeSource(o);})))),this.actor.registerMessageHandler(\"RM\",(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t];})))),this.actor.registerMessageHandler(\"SR\",((t,o)=>e._(this,void 0,void 0,(function*(){this.referrer=o;})))),this.actor.registerMessageHandler(\"SRPS\",((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler(\"IS\",((t,o)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(o);})))),this.actor.registerMessageHandler(\"SI\",((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler(\"UL\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(o.layers,o.removedIds);})))),this.actor.registerMessageHandler(\"SL\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(o);}))));}_setImages(t,o){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=o;for(const e in this.workerSources[t]){const i=this.workerSources[t][e];for(const e in i)i[e].availableImages=o;}}))}_syncRTLPluginState(t,o){return e._(this,void 0,void 0,(function*(){if(e.bC.isParsed())return e.bC.getState();if(\"loading\"!==o.pluginStatus)return e.bC.setState(o),o;const t=o.pluginURL;if(this.self.importScripts(t),e.bC.isParsed()){const o={pluginStatus:\"loaded\",pluginURL:t};return e.bC.setState(o),o}throw e.bC.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let o=this.layerIndexes[e];return o||(o=this.layerIndexes[e]=new t),o}_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={sendAsync:(t,o)=>(t.targetMapId=e,this.actor.sendAsync(t,o))};switch(t){case\"vector\":this.workerSources[e][t][o]=new r(i,this._getLayerIndex(e),this._getAvailableImages(e));break;case\"geojson\":this.workerSources[e][t][o]=new ye(i,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][o]=new this.externalWorkerSourceTypes[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 n),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new ve(self)),ve}));\n\ndefine(\"index\",[\"exports\",\"./shared\"],(function(t,e){\"use strict\";var i=\"4.5.0\";let a,s;const o={now:\"undefined\"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:t=>new Promise(((i,a)=>{const s=requestAnimationFrame(i);t.signal.addEventListener(\"abort\",(()=>{cancelAnimationFrame(s),a(e.c());}));})),getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement(\"canvas\"),i=e.getContext(\"2d\",{willReadFrequently:!0});if(!i)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,i.drawImage(t,0,0,t.width,t.height),i},resolveURL:t=>(a||(a=document.createElement(\"a\")),a.href=t,a.href),hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==s&&(s=matchMedia(\"(prefers-reduced-motion: reduce)\")),s.matches)}};class r{static testProp(t){if(!r.docStyle)return t[0];for(let e=0;e{window.removeEventListener(\"click\",r.suppressClickInternal,!0);}),0);}static getScale(t){const e=t.getBoundingClientRect();return {x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,i,a){const s=i.boundingClientRect;return new e.P((a.clientX-s.left)/i.x-t.clientLeft,(a.clientY-s.top)/i.y-t.clientTop)}static mousePos(t,e){const i=r.getScale(t);return r.getPoint(t,i,e)}static touchPos(t,e){const i=[],a=r.getScale(t);for(let s=0;s{l&&d(l),l=null,u=!0;},h.onerror=()=>{c=!0,l=null;},h.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(t){let i,a,s,o;t.resetRequestQueue=()=>{i=[],a=0,s=0,o={};},t.addThrottleControl=t=>{const e=s++;return o[e]=t,e},t.removeThrottleControl=t=>{delete o[t],l();},t.getImage=(t,a,s=!0)=>new Promise(((o,r)=>{n.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),e.e(t,{type:\"image\"}),i.push({abortController:a,requestParameters:t,supportImageRefresh:s,state:\"queued\",onError:t=>{r(t);},onSuccess:t=>{o(t);}}),l();}));const r=t=>e._(this,void 0,void 0,(function*(){t.state=\"running\";const{requestParameters:i,supportImageRefresh:s,onError:o,onSuccess:r,abortController:n}=t,c=!1===s&&!e.i(self)&&!e.g(i.url)&&(!i.headers||Object.keys(i.headers).reduce(((t,e)=>t&&\"accept\"===e),!0));a++;const u=c?h(i,n):e.m(i,n);try{const i=yield u;delete t.abortController,t.state=\"completed\",i.data instanceof HTMLImageElement||e.b(i.data)?r(i):i.data&&r({data:yield(d=i.data,\"function\"==typeof createImageBitmap?e.d(d):e.f(d)),cacheControl:i.cacheControl,expires:i.expires});}catch(e){delete t.abortController,o(e);}finally{a--,l();}var d;})),l=()=>{const t=(()=>{for(const t of Object.keys(o))if(o[t]())return !0;return !1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=a;e0;e++){const t=i.shift();t.abortController.signal.aborted?e--:r(t);}},h=(t,i)=>new Promise(((a,s)=>{const o=new Image,r=t.url,n=t.credentials;n&&\"include\"===n?o.crossOrigin=\"use-credentials\":(n&&\"same-origin\"===n||!e.s(r))&&(o.crossOrigin=\"anonymous\"),i.signal.addEventListener(\"abort\",(()=>{o.src=\"\",s(e.c());})),o.fetchPriority=\"high\",o.onload=()=>{o.onerror=o.onload=null,a({data:o});},o.onerror=()=>{o.onerror=o.onload=null,i.signal.aborted||s(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.\"));},o.src=r;}));}(_||(_={})),_.resetRequestQueue();class p{constructor(t){this._transformRequestFn=t;}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t;}}function m(t){var i=new e.A(3);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i}var f,g=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t};f=new e.A(3),e.A!=Float32Array&&(f[0]=0,f[1]=0,f[2]=0);var v=function(t){var e=t[0],i=t[1];return e*e+i*i};function x(t){const e=[];if(\"string\"==typeof t)e.push({id:\"default\",url:t});else if(t&&t.length>0){const i=[];for(const{id:a,url:s}of t){const t=`${a}${s}`;-1===i.indexOf(t)&&(i.push(t),e.push({id:a,url:s}));}}return e}function y(t,e,i){const a=t.split(\"?\");return a[0]+=`${e}${i}`,a.join(\"?\")}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0);}();class b{constructor(t,e,i,a){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,a);}update(t,i,a){const{width:s,height:o}=t,r=!(this.size&&this.size[0]===s&&this.size[1]===o||a),{context:n}=this,{gl:l}=n;if(this.useMipmap=Boolean(i&&i.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),n.pixelStoreUnpackFlipY.set(!1),n.pixelStoreUnpack.set(1),n.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!i||!1!==i.premultiply)),r)this.size=[s,o],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,s,o,0,this.format,l.UNSIGNED_BYTE,t.data);else {const{x:i,y:r}=a||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,i,r,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,i,r,s,o,l.RGBA,l.UNSIGNED_BYTE,t.data);}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D);}bind(t,e,i){const{context:a}=this,{gl:s}=a;s.bindTexture(s.TEXTURE_2D,this.texture),i!==s.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=s.LINEAR),t!==this.filter&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,t),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,e),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,e),this.wrap=e);}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null;}}function w(t){const{userImage:e}=t;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class T extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0;}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[];}}getImage(t){const i=this.images[t];if(i&&!i.data&&i.spriteData){const t=i.spriteData;i.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),i.spriteData=null;}return i}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e);}_validate(t,i){let a=!0;const s=i.data||i.spriteData;return this._validateStretch(i.stretchX,s&&s.width)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchX\" value`))),a=!1),this._validateStretch(i.stretchY,s&&s.height)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchY\" value`))),a=!1),this._validateContent(i.content,i)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"content\" value`))),a=!1),a}_validateStretch(t,e){if(!t)return !0;let i=0;for(const a of t){if(a[0]{let a=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(a=!1);this.isLoaded()||a?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e});}))}_getImagesForIds(t){const i={};for(const a of t){let t=this.getImage(a);t||(this.fire(new e.k(\"styleimagemissing\",{id:a})),t=this.getImage(a)),t?i[a]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image \"${a}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`);}return i}getPixelSize(){const{width:t,height:e}=this.atlasImage;return {width:t,height:e}}getPattern(t){const i=this.patterns[t],a=this.getImage(t);if(!a)return null;if(i&&i.position.version===a.version)return i.position;if(i)i.position.version=a.version;else {const i={w:a.data.width+2,h:a.data.height+2,x:0,y:0},s=new e.I(i,a);this.patterns[t]={bin:i,position:s};}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new b(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE);}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:i,h:a}=e.p(t),s=this.atlasImage;s.resize({width:i||1,height:a||1});for(const t in this.patterns){const{bin:i}=this.patterns[t],a=i.x+1,o=i.y+1,r=this.getImage(t).data,n=r.width,l=r.height;e.R.copy(r,s,{x:0,y:0},{x:a,y:o},{width:n,height:l}),e.R.copy(r,s,{x:0,y:l-1},{x:a,y:o-1},{width:n,height:1}),e.R.copy(r,s,{x:0,y:0},{x:a,y:o+l},{width:n,height:1}),e.R.copy(r,s,{x:n-1,y:0},{x:a-1,y:o},{width:1,height:l}),e.R.copy(r,s,{x:0,y:0},{x:a+n,y:o},{width:1,height:l});}this.dirty=!0;}beginFrame(){this.callbackDispatchedThisFrame={};}dispatchRenderCallbacks(t){for(const i of t){if(this.callbackDispatchedThisFrame[i])continue;this.callbackDispatchedThisFrame[i]=!0;const t=this.getImage(i);t||e.w(`Image with ID: \"${i}\" was not found`),w(t)&&this.updateImage(i,t);}}}const I=1e20;function E(t,e,i,a,s,o,r,n,l){for(let h=e;h-1);l++,o[l]=n,r[l]=h,r[l+1]=I;}for(let n=0,l=0;n65535)throw new Error(\"glyphs > 65535 not supported\");if(e.ranges[s])return {stack:t,id:i,glyph:a};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!e.requests[s]){const i=C.loadGlyphRange(t,s,this.url,this.requestManager);e.requests[s]=i;}const o=yield e.requests[s];for(const t in o)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=o[+t]);return e.ranges[s]=!0,{stack:t,id:i,glyph:o[i]||null}}))}_doesCharSupportLocalGlyph(t){return !!this.localIdeographFontFamily&&(e.u[\"CJK Unified Ideographs\"](t)||e.u[\"Hangul Syllables\"](t)||e.u.Hiragana(t)||e.u.Katakana(t))}_tinySDF(t,i,a){const s=this.localIdeographFontFamily;if(!s)return;if(!this._doesCharSupportLocalGlyph(a))return;let o=t.tinySDF;if(!o){let e=\"400\";/bold/i.test(i)?e=\"900\":/medium/i.test(i)?e=\"500\":/light/i.test(i)&&(e=\"200\"),o=t.tinySDF=new C.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:s,fontWeight:e});}const r=o.draw(String.fromCharCode(a));return {id:a,bitmap:new e.o({width:r.width||60,height:r.height||60},r.data),metrics:{width:r.glyphWidth/2||24,height:r.glyphHeight/2||24,left:r.glyphLeft/2+.5||0,top:r.glyphTop/2-27.5||-8,advance:r.glyphAdvance/2||24,isDoubleResolution:!0}}}}C.loadGlyphRange=function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const o=256*i,r=o+255,n=s.transformRequest(a.replace(\"{fontstack}\",t).replace(\"{range}\",`${o}-${r}`),\"Glyphs\"),l=yield e.l(n,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${i}, ${o}-${r}`);const h={};for(const t of e.n(l.data))h[t.id]=t;return h}))},C.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:a=.25,fontFamily:s=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:r=\"normal\"}={}){this.buffer=e,this.cutoff=a,this.radius=i;const n=this.size=t+4*e,l=this._createCanvas(n),h=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});h.font=`${r} ${o} ${t}px ${s}`,h.textBaseline=\"alphabetic\",h.textAlign=\"left\",h.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:a,actualBoundingBoxLeft:s,actualBoundingBoxRight:o}=this.ctx.measureText(t),r=Math.ceil(i),n=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-s))),l=Math.min(this.size-this.buffer,r+Math.ceil(a)),h=n+2*this.buffer,c=l+2*this.buffer,u=Math.max(h*c,0),d=new Uint8ClampedArray(u),_={data:d,width:h,height:c,glyphWidth:n,glyphHeight:l,glyphTop:r,glyphLeft:0,glyphAdvance:e};if(0===n||0===l)return _;const{ctx:p,buffer:m,gridInner:f,gridOuter:g}=this;p.clearRect(m,m,n,l),p.fillText(t,m,m+r);const v=p.getImageData(m,m,n,l);g.fill(I,0,u),f.fill(0,0,u);for(let t=0;t0?t*t:0,f[a]=t<0?t*t:0;}}E(g,0,0,h,c,h,this.f,this.v,this.z),E(f,m,m,n,l,h,this.f,this.v,this.z);for(let t=0;t1&&(r=t[++o]);const l=Math.abs(n-r.left),h=Math.abs(n-r.right),c=Math.min(l,h);let u;const d=e/i*(a+1);if(r.isDash){const t=a-Math.abs(d);u=Math.sqrt(c*c+t*t);}else u=a-Math.sqrt(c*c+d*d);this.data[s+n]=Math.max(0,Math.min(255,u+128));}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],a=t[e+1];i.zeroLength?t.splice(e,1):a&&a.isDash===i.isDash&&(a.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 a=this.width*this.nextRow;let s=0,o=t[s];for(let e=0;e1&&(o=t[++s]);const i=Math.abs(e-o.left),r=Math.abs(e-o.right),n=Math.min(i,r);this.data[a+e]=Math.max(0,Math.min(255,(o.isDash?n:-n)+128));}}addDash(t,i){const a=i?7:0,s=2*a+1;if(this.nextRow+s>this.height)return e.w(\"LineAtlas out of space\"),null;let o=0;for(let e=0;e{t.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[k]}numActive(){return Object.keys(this.active).length}}const F=Math.floor(o.hardwareConcurrency/2);let B,O;function N(){return B||(B=new L),B}L.workerCount=e.C(globalThis)?Math.max(Math.min(F,3),1):1;class j{constructor(t,i){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=i;const a=this.workerPool.acquire(i);for(let t=0;t{t.remove();})),this.actors=[],t&&this.workerPool.release(this.id);}registerMessageHandler(t,e){for(const i of this.actors)i.registerMessageHandler(t,e);}}function U(){return O||(O=new j(N(),e.G),O.registerMessageHandler(\"GR\",((t,i,a)=>e.m(i,a)))),O}function Z(t,i){const a=e.H();return e.J(a,a,[1,1,0]),e.K(a,a,[.5*t.width,.5*t.height,1]),e.L(a,a,t.calculatePosMatrix(i.toUnwrapped()))}function q(t,e,i,a,s,o){const r=function(t,e,i){if(t)for(const a of t){const t=e[a];if(t&&t.source===i&&\"fill-extrusion\"===t.type)return !0}else for(const t in e){const a=e[t];if(a.source===i&&\"fill-extrusion\"===a.type)return !0}return !1}(s&&s.layers,e,t.id),n=o.maxPitchScaleFactor(),l=t.tilesIn(a,n,r);l.sort(V);const h=[];for(const a of l)h.push({wrappedTileID:a.tileID.wrapped().key,queryResults:a.tile.queryRenderedFeatures(e,i,t._state,a.queryGeometry,a.cameraQueryGeometry,a.scale,s,o,n,Z(t.transform,a.tileID))});const c=function(t){const e={},i={};for(const a of t){const t=a.queryResults,s=a.wrappedTileID,o=i[s]=i[s]||{};for(const i in t){const a=t[i],s=o[i]=o[i]||{},r=e[i]=e[i]||[];for(const t of a)s[t.featureIndex]||(s[t.featureIndex]=!0,r.push(t));}}return e}(h);for(const e in c)c[e].forEach((e=>{const i=e.feature,a=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=a;}));return c}function V(t,e){const i=t.tileID,a=e.tileID;return i.overscaledZ-a.overscaledZ||i.canonical.y-a.canonical.y||i.wrap-a.wrap||i.canonical.x-a.canonical.x}function G(t,i,a){return e._(this,void 0,void 0,(function*(){let s=t;if(t.url?s=(yield e.h(i.transformRequest(t.url,\"Source\"),a)).data:yield o.frameAsync(a),!s)return null;const r=e.M(e.e(s,t),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return \"vector_layers\"in s&&s.vector_layers&&(r.vectorLayerIds=s.vector_layers.map((t=>t.id))),r}))}class W{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(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 e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const i=this._sw,a=this._ne;let s,o;if(t instanceof e.N)s=t,o=t;else {if(!(t instanceof W))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(W.convert(t)):this.extend(e.N.convert(t)):t&&(\"lng\"in t||\"lon\"in t)&&\"lat\"in t?this.extend(e.N.convert(t)):this;if(s=t._sw,o=t._ne,!s||!o)return this}return i||a?(i.lng=Math.min(s.lng,i.lng),i.lat=Math.min(s.lat,i.lat),a.lng=Math.max(o.lng,a.lng),a.lat=Math.max(o.lat,a.lat)):(this._sw=new e.N(s.lng,s.lat),this._ne=new e.N(o.lng,o.lat)),this}getCenter(){return new e.N((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 e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(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:i,lat:a}=e.N.convert(t);let s=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(s=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=a&&a<=this._ne.lat&&s}static convert(t){return t instanceof W?t:t?new W(t):t}static fromLngLat(t,i=0){const a=360*i/40075017,s=a/Math.cos(Math.PI/180*t.lat);return new W(new e.N(t.lng-s,t.lat-a),new e.N(t.lng+s,t.lat+a))}}class ${constructor(t,e,i){this.bounds=W.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=i||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(t){const i=Math.pow(2,t.z),a=Math.floor(e.O(this.bounds.getWest())*i),s=Math.floor(e.Q(this.bounds.getNorth())*i),o=Math.ceil(e.O(this.bounds.getEast())*i),r=Math.ceil(e.Q(this.bounds.getSouth())*i);return t.x>=a&&t.x=s&&t.y{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),i={request:this.map._requestManager.transformRequest(e,\"Tile\"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};i.request.collectResourceTiming=this._collectResourceTiming;let a=\"RT\";if(t.actor&&\"expired\"!==t.state){if(\"loading\"===t.state)return new Promise(((e,i)=>{t.reloadPromise={resolve:e,reject:i};}))}else t.actor=this.dispatcher.getActor(),a=\"LT\";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:a,data:i},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e);}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null);}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject);}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:\"AT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}hasTransition(){return !1}}class H extends e.E{constructor(t,i,a,s){super(),this.id=t,this.dispatcher=a,this.setEventedParent(s),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=e.e({type:\"raster\"},i),e.e(this,e.M(i,[\"url\",\"scheme\",\"tileSize\"]));}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{const t=yield G(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new $(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t));}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load();}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),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}serialize(){return e.e({},this._options)}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const i=yield _.getImage(this.map._requestManager.transformRequest(e,\"Tile\"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const e=this.map.painter.context,a=e.gl,s=i.data;t.texture=this.map.painter.getTileTexture(s.width),t.texture?t.texture.update(s,{useMipmap:!0}):(t.texture=new b(e,s,a.RGBA,{useMipmap:!0}),t.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),e.extTextureFilterAnisotropic&&a.texParameterf(a.TEXTURE_2D,e.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.extTextureFilterAnisotropicMax)),t.state=\"loaded\";}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController);}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture);}))}hasTransition(){return !1}}class K extends H{constructor(t,i,a,s){super(t,i,a,s),this.type=\"raster-dem\",this.maxzoom=22,this._options=e.e({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\",this.redFactor=i.redFactor,this.greenFactor=i.greenFactor,this.blueFactor=i.blueFactor,this.baseShift=i.baseShift;}loadTile(t){return e._(this,void 0,void 0,(function*(){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a=this.map._requestManager.transformRequest(i,\"Tile\");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const i=yield _.getImage(a,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){const a=i.data;this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const s=e.b(a)&&e.U()?a:yield this.readImageNow(a),o={type:this.type,uid:t.uid,source:this.id,rawImageData:s,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||\"expired\"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:\"LDT\",data:o});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state=\"loaded\";}}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof VideoFrame&&e.V()){const i=t.width+2,a=t.height+2;try{return new e.R({width:i,height:a},yield e.W(t,-1,-1,i,a))}catch(t){}}return o.getImageData(t,1)}))}_getNeighboringTiles(t){const i=t.canonical,a=Math.pow(2,i.z),s=(i.x-1+a)%a,o=0===i.x?t.wrap-1:t.wrap,r=(i.x+1+a)%a,n=i.x+1===a?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,o,i.z,s,i.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},i.y>0&&(l[new e.S(t.overscaledZ,o,i.z,s,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1}),i.y+10&&e.e(s,{resourceTiming:a}),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"metadata\"}))),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"content\"})));}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k(\"dataabort\",{dataType:\"source\"}));this.fire(new e.j(t));}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?\"RT\":\"LT\";t.actor=this.actor;const i={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.abortController=new AbortController;const a=yield this.actor.sendAsync({type:e,data:i},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(a,this.map.painter,\"RT\"===e);}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0;}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}});}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}});}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}}var Y=e.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Q extends e.E{constructor(t,e,i,a){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(a),this.options=e;}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield _.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading());}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t));}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null;})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(t){this.map=t,this.load();}onRemove(){this._request&&(this._request.abort(),this._request=null);}setCoordinates(t){this.coordinates=t;const i=t.map(e.Z.fromLngLat);this.tileID=function(t){let i=1/0,a=1/0,s=-1/0,o=-1/0;for(const e of t)i=Math.min(i,e.x),a=Math.min(a,e.y),s=Math.max(s,e.x),o=Math.max(o,e.y);const r=Math.max(s-i,o-a),n=Math.max(0,Math.floor(-Math.log(r)/Math.LN2)),l=Math.pow(2,n);return new e.a1(n,Math.floor((i+s)/2*l),Math.floor((a+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const a=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.$,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,e.X,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,e.X),this._boundsArray.emplaceBack(a[2].x,a[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new b(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state=\"errored\";}))}serialize(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}class tt extends Q{constructor(t,e,i,a){super(t,e,i,a),this.roundZoom=!0,this.type=\"video\",this.options=e;}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,\"Source\").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading();}catch(t){this.fire(new e.j(t));}}))}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.j(new e.a2(`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=t;}}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 t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.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 b(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}serialize(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class et extends Q{constructor(t,i,a,s){super(t,i,a,s),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 e.j(new e.a2(`sources.${t}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new e.j(new e.a2(`sources.${t}`,null,'optional \"animate\" property must be a boolean value'))),i.canvas?\"string\"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${t}`,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 e.j(new e.a2(`sources.${t}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){return e._(this,void 0,void 0,(function*(){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 e.j(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 t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,a=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new b(i,this.canvas,a.RGBA,{premultiply:!0});let s=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,s=!0);}s&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}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 it={},at=t=>{switch(t){case\"geojson\":return J;case\"image\":return Q;case\"raster\":return H;case\"raster-dem\":return K;case\"vector\":return X;case\"video\":return tt;case\"canvas\":return et}return it[t]},st=\"RTLPluginLoaded\";class ot extends e.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=U();}_syncState(t){return this.status=t,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status=\"error\",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null;}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=o.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if(\"unavailable\"===this.status){if(!e)return this._requestImport();this.status=\"deferred\",this._syncState(this.status);}else if(\"requested\"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new e.k(st));}))}lazyLoad(){\"unavailable\"===this.status?this.status=\"requested\":\"deferred\"===this.status&&this._requestImport();}}let rt=null;function nt(){return rt||(rt=new ot),rt}class lt{constructor(t,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\";}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){a.layers=t,a.stateDependentLayerIds&&(a.stateDependentLayers=a.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=a;}}return i}(t.buckets,i.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a6){if(this.hasSymbolBuckets=!0,!a)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a6&&i.hasRTLText){this.hasRTLText=!0,nt().lazyLoad();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));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage);}else this.collisionBoxArray=new e.a5;}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 b(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new b(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,i,a,s,o,r,n,l,h){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:a,cameraQueryGeometry:s,scale:o,tileSize:this.tileSize,pixelPosMatrix:h,transform:n,params:r,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(t,i){const a=this.latestFeatureIndex;if(!a||!a.rawTileData)return;const s=a.loadVTLayers(),o=i&&i.sourceLayer?i.sourceLayer:\"\",r=s._geojsonTileLayer||s[o];if(!r)return;const n=e.a7(i&&i.filter),{z:l,x:h,y:c}=this.tileID.canonical,u={z:l,x:h,y:c};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,s);}),i)),this.data[a].push(s),this.order.push(a),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,a=void 0===e?0:this.data[i].indexOf(e),s=this.data[i][a];return this.data[i].splice(a,1),s.timeout&&clearTimeout(s.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(s.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 a of this.data[i])t(a.value)||e.push(a);for(const t of e)this.remove(t.value.tileID,t);}}class ct{constructor(){this.state={},this.stateChanges={},this.deletedStates={};}updateState(t,i,a){const s=String(i);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][s]=this.stateChanges[t][s]||{},e.e(this.stateChanges[t][s],a),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==s&&(this.deletedStates[t][e]=null);}else if(this.deletedStates[t]&&null===this.deletedStates[t][s]){this.deletedStates[t][s]={};for(const e in this.state[t][s])a[e]||(this.deletedStates[t][s][e]=null);}else for(const e in a)this.deletedStates[t]&&this.deletedStates[t][s]&&null===this.deletedStates[t][s][e]&&delete this.deletedStates[t][s][e];}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const a=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][a]&&(this.deletedStates[t][a]=this.deletedStates[t][a]||{},this.deletedStates[t][a][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][a])for(i in this.deletedStates[t][a]={},this.stateChanges[t][a])this.deletedStates[t][a][i]=null;else this.deletedStates[t][a]=null;else this.deletedStates[t]=null;}getState(t,i){const a=String(i),s=e.e({},(this.state[t]||{})[a],(this.stateChanges[t]||{})[a]);if(null===this.deletedStates[t])return {};if(this.deletedStates[t]){const e=this.deletedStates[t][i];if(null===e)return {};for(const t in e)delete s[t];}return s}initializeTileState(t,e){t.setFeatureState(this.state,e);}coalesceChanges(t,i){const a={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const i={};for(const a in this.stateChanges[t])this.state[t][a]||(this.state[t][a]={}),e.e(this.state[t][a],this.stateChanges[t][a]),i[a]=this.state[t][a];a[t]=i;}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const i={};if(null===this.deletedStates[t])for(const e in this.state[t])i[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const i of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][i];i[e]=this.state[t][e];}a[t]=a[t]||{},e.e(a[t],i);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(a).length)for(const e in t)t[e].setFeatureState(a,i);}}class ut extends e.E{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on(\"data\",(t=>this._dataHandler(t))),this.on(\"dataloading\",(()=>{this._sourceErrored=!1;})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded();})),this._source=((t,e,i,a)=>{const s=new(at(e.type))(t,e,i,a);if(s.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${s.id}`);return s})(t,e,i,this),this._tiles={},this._cache=new ht(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ct,this._didEmitContent=!1,this._updated=!1;}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels: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;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return !0;if(!this._updated)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,i,a){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,i,a);}catch(i){t.state=\"errored\",404!==i.status?this._source.fire(new e.j(i,{tile:t})):this.update(this.transform,this.terrain);}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t);}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k(\"dataabort\",{tile:t,coord:t.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(dt).map((t=>t.key))}getRenderableIds(t){const i=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&i.push(this._tiles[e]);return t?i.sort(((t,i)=>{const a=t.tileID,s=i.tileID,o=new e.P(a.canonical.x,a.canonical.y)._rotate(this.transform.angle),r=new e.P(s.canonical.x,s.canonical.y)._rotate(this.transform.angle);return a.overscaledZ-s.overscaledZ||r.y-o.y||r.x-o.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(dt).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,i){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&(\"loading\"!==e.state&&(e.state=i),yield this._loadTile(e,t,i));}))}_tileLoaded(t,i,a){t.timeAdded=o.now(),\"expired\"===a&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}));}_backfillDEM(t){const e=this.getRenderableIds();for(let a=0;a1||(Math.abs(i)>1&&(1===Math.abs(i+s)?i+=s:1===Math.abs(i-s)&&(i-=s)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,a),t.neighboringTiles&&t.neighboringTiles[o]&&(t.neighboringTiles[o].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,a){for(const s in this._tiles){let o=this._tiles[s];if(a[s]||!o.hasData()||o.tileID.overscaledZ<=e||o.tileID.overscaledZ>i)continue;let r=o.tileID;for(;o&&o.tileID.overscaledZ>e+1;){const t=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[t.key],o&&o.hasData()&&(r=t);}let n=r;for(;n.overscaledZ>e;)if(n=n.scaledTo(n.overscaledZ-1),t[n.key]){a[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),a=this._getLoadedTile(e);if(a)return a}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const i=Math.ceil(t.width/this._source.tileSize)+1,a=Math.ceil(t.height/this._source.tileSize)+1,s=Math.floor(i*a*(null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),o=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,s):s;this._cache.setMaxSize(o);}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 a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+e),t[a.tileID.key]=a;}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]);}}_updateCoveredAndRetainedTiles(t,e,i,a,s,r){const n={},l={},h=Object.keys(t),c=o.now();for(const i of h){const a=t[i],s=this._tiles[i];if(!s||0!==s.fadeEndTime&&s.fadeEndTime<=c)continue;const o=this.findLoadedParent(a,e),r=this.findLoadedSibling(a),h=o||r||null;h&&(this._addTile(h.tileID),n[h.tileID.key]=h.tileID),l[i]=a;}this._retainLoadedChildren(l,a,i,t);for(const e in n)t[e]||(this._coveredTiles[e]=!0,t[e]=n[e]);if(r){const e={},i={};for(const t of s)this._tiles[t.key].hasData()?e[t.key]=t:i[t.key]=t;for(const a in i){const s=i[a].children(this._source.maxzoom);this._tiles[s[0].key]&&this._tiles[s[1].key]&&this._tiles[s[2].key]&&this._tiles[s[3].key]&&(e[s[0].key]=t[s[0].key]=s[0],e[s[1].key]=t[s[1].key]=s[1],e[s[2].key]=t[s[2].key]=s[2],e[s[3].key]=t[s[3].key]=s[3],delete i[a]);}for(const a in i){const s=i[a],o=this.findLoadedParent(s,this._source.minzoom),r=this.findLoadedSibling(s),n=o||r||null;if(n){e[n.tileID.key]=t[n.tileID.key]=n.tileID;for(const t in e)e[t].isChildOf(n.tileID)&&delete e[t];}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0);}}update(t,i){if(!this._sourceLoaded||this._paused)return;let a;this.transform=t,this.terrain=i,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?a=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(a=t.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&&(a=a.filter((t=>this._source.hasTile(t))))):a=[];const s=t.coveringZoomLevel(this._source),o=Math.max(s-ut.maxOverzooming,this._source.minzoom),r=Math.max(s+ut.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of a)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const a=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[a.key]=a;}a=a.concat(Object.values(t));}const n=0===a.length&&!this._updated&&this._didEmitContent;this._updated=!0,n&&this.fire(new e.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));const l=this._updateRetainedTiles(a,s);_t(this._source.type)&&this._updateCoveredAndRetainedTiles(l,o,r,s,a,i);for(const t in l)this._tiles[t].clearFadeHold();const h=e.ac(this._tiles,l);for(const t of h){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t);}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);}_updateRetainedTiles(t,e){var i;const a={},s={},o=Math.max(e-ut.maxOverzooming,this._source.minzoom),r=Math.max(e+ut.maxUnderzooming,this._source.minzoom),n={};for(const i of t){const t=this._addTile(i);a[i.key]=i,t.hasData()||ethis._source.maxzoom){const t=r.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){a[t.key]=t;continue}}else {const t=r.children(this._source.maxzoom);if(a[t[0].key]&&a[t[1].key]&&a[t[2].key]&&a[t[3].key])continue}let n=t.wasRequested();for(let e=r.overscaledZ-1;e>=o;--e){const o=r.scaledTo(e);if(s[o.key])break;if(s[o.key]=!0,t=this.getTile(o),!t&&n&&(t=this._addTile(o)),t){const e=t.hasData();if((e||!(null===(i=this.map)||void 0===i?void 0:i.cancelPendingTileRequestsWhileZooming)||n)&&(a[o.key]=o),n=t.wasRequested(),e)break}}}return a}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,a=this._tiles[t].tileID;for(;a.overscaledZ>0;){if(a.key in this._loadedParentTiles){i=this._loadedParentTiles[a.key];break}e.push(a.key);const t=a.scaledTo(a.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;a=t;}for(const t of e)this._loadedParentTiles[t]=i;}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,i=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=i;}}_addTile(t){let i=this._tiles[t.key];if(i)return i;i=this._cache.getAndRemove(t),i&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i)));const a=i;return i||(i=new lt(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,t.key,i.state)),i.uses++,this._tiles[t.key]=i,a||this._source.fire(new e.k(\"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))));}_dataHandler(t){const e=t.sourceDataType;\"source\"===t.dataType&&\"metadata\"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0);}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset();}tilesIn(t,i,a){const s=[],o=this.transform;if(!o)return s;const r=a?o.getCameraQueryGeometry(t):t,n=t.map((t=>o.pointCoordinate(t,this.terrain))),l=r.map((t=>o.pointCoordinate(t,this.terrain))),h=this.getIds();let c=1/0,u=1/0,d=-1/0,_=-1/0;for(const t of l)c=Math.min(c,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),_=Math.max(_,t.y);for(let t=0;t=0&&f[1].y+m>=0){const t=n.map((t=>r.getTilePoint(t))),e=l.map((t=>r.getTilePoint(t)));s.push({tile:a,tileID:r,queryGeometry:t,cameraQueryGeometry:e,scale:p});}}return s}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(_t(this._source.type)){const t=o.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)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 a=this._tiles[t];a&&a.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 dt(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),a=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||a-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function _t(t){return \"raster\"===t||\"image\"===t||\"video\"===t}ut.maxOverzooming=10,ut.maxUnderzooming=3;class pt{constructor(t,e){this.reset(t,e);}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(s-r)/n:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}function mt(t,e){let i=!0;return \"always\"===t||\"never\"!==t&&\"never\"!==e||(i=!1),i}class ft{constructor(t,e,i){const a=this.boxCells=[],s=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||a<0||e>this.height)return [];const n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=a){if(s)return [{key:null,x1:t,y1:e,x2:i,y2:a}];for(let t=0;t0}hitTestCircle(t,e,i,a,s){const o=t-i,r=t+i,n=e-i,l=e+i;if(r<0||o>this.width||l<0||n>this.height)return !1;const h=[];return this._forEachCell(o,n,r,l,this._queryCellCircle,h,{hitTest:!0,overlapMode:a,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},s),h.length>0}_queryCell(t,e,i,a,s,o,r,n){const{seenUids:l,hitTest:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const s=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<=s[u+2]&&e<=s[u+3]&&i>=s[u+0]&&a>=s[u+1]&&(!n||n(d))&&(!h||!mt(c,d.overlapMode))&&(o.push({key:d,x1:s[u],y1:s[u+1],x2:s[u+2],y2:s[u+3]}),h))return !0}}const d=this.circleCells[s];if(null!==d){const s=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(s[u],s[u+1],s[u+2],t,e,i,a)&&(!n||n(d))&&(!h||!mt(c,d.overlapMode))){const t=s[u],e=s[u+1],i=s[u+2];if(o.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),h)return !0}}}return !1}_queryCellCircle(t,e,i,a,s,o,r,n){const{circle:l,seenUids:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const t=this.bboxes;for(const e of u)if(!h.box[e]){h.box[e]=!0;const i=4*e,a=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(a))&&!mt(c,a.overlapMode))return o.push(!0),!0}}const d=this.circleCells[s];if(null!==d){const t=this.circles;for(const e of d)if(!h.circle[e]){h.circle[e]=!0;const i=3*e,a=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!n||n(a))&&!mt(c,a.overlapMode))return o.push(!0),!0}}}_forEachCell(t,e,i,a,s,o,r,n){const l=this._convertToXCellCoord(t),h=this._convertToYCellCoord(e),c=this._convertToXCellCoord(i),u=this._convertToYCellCoord(a);for(let d=l;d<=c;d++)for(let l=h;l<=u;l++)if(s.call(this,t,e,i,a,this.xCellCount*l+d,o,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,a,s,o){const r=a-t,n=s-e,l=i+o;return l*l>r*r+n*n}_circleAndRectCollide(t,e,i,a,s,o,r){const n=(o-a)/2,l=Math.abs(t-(a+n));if(l>n+i)return !1;const h=(r-s)/2,c=Math.abs(e-(s+h));if(c>h+i)return !1;if(l<=n||c<=h)return !0;const u=l-n,d=c-h;return u*u+d*d<=i*i}}function gt(t,i,a,s,o){const r=e.H();return i?(e.K(r,r,[1/o,1/o,1]),a||e.ae(r,r,s.angle)):e.L(r,s.labelPlaneMatrix,t),r}function vt(t,i,a,s,o){if(i){const i=e.af(t);return e.K(i,i,[o,o,1]),a||e.ae(i,i,-s.angle),i}return s.glCoordMatrix}function xt(t,i,a){let s;a?(s=[t.x,t.y,a(t.x,t.y),1],e.ag(s,s,i)):(s=[t.x,t.y,0,1],function(t,e,i){const a=e[0],s=e[1];t[0]=i[0]*a+i[4]*s+i[12],t[1]=i[1]*a+i[5]*s+i[13],t[3]=i[3]*a+i[7]*s+i[15];}(s,s,i));const o=s[3];return {point:new e.P(s[0]/o,s[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function yt(t,e){return .5+t/e*.5}function bt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function wt(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m){const f=s?t.textSizeData:t.iconSizeData,g=e.ah(f,a.transform.zoom),v=[256/a.width*2+1,256/a.height*2+1],x=s?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const y=t.lineVertexArray,b=s?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=a.transform.width/a.transform.height;let T=!1;for(let s=0;sMath.abs(a.x-i.x)*s?{useVertical:!0}:(t===e.ai.vertical?i.ya.x)?{needsFlipping:!0}:null}function Et(t,i,a,s,o,r,n,l,h,c,u){const d=a/24,_=i.lineOffsetX*d,p=i.lineOffsetY*d;let m;if(i.numGlyphs>1){const e=i.glyphStartIndex+i.numGlyphs,a=i.lineStartIndex,r=i.lineStartIndex+i.lineLength,h=Tt(d,l,_,p,s,i,u,t);if(!h)return {notEnoughRoom:!0};const f=xt(h.first.point,n,t.getElevation).point,g=xt(h.last.point,n,t.getElevation).point;if(o&&!s){const t=It(i.writingMode,f,g,c);if(t)return t}m=[h.first];for(let o=i.glyphStartIndex+1;o0?n.point:function(t,e,i,a,s,o){return Pt(t,e,i,1,s,o)}(t.tileAnchorPoint,o,a,0,r,t),h=It(i.writingMode,a,l,c);if(h)return h}const a=Mt(d*l.getoffsetX(i.glyphStartIndex),_,p,s,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,t,u);if(!a||t.projectionCache.anyProjectionOccluded)return {notEnoughRoom:!0};m=[a];}for(const t of m)e.ak(h,t.point,t.angle);return {}}function Pt(t,e,i,a,s,o){const r=t.add(t.sub(e)._unit()),n=void 0!==s?xt(r,s,o.getElevation).point:St(r.x,r.y,o).point,l=i.sub(n);return i.add(l._mult(a/l.mag()))}function Ct(t,i,a){const s=i.projectionCache;if(s.projections[t])return s.projections[t];const o=new e.P(i.lineVertexArray.getx(t),i.lineVertexArray.gety(t)),r=St(o.x,o.y,i);if(r.signedDistanceFromCamera>0)return s.projections[t]=r.point,s.anyProjectionOccluded=s.anyProjectionOccluded||r.isOccluded,r.point;const n=t-a.direction;return function(t,e,i,a,s){return Pt(t,e,i,a,void 0,s)}(0===a.distanceFromAnchor?i.tileAnchorPoint:new e.P(i.lineVertexArray.getx(n),i.lineVertexArray.gety(n)),o,a.previousVertex,a.absOffsetX-a.distanceFromAnchor+1,i)}function St(t,i,a){const s=t+a.translation[0],o=i+a.translation[1];let r;return !a.pitchWithMap&&a.projection.useSpecialProjectionForSymbols?(r=a.projection.projectTileCoordinates(s,o,a.unwrappedTileID,a.getElevation),r.point.x=(.5*r.point.x+.5)*a.width,r.point.y=(.5*-r.point.y+.5)*a.height):(r=xt(new e.P(s,o),a.labelPlaneMatrix,a.getElevation),r.isOccluded=!1),r}function zt(t,e,i){return t._unit()._perp()._mult(e*i)}function Dt(t,i,a,s,o,r,n,l,h){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const c=a.add(i);if(t+h.direction=o)return l.projectionCache.offsets[t]=c,c;const u=Ct(t+h.direction,l,h),d=zt(u.sub(a),n,h.direction),_=a.add(d),p=u.add(d);return l.projectionCache.offsets[t]=e.al(r,c,_,p)||c,l.projectionCache.offsets[t]}function Mt(t,e,i,a,s,o,r,n,l){const h=a?t-e:t+e;let c=h>0?1:-1,u=0;a&&(c*=-1,u=Math.PI),c<0&&(u+=Math.PI);let d,_=c>0?o+s:o+s+1;n.projectionCache.cachedAnchorPoint?d=n.projectionCache.cachedAnchorPoint:(d=St(n.tileAnchorPoint.x,n.tileAnchorPoint.y,n).point,n.projectionCache.cachedAnchorPoint=d);let p,m,f=d,g=d,v=0,x=0;const y=Math.abs(h),b=[];let w;for(;v+x<=y;){if(_+=c,_=r)return null;v+=x,g=f,m=p;const t={absOffsetX:y,direction:c,distanceFromAnchor:v,previousVertex:g};if(f=Ct(_,n,t),0===i)b.push(g),w=f.sub(g);else {let e;const a=f.sub(g);e=0===a.mag()?zt(Ct(_+c,n,t).sub(f),i,c):zt(a,i,c),m||(m=g.add(e)),p=Dt(_,e,f,o,r,m,i,n,t),b.push(m),w=p.sub(m);}x=w.mag();}const T=w._mult((y-v)/x)._add(m||g),I=u+Math.atan2(f.y-g.y,f.x-g.x);return b.push(T),{point:T,angle:l?I:0,path:b}}const At=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Rt(t,e){for(let i=0;i=1;t--)l.push(r.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point));}let m=[];if(l.length>0){const t=l[0].clone(),i=l[0].clone();for(let e=1;e=a.x&&i.x<=s.x&&t.y>=a.y&&i.y<=s.y?[l]:i.xs.x||i.ys.y?[]:e.am([l],a.x,a.y,s.x,s.y);}for(const e of m){o.reset(e,.25*i);let a=0;a=o.length<=.5*i?1:Math.ceil(o.paddedLength/u)+1;for(let e=0;ext(t,i,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return {};const i=[];let a=1/0,s=1/0,o=-1/0,r=-1/0;for(const n of t){const t=new e.P(n.x+kt,n.y+kt);a=Math.min(a,t.x),s=Math.min(s,t.y),o=Math.max(o,t.x),r=Math.max(r,t.y),i.push(t);}const n=this.grid.query(a,s,o,r).concat(this.ignoredGrid.query(a,s,o,r)),l={},h={};for(const t of n){const a=t.key;if(void 0===l[a.bucketInstanceId]&&(l[a.bucketInstanceId]={}),l[a.bucketInstanceId][a.featureIndex])continue;const s=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.an(i,s)&&(l[a.bucketInstanceId][a.featureIndex]=!0,void 0===h[a.bucketInstanceId]&&(h[a.bucketInstanceId]=[]),h[a.bucketInstanceId].push(a.featureIndex));}return h}insertCollisionBox(t,e,i,a,s,o){(i?this.ignoredGrid:this.grid).insert({bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e},t[0],t[1],t[2],t[3]);}insertCollisionCircles(t,e,i,a,s,o){const r=i?this.ignoredGrid:this.grid,n={bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e};for(let e=0;e=this.screenRightBoundary||athis.screenBottomBoundary}isInsideGrid(t,e,i,a){return i>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(a,t.x,t.y,s,h)));E=t.some((t=>!t.isOccluded)),I=t.map((t=>t.point));}else E=!0;return {box:e.ap(I),allPointsOccluded:!E}}}function Ft(t,i,a){return i*(e.X/(t.tileSize*Math.pow(2,a-t.tileID.overscaledZ)))}class Bt{constructor(t,e,i,a){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):a&&i?1:0,this.placed=i;}isHidden(){return 0===this.opacity&&!this.placed}}class Ot{constructor(t,e,i,a,s){this.text=new Bt(t?t.text:null,e,i,s),this.icon=new Bt(t?t.icon:null,e,a,s);}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Nt{constructor(t,e,i){this.text=t,this.icon=e,this.skipFade=i;}}class jt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[];}}class Ut{constructor(t,e,i,a,s){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=a,this.tileID=s;}}class Zt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};}get(t){if(this.crossSourceCollisions)return {ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e};}return this.collisionGroups[t]}}function qt(t,i,a,s,o){const{horizontalAlign:r,verticalAlign:n}=e.av(t);return new e.P(-(r-.5)*i+s[0]*o,-(n-.5)*a+s[1]*o)}class Vt{constructor(t,e,i,a,s,o){this.transform=t.clone(),this.terrain=i,this.collisionIndex=new Lt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=a,this.retainedQueryData={},this.collisionGroups=new Zt(s),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};}_getTerrainElevationFunc(t){const e=this.terrain;return e?(i,a)=>e.getElevation(t,i,a):null}getBucketParts(t,i,a,s){const o=a.getBucket(i),r=a.latestFeatureIndex;if(!o||!r||i.id!==o.layerIds[0])return;const n=a.collisionBoxArray,l=o.layers[0].layout,h=o.layers[0].paint,c=Math.pow(2,this.transform.zoom-a.tileID.overscaledZ),u=a.tileSize/e.X,d=a.tileID.toUnwrapped(),_=this.transform.calculatePosMatrix(d),p=\"map\"===l.get(\"text-pitch-alignment\"),m=\"map\"===l.get(\"text-rotation-alignment\"),f=Ft(a,1,this.transform.zoom),g=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"text-translate\"),h.get(\"text-translate-anchor\")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"icon-translate\"),h.get(\"icon-translate-anchor\")),x=gt(_,p,m,this.transform,f);let y=null;if(p){const t=vt(_,p,m,this.transform,f);y=e.L([],this.transform.labelPlaneMatrix,t);}this.retainedQueryData[o.bucketInstanceId]=new Ut(o.bucketInstanceId,r,o.sourceLayerIndex,o.index,a.tileID);const b={bucket:o,layout:l,translationText:g,translationIcon:v,posMatrix:_,unwrappedTileID:d,textLabelPlaneMatrix:x,labelToScreenMatrix:y,scale:c,textPixelRatio:u,holdingForFade:a.holdingForFade(),collisionBoxArray:n,partiallyEvaluatedTextSize:e.ah(o.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(s)for(const e of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s}=e;t.push({sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s,parameters:b});}else t.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:b});}attemptAnchorPlacement(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g,v,x){const y=e.ar[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=qt(y,a,s,b,o),T=this.collisionIndex.placeCollisionBox(i,d,l,h,c,n,r,f,u.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,d,l,h,c,n,r,g,u.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID].text&&(t=this.prevPlacement.variableOffsets[_.crossTileID].anchor),0===_.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[_.crossTileID]={textOffset:b,width:a,height:s,anchor:y,textBoxScale:o,prevAnchor:t},this.markUsedJustification(p,y,_,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,_),this.placedOrientations[_.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,a){const{bucket:s,layout:o,translationText:r,translationIcon:n,posMatrix:l,unwrappedTileID:h,textLabelPlaneMatrix:c,labelToScreenMatrix:u,textPixelRatio:d,holdingForFade:_,collisionBoxArray:p,partiallyEvaluatedTextSize:m,collisionGroup:f}=t.parameters,g=o.get(\"text-optional\"),v=o.get(\"icon-optional\"),x=e.as(o,\"text-overlap\",\"text-allow-overlap\"),y=\"always\"===x,b=e.as(o,\"icon-overlap\",\"icon-allow-overlap\"),w=\"always\"===b,T=\"map\"===o.get(\"text-rotation-alignment\"),I=\"map\"===o.get(\"text-pitch-alignment\"),E=\"none\"!==o.get(\"icon-text-fit\"),P=\"viewport-y\"===o.get(\"symbol-z-order\"),C=y&&(w||!s.hasIconData()||v),S=w&&(y||!s.hasTextData()||g);!s.collisionArrays&&p&&s.deserializeCollisionBoxes(p);const z=this._getTerrainElevationFunc(this.retainedQueryData[s.bucketInstanceId].tileID),D=(t,p,w)=>{var P,D;if(i[t.crossTileID])return;if(_)return void(this.placements[t.crossTileID]=new Nt(!1,!1,!1));let M=!1,A=!1,R=!0,k=null,L={box:null,placeable:!1,offscreen:null},F={box:null,placeable:!1,offscreen:null},B=null,O=null,N=null,j=0,U=0,Z=0;p.textFeatureIndex?j=p.textFeatureIndex:t.useRuntimeCollisionCircles&&(j=t.featureIndex),p.verticalTextFeatureIndex&&(U=p.verticalTextFeatureIndex);const q=p.textBox;if(q){const i=i=>{let a=e.ai.horizontal;if(s.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,a=e,this.markUsedOrientation(s,a,t));}return a},o=(i,a)=>{if(s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&p.verticalTextBox){for(const t of s.writingModes)if(t===e.ai.vertical?(L=a(),F=L):L=i(),L&&L.placeable)break}else L=i();},c=t.textAnchorOffsetStartIndex,u=t.textAnchorOffsetEndIndex;if(u===c){const a=(e,i)=>{const a=this.collisionIndex.placeCollisionBox(e,x,d,l,h,I,T,r,f.predicate,z);return a&&a.placeable&&(this.markUsedOrientation(s,i,t),this.placedOrientations[t.crossTileID]=i),a};o((()=>a(q,e.ai.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&i?a(i,e.ai.vertical):{box:null,offscreen:null}})),i(L&&L.placeable);}else {let _=e.ar[null===(D=null===(P=this.prevPlacement)||void 0===P?void 0:P.variableOffsets[t.crossTileID])||void 0===D?void 0:D.anchor];const m=(i,o,p)=>{const m=i.x2-i.x1,g=i.y2-i.y1,v=t.textBoxScale,y=E&&\"never\"===b?o:null;let w=null,P=\"never\"===x?1:2,C=\"never\";_&&P++;for(let e=0;em(q,p.iconBox,e.ai.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&(!L||!L.placeable)&&t.numVerticalGlyphVertices>0&&i?m(i,p.verticalIconBox,e.ai.vertical):{box:null,occluded:!0,offscreen:null}})),L&&(M=L.placeable,R=L.offscreen);const g=i(L&&L.placeable);if(!M&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(s,e.anchor,t,g));}}}if(B=L,M=B&&B.placeable,R=B&&B.offscreen,t.useRuntimeCollisionCircles){const i=s.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),n=e.aj(s.textSizeData,m,i),d=o.get(\"text-padding\");O=this.collisionIndex.placeCollisionCircles(x,i,s.lineVertexArray,s.glyphOffsetArray,n,l,h,c,u,a,I,f.predicate,t.collisionCircleDiameter,d,r,z),O.circles.length&&O.collisionDetected&&!a&&e.w(\"Collisions detected, but collision boxes are not shown\"),M=y||O.circles.length>0&&!O.collisionDetected,R=R&&O.offscreen;}if(p.iconFeatureIndex&&(Z=p.iconFeatureIndex),p.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,d,l,h,I,T,n,f.predicate,z,E&&k?k:void 0);F&&F.placeable&&p.verticalIconBox?(N=t(p.verticalIconBox),A=N.placeable):(N=t(p.iconBox),A=N.placeable),R=R&&N.offscreen;}const V=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,G=v||0===t.numIconVertices;V||G?G?V||(A=A&&M):M=A&&M:A=M=A&&M;const W=A&&N.placeable;if(M&&B.placeable&&this.collisionIndex.insertCollisionBox(B.box,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,F&&F.placeable&&U?U:j,f.ID),W&&this.collisionIndex.insertCollisionBox(N.box,b,o.get(\"icon-ignore-placement\"),s.bucketInstanceId,Z,f.ID),O&&M&&this.collisionIndex.insertCollisionCircles(O.circles,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,j,f.ID),a&&this.storeCollisionData(s.bucketInstanceId,w,p,B,N,O),0===t.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(0===s.bucketInstanceId)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[t.crossTileID]=new Nt(M||C,A||S,R||s.justReloaded),i[t.crossTileID]=!0;};if(P){if(0!==t.symbolInstanceStart)throw new Error(\"bucket.bucketInstanceId should be 0\");const e=s.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const i=e[t];D(s.symbolInstances.get(i),s.collisionArrays[i],i);}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:a.crossTileID);}markUsedOrientation(t,i,a){const s=i===e.ai.horizontal||i===e.ai.horizontalOnly?i:0,o=i===e.ai.vertical?i:0,r=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex];for(const e of r)t.text.placedSymbolArray.get(e).placedOrientation=s;a.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).placedOrientation=o);}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 a=e?e.symbolFadeChange(t):1,s=e?e.opacities:{},o=e?e.variableOffsets:{},r=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],o=s[t];o?(this.opacities[t]=new Ot(o,a,e.text,e.icon),i=i||e.text!==o.text.placed||e.icon!==o.icon.placed):(this.opacities[t]=new Ot(null,a,e.text,e.icon,e.skipFade),i=i||e.text||e.icon);}for(const t in s){const e=s[t];if(!this.opacities[t]){const s=new Ot(e,a,!1,!1);s.isHidden()||(this.opacities[t]=s,i=i||e.text.placed||e.icon.placed);}}for(const t in o)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=o[t]);for(const t in r)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=r[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error(\"Last placement time for previous placement is not defined\");i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);}updateLayerOpacities(t,e){const i={};for(const a of e){const e=a.getBucket(t);e&&a.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,a.tileID,i,a.collisionBoxArray);}}updateBucketOpacities(t,i,a,s){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const o=t.layers[0],r=o.layout,n=new Ot(null,0,!1,!1,!0),l=r.get(\"text-allow-overlap\"),h=r.get(\"icon-allow-overlap\"),c=o._unevaluatedLayout.hasValue(\"text-variable-anchor\")||o._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),u=\"map\"===r.get(\"text-rotation-alignment\"),d=\"map\"===r.get(\"text-pitch-alignment\"),_=\"none\"!==r.get(\"icon-text-fit\"),p=new Ot(null,0,l&&(h||!t.hasIconData()||r.get(\"icon-optional\")),h&&(l||!t.hasTextData()||r.get(\"text-optional\")),!0);!t.collisionArrays&&s&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(s);const m=(t,e,i)=>{for(let a=0;a0,v=this.placedOrientations[s.crossTileID],x=v===e.ai.vertical,y=v===e.ai.horizontal||v===e.ai.horizontalOnly;if(o>0||r>0){const e=Qt(h.text);m(t.text,o,x?te:e),m(t.text,r,y?te:e);const i=h.text.isHidden();[s.rightJustifiedTextSymbolIndex,s.centerJustifiedTextSymbolIndex,s.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=i||x?1:0);})),s.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(s.verticalPlacedTextSymbolIndex).hidden=i||y?1:0);const a=this.variableOffsets[s.crossTileID];a&&this.markUsedJustification(t,a.anchor,s,v);const n=this.placedOrientations[s.crossTileID];n&&(this.markUsedJustification(t,\"left\",s,n),this.markUsedOrientation(t,n,s));}if(g){const e=Qt(h.icon),i=!(_&&s.verticalPlacedIconSymbolIndex&&x);s.placedIconSymbolIndex>=0&&(m(t.icon,s.numIconVertices,i?e:te),t.icon.placedSymbolArray.get(s.placedIconSymbolIndex).hidden=h.icon.isHidden()),s.verticalPlacedIconSymbolIndex>=0&&(m(t.icon,s.numVerticalIconVertices,i?te:e),t.icon.placedSymbolArray.get(s.verticalPlacedIconSymbolIndex).hidden=h.icon.isHidden());}const b=f&&f.has(i)?f.get(i):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const a=t.collisionArrays[i];if(a){let i=new e.P(0,0);if(a.textBox||a.verticalTextBox){let e=!0;if(c){const t=this.variableOffsets[l];t?(i=qt(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),u&&i._rotate(d?this.transform.angle:-this.transform.angle)):e=!1;}if(a.textBox||a.verticalTextBox){let s;a.textBox&&(s=x),a.verticalTextBox&&(s=y),Gt(t.textCollisionBox.collisionVertexArray,h.text.placed,!e||s,b.text,i.x,i.y);}}if(a.iconBox||a.verticalIconBox){const e=Boolean(!y&&a.verticalIconBox);let s;a.iconBox&&(s=e),a.verticalIconBox&&(s=!e),Gt(t.iconCollisionBox.collisionVertexArray,h.icon.placed,s,b.icon,_?i.x:0,_?i.y:0);}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.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 Gt(t,e,i,a,s,o){a&&0!==a.length||(a=[0,0,0,0]);const r=a[0]-kt,n=a[1]-kt,l=a[2]-kt,h=a[3]-kt;t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,h),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,h);}const Wt=Math.pow(2,25),$t=Math.pow(2,24),Xt=Math.pow(2,17),Ht=Math.pow(2,16),Kt=Math.pow(2,9),Jt=Math.pow(2,8),Yt=Math.pow(2,1);function Qt(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*Wt+e*$t+i*Xt+e*Ht+i*Kt+e*Jt+i*Yt+e}const te=0;function ee(){return {isOccluded:(t,e,i)=>!1,getPitchedTextCorrection:(t,e,i)=>1,get useSpecialProjectionForSymbols(){return !1},projectTileCoordinates(t,e,i,a){throw new Error(\"Not implemented.\")},translatePosition:(t,e,i,a)=>function(t,e,i,a,s=!1){if(!i[0]&&!i[1])return [0,0];const o=s?\"map\"===a?t.angle:0:\"viewport\"===a?-t.angle:0;if(o){const t=Math.sin(o),e=Math.cos(o);i=[i[0]*e-i[1]*t,i[0]*t+i[1]*e];}return [s?i[0]:Ft(e,i[0],t.zoom),s?i[1]:Ft(e,i[1],t.zoom)]}(t,e,i,a),getCircleRadiusCorrection:t=>1}}class ie{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,a,s){const o=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&o.now()-a>2;for(;this._currentPlacementIndex>=0;){const a=e[t[this._currentPlacementIndex]],o=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===a.type&&(!a.minzoom||a.minzoom<=o)&&(!a.maxzoom||a.maxzoom>o)){if(this._inProgressLayer||(this._inProgressLayer=new ie(a)),this._inProgressLayer.continuePlacement(i[a.source],this.placement,this._showCollisionBoxes,a,s))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(t){return this.placement.commit(t),this.placement}}const se=512/e.X/2;class oe{constructor(t,i,a){this.tileID=t,this.bucketInstanceId=a,this._symbolsByKey={};const s=new Map;for(let t=0;t({x:Math.floor(t.anchorX*se),y:Math.floor(t.anchorY*se)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(a.positions.length>128){const t=new e.aw(a.positions.length,16,Uint16Array);for(const{x:e,y:i}of a.positions)t.add(e,i);t.finish(),delete a.positions,a.index=t;}this._symbolsByKey[t]=a;}}getScaledCoordinates(t,i){const{x:a,y:s,z:o}=this.tileID.canonical,{x:r,y:n,z:l}=i.canonical,h=se/Math.pow(2,l-o),c=(n*e.X+t.anchorY)*h,u=s*e.X*se;return {x:Math.floor((r*e.X+t.anchorX)*h-a*e.X*se),y:Math.floor(c-u)}}findMatches(t,e,i){const a=this.tileID.canonical.zt))}}class re{constructor(){this.maxCrossTileID=0;}generate(){return ++this.maxCrossTileID}}class ne{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const i=this.indexes[t],a={};for(const t in i){const s=i[t];s.tileID=s.tileID.unwrapTo(s.tileID.wrap+e),a[s.tileID.key]=s;}this.indexes[t]=a;}this.lng=t;}addBucket(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return !1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(let t=0;tt.overscaledZ)for(const i in s){const o=s[i];o.tileID.isChildOf(t)&&o.findMatches(e.symbolInstances,t,a);}else {const o=s[t.scaledTo(Number(i)).key];o&&o.findMatches(e.symbolInstances,t,a);}}for(let t=0;t{e[t]=!0;}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t];}}const he=(t,i)=>e.t(t,i&&i.filter((t=>\"source.canvas\"!==t.identifier))),ce=e.ax();class ue extends e.E{constructor(t,i={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;\"vector\"!==e&&\"geojson\"!==e||this.sourceCaches[t].reload();}},this.map=t,this.dispatcher=new j(N(),t._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler(\"GI\",((t,e)=>this.getImages(t,e))),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new C(t._requestManager,i.localIdeographFontFamily),this.lineAtlas=new R(256,512),this.crossTileSymbolIndex=new le,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",e.az()),nt().on(st,this._rtlPluginLoaded),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(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),i.validate=\"boolean\"!=typeof i.validate||i.validate;const s=this.map._requestManager.transformRequest(t,\"Style\");this._loadStyleRequest=new AbortController,e.h(s,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,i,a);})).catch((t=>{this._loadStyleRequest=null,t&&this.fire(new e.j(t));}));}loadJSON(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,i.validate=!1!==i.validate,this._load(t,i,a);})).catch((()=>{}));}loadEmpty(){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._load(ce,{validate:!1});}_load(t,i,a){var s;const o=i.transformStyle?i.transformStyle(a,t):t;if(!i.validate||!he(this,e.x(o))){this._loaded=!0,this.stylesheet=o;for(const t in o.sources)this.addSource(t,o.sources[t],{validate:!1});o.sprite?this._loadSprite(o.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(o.glyphs),this._createLayers(),this.light=new D(this.stylesheet.light),this.sky=new A(this.stylesheet.sky),this.map.setTerrain(null!==(s=this.stylesheet.terrain)&&void 0!==s?s:null),this.fire(new e.k(\"data\",{dataType:\"style\"})),this.fire(new e.k(\"style.load\"));}}_createLayers(){const t=e.aA(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of t){const t=e.aB(i);t.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=t;}}_loadSprite(t,i=!1,a=void 0){let s;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const r=x(t),n=a>1?\"@2x\":\"\",l={},h={};for(const{id:t,url:a}of r){const o=i.transformRequest(y(a,n,\".json\"),\"SpriteJSON\");l[t]=e.h(o,s);const r=i.transformRequest(y(a,n,\".png\"),\"SpriteImage\");h[t]=_.getImage(r,s);}return yield Promise.all([...Object.values(l),...Object.values(h)]),function(t,i){return e._(this,void 0,void 0,(function*(){const e={};for(const a in t){e[a]={};const s=o.getImageCanvasContext((yield i[a]).data),r=(yield t[a]).data;for(const t in r){const{width:i,height:o,x:n,y:l,sdf:h,pixelRatio:c,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m}=r[t];e[a][t]={data:null,pixelRatio:c,sdf:h,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m,spriteData:{width:i,height:o,x:n,y:l,context:s}};}}return e}))}(l,h)}))}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const a=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of a)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const a in t[e]){const s=\"default\"===e?a:`${e}:${a}`;this._spritesImagesIds[e].push(s),s in this.imageManager.images?this.imageManager.updateImage(s,t[e][a],!1):this.imageManager.addImage(s,t[e][a]),i&&(this._changedImages[s]=!0);}}})).catch((t=>{this._spriteRequest=null,s=t,this.fire(new e.j(s));})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"})),a&&a(s);}));}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}_validateLayer(t){const i=this.sourceCaches[t.source];if(!i)return;const a=t.sourceLayer;if(!a)return;const s=i.getSource();(\"geojson\"===s.type||s.vectorLayerIds&&-1===s.vectorLayerIds.indexOf(a))&&this.fire(new e.j(new Error(`Source layer \"${a}\" does not exist on source \"${s.id}\" as specified by style layer \"${t.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()}_serializeByIds(t){const e=this._serializedAllLayers();if(!t||0===t.length)return Object.values(e);const i=[];for(const a of t)e[a]&&i.push(e[a]);return i}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const i of e){const e=this._layers[i];\"custom\"!==e.type&&(t[i]=e.serialize());}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;if(this.sky&&this.sky.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(t){if(!this._loaded)return;const i=this._changed;if(i){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const t in this._updatedSources){const e=this._updatedSources[t];if(\"reload\"===e)this._reloadSource(t);else {if(\"clear\"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t);}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates();}const a={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];a[t]=e.used,e.used=!1;}for(const e of this._order){const i=this._layers[e];i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);}for(const t in a){const i=this.sourceCaches[t];!!a[t]!=!!i.used&&i.fire(new e.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:t}));}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,i&&this.fire(new e.k(\"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={};}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1;}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(t),removedIds:e});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1;}setState(t,i={}){var a;this._checkLoaded();const s=this.serialize();if(t=i.transformStyle?i.transformStyle(s,t):t,(null===(a=i.validate)||void 0===a||a)&&he(this,e.x(t)))return !1;(t=e.aC(t)).layers=e.aA(t.layers);const o=e.aD(s,t),r=this._getOperationsToPerform(o);if(r.unimplemented.length>0)throw new Error(`Unimplemented: ${r.unimplemented.join(\", \")}.`);if(0===r.operations.length)return !1;for(const t of r.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],i=[];for(const a of t)switch(a.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":e.push((()=>this.addLayer.apply(this,a.args)));break;case\"removeLayer\":e.push((()=>this.removeLayer.apply(this,a.args)));break;case\"setPaintProperty\":e.push((()=>this.setPaintProperty.apply(this,a.args)));break;case\"setLayoutProperty\":e.push((()=>this.setLayoutProperty.apply(this,a.args)));break;case\"setFilter\":e.push((()=>this.setFilter.apply(this,a.args)));break;case\"addSource\":e.push((()=>this.addSource.apply(this,a.args)));break;case\"removeSource\":e.push((()=>this.removeSource.apply(this,a.args)));break;case\"setLayerZoomRange\":e.push((()=>this.setLayerZoomRange.apply(this,a.args)));break;case\"setLight\":e.push((()=>this.setLight.apply(this,a.args)));break;case\"setGeoJSONSourceData\":e.push((()=>this.setGeoJSONSourceData.apply(this,a.args)));break;case\"setGlyphs\":e.push((()=>this.setGlyphs.apply(this,a.args)));break;case\"setSprite\":e.push((()=>this.setSprite.apply(this,a.args)));break;case\"setSky\":e.push((()=>this.setSky.apply(this,a.args)));break;case\"setTerrain\":e.push((()=>this.map.setTerrain.apply(this,a.args)));break;case\"setTransition\":e.push((()=>{}));break;default:i.push(a.command);}return {operations:e,unimplemented:i}}addImage(t,i){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" already exists.`)));this.imageManager.addImage(t,i),this._afterImageUpdated(t);}updateImage(t,e){this.imageManager.updateImage(t,e);}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t);}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,i,a={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source \"${t}\" 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(e.x.source,`sources.${t}`,i,null,a))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const s=this.sourceCaches[t]=new ut(t,i,this.dispatcher);s.style=this,s.setEventedParent(this,(()=>({isSourceLoaded:s.loaded(),source:s.serialize(),sourceId:t}))),s.onAdd(this.map),this._changed=!0;}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.j(new Error(`Source \"${t}\" cannot be removed while layer \"${i}\" is using it.`)));const i=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],i.fire(new e.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0;}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if(\"geojson\"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0;}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,i,a={}){this._checkLoaded();const s=t.id;if(this.getLayer(s))return void this.fire(new e.j(new Error(`Layer \"${s}\" already exists on this map.`)));let o;if(\"custom\"===t.type){if(he(this,e.aE(t)))return;o=e.aB(t);}else {if(\"source\"in t&&\"object\"==typeof t.source&&(this.addSource(s,t.source),t=e.aC(t),t=e.e(t,{source:s})),this._validate(e.x.layer,`layers.${s}`,t,{arrayIndex:-1},a))return;o=e.aB(t),this._validateLayer(o),o.setEventedParent(this,{layer:{id:s}});}const r=i?this._order.indexOf(i):this._order.length;if(i&&-1===r)this.fire(new e.j(new Error(`Cannot add layer \"${s}\" before non-existing layer \"${i}\".`)));else {if(this._order.splice(r,0,s),this._layerOrderChanged=!0,this._layers[s]=o,this._removedLayers[s]&&o.source&&\"custom\"!==o.type){const t=this._removedLayers[s];delete this._removedLayers[s],t.type!==o.type?this._updatedSources[o.source]=\"clear\":(this._updatedSources[o.source]=\"reload\",this.sourceCaches[o.source].pause());}this._updateLayer(o),o.onAdd&&o.onAdd(this.map);}}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const a=this._order.indexOf(t);this._order.splice(a,1);const s=i?this._order.indexOf(i):this._order.length;i&&-1===s?this.fire(new e.j(new Error(`Cannot move layer \"${t}\" before non-existing layer \"${i}\".`))):(this._order.splice(s,0,t),this._layerOrderChanged=!0);}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer \"${t}\".`)));i.setEventedParent(null);const a=this._order.indexOf(t);this._order.splice(a,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map);}getLayer(t){return this._layers[t]}getLayersOrder(){return [...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,i,a){this._checkLoaded();const s=this.getLayer(t);s?s.minzoom===i&&s.maxzoom===a||(null!=i&&(s.minzoom=i),null!=a&&(s.maxzoom=a),this._updateLayer(s)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer \"${t}\".`)));}setFilter(t,i,a={}){this._checkLoaded();const s=this.getLayer(t);if(s){if(!e.aF(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(e.x.filter,`layers.${s.id}.filter`,i,null,a)||(s.filter=e.aC(i),this._updateLayer(s)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer \"${t}\".`)));}getFilter(t){return e.aC(this.getLayer(t).filter)}setLayoutProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aF(o.getLayoutProperty(i),a)||(o.setLayoutProperty(i,a,s),this._updateLayer(o)):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getLayoutProperty(t,i){const a=this.getLayer(t);if(a)return a.getLayoutProperty(i);this.fire(new e.j(new Error(`Cannot get style of non-existing layer \"${t}\".`)));}setPaintProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aF(o.getPaintProperty(i),a)||(o.setPaintProperty(i,a,s)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,i){this._checkLoaded();const a=t.source,s=t.sourceLayer,o=this.sourceCaches[a];if(void 0===o)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const r=o.getSource().type;\"geojson\"===r&&s?this.fire(new e.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==r||s?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),o.setFeatureState(s,t.id,i)):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}removeFeatureState(t,i){this._checkLoaded();const a=t.source,s=this.sourceCaches[a];if(void 0===s)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const o=s.getSource().type,r=\"vector\"===o?t.sourceLayer:void 0;\"vector\"!==o||r?i&&\"string\"!=typeof t.id&&\"number\"!=typeof t.id?this.fire(new e.j(new Error(\"A feature id is required to remove its specific state property.\"))):s.removeFeatureState(r,t.id,i):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}getFeatureState(t){this._checkLoaded();const i=t.source,a=t.sourceLayer,s=this.sourceCaches[i];if(void 0!==s)return \"vector\"!==s.getSource().type||a?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),s.getFeatureState(a,t.id)):void this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new e.j(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aG(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order),a=this.map.getTerrain()||void 0,s=this.stylesheet;return e.aH({version:s.version,name:s.name,metadata:s.metadata,light:s.light,sky:s.sky,center:s.center,zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,sprite:s.sprite,glyphs:s.glyphs,transition:s.transition,sources:t,layers:i,terrain:a},(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._serializedLayers=null,this._changed=!0;}_flattenAndSortRenderedFeatures(t){const e=t=>\"fill-extrusion\"===this._layers[t].type,i={},a=[];for(let s=this._order.length-1;s>=0;s--){const o=this._order[s];if(e(o)){i[o]=s;for(const e of t){const t=e[o];if(t)for(const e of t)a.push(e);}}}a.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const s=[];for(let o=this._order.length-1;o>=0;o--){const r=this._order[o];if(e(r))for(let t=a.length-1;t>=0;t--){const e=a[t].feature;if(i[e.layer.id]{const a=i.featureSortOrder;if(a){const i=a.indexOf(t.featureIndex);return a.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of s)e.push(t);}}for(const e in n)n[e].forEach((a=>{const s=a.feature,o=i[t[e].source].getFeatureState(s.layer[\"source-layer\"],s.id);s.source=s.layer.source,s.layer[\"source-layer\"]&&(s.sourceLayer=s.layer[\"source-layer\"]),s.state=o;}));return n}(this._layers,r,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.x.filter,\"querySourceFeatures.filter\",i.filter,null,i);const a=this.sourceCaches[t];return a?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),a=[],s={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)));}const a=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng);r=r||a;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===i)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(o.now(),t.zoom))&&(this.pauseablePlacement=new ae(t,this.map.terrain,this._order,s,e,i,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(o.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(o.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();}getImages(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(i.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,i.icons),t}))}getGlyphs(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(i.stacks),e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,[\"\"]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,i={}){this._checkLoaded(),t&&this._validate(e.x.glyphs,\"glyphs\",t,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t));}addSprite(t,i,a={},s){this._checkLoaded();const o=[{id:t,url:i}],r=[...x(this.stylesheet.sprite),...o];this._validate(e.x.sprite,\"sprite\",r,null,a)||(this.stylesheet.sprite=r,this._loadSprite(o,!0,s));}removeSprite(t){this._checkLoaded();const i=x(this.stylesheet.sprite);if(i.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;i.splice(i.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}else this.fire(new e.j(new Error(`Sprite \"${t}\" doesn't exists on this map.`)));}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,i={},a){this._checkLoaded(),t&&this._validate(e.x.sprite,\"sprite\",t,null,i)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,a):(this._unloadSprite(),a&&a(null)));}}var de=e.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);const _e={prelude:pe(\"#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\\n\",\"#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_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_exaggeration;\\n#else\\nreturn 0.0;\\n#endif\\n}\"),background:pe(\"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:pe(\"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:pe(\"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:pe(\"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:pe(\"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:pe(\"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:pe(\"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_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:pe(\"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:pe(\"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:pe(\"#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:pe(\"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:pe(\"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:pe(\"#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:pe(\"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 height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;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:pe(\"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 height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;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:pe(\"#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:pe(\"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:pe(\"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:pe(\"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:pe(\"#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:pe(\"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:pe(\"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:pe(\"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}\",\"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;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\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;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;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:pe(\"#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 inner_edge=(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);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"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 bool u_is_along_line;uniform bool u_is_variable_anchor;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_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\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;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;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:pe(\"#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}\",\"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;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\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;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);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=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);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;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;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:pe(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:pe(\"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);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:pe(\"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);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:pe(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function pe(t,e){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,a=e.match(/attribute ([\\w]+) ([\\w]+)/g),s=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),r=o?o.concat(s):s,n={};return {fragmentSource:t=t.replace(i,((t,e,i,a,s)=>(n[s]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`))),vertexSource:e=e.replace(i,((t,e,i,a,s)=>{const o=\"float\"===a?\"vec2\":\"vec4\",r=s.match(/color/)?\"color\":o;return n[s]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`})),staticAttributes:a,staticUniforms:r}}class me{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,a,s,o,r,n,l){this.context=t;let h=this.boundPaintVertexBuffers.length!==a.length;for(let t=0;!h&&t({u_matrix:t,u_texture:0,u_ele_delta:i,u_fog_matrix:a,u_fog_color:s?s.properties.get(\"fog-color\"):e.aN.white,u_fog_ground_blend:s?s.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:s?s.calculateFogBlendOpacity(o):0,u_horizon_color:s?s.properties.get(\"horizon-color\"):e.aN.white,u_horizon_fog_blend:s?s.properties.get(\"horizon-fog-blend\"):1});function ge(t){const e=[];for(let i=0;i({u_depth:new e.aI(t,i.u_depth),u_terrain:new e.aI(t,i.u_terrain),u_terrain_dim:new e.aJ(t,i.u_terrain_dim),u_terrain_matrix:new e.aK(t,i.u_terrain_matrix),u_terrain_unpack:new e.aL(t,i.u_terrain_unpack),u_terrain_exaggeration:new e.aJ(t,i.u_terrain_exaggeration)}))(t,b),this.binderUniforms=a?a.getUniforms(t,b):[];}draw(t,e,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(a),t.setColorMode(s),t.setCullFace(o),n){t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,n.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.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]);p&&p.setUniforms(t,this.binderUniforms,d,{zoom:_});let x=0;switch(e){case v.LINES:x=2;break;case v.TRIANGLES:x=3;break;case v.LINE_STRIP:x=1;}for(const i of u.get()){const a=i.vaos||(i.vaos={});(a[l]||(a[l]=new me)).bind(t,this,h,p?p.getPaintVertexBuffers():[],c,i.vertexOffset,m,f,g),v.drawElements(e,i.primitiveLength*x,v.UNSIGNED_SHORT,i.primitiveOffset*x*2);}}}function xe(t,e,i){const a=1/Ft(i,1,e.transform.tileZoom),s=Math.pow(2,i.tileID.overscaledZ),o=i.tileSize*Math.pow(2,e.transform.tileZoom)/s,r=o*(i.tileID.canonical.x+i.tileID.wrap*s),n=o*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[a,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 ye=(t,i,a,s)=>{const o=i.style.light,r=o.properties.get(\"position\"),n=[r.x,r.y,r.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();\"viewport\"===o.properties.get(\"anchor\")&&function(t,e){var i=Math.sin(e),a=Math.cos(e);t[0]=a,t[1]=i,t[2]=0,t[3]=-i,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1;}(l,-i.transform.angle),function(t,e,i){var a=e[0],s=e[1],o=e[2];t[0]=a*i[0]+s*i[3]+o*i[6],t[1]=a*i[1]+s*i[4]+o*i[7],t[2]=a*i[2]+s*i[5]+o*i[8];}(n,n,l);const h=o.properties.get(\"color\");return {u_matrix:t,u_lightpos:n,u_lightintensity:o.properties.get(\"intensity\"),u_lightcolor:[h.r,h.g,h.b],u_vertical_gradient:+a,u_opacity:s}},be=(t,i,a,s,o,r,n)=>e.e(ye(t,i,a,s),xe(r,i,n),{u_height_factor:-Math.pow(2,o.overscaledZ)/n.tileSize/8}),we=t=>({u_matrix:t}),Te=(t,i,a,s)=>e.e(we(t),xe(a,i,s)),Ie=(t,e)=>({u_matrix:t,u_world:e}),Ee=(t,i,a,s,o)=>e.e(Te(t,i,a,s),{u_world:o}),Pe=(t,e,i,a)=>{const s=t.transform;let o,r;if(\"map\"===a.paint.get(\"circle-pitch-alignment\")){const t=Ft(i,1,s.zoom);o=!0,r=[t,t];}else o=!1,r=s.pixelsToGLUnits;return {u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===a.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,i,a.paint.get(\"circle-translate\"),a.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+o,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:r}},Ce=(t,e,i)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}),Se=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),ze=t=>({u_matrix:t}),De=(t,e,i,a)=>({u_matrix:t,u_extrude_scale:Ft(e,1,i),u_intensity:a});function Me(t,i){const a=Math.pow(2,i.canonical.z),s=i.canonical.y;return [new e.Z(0,s/a).toLngLat().lat,new e.Z(0,(s+1)/a).toLngLat().lat]}const Ae=(t,e,i,a)=>{const s=t.transform;return {u_matrix:Be(t,e,i,a),u_ratio:1/Ft(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Re=(t,i,a,s,o)=>e.e(Ae(t,i,a,o),{u_image:0,u_image_height:s}),ke=(t,e,i,a,s)=>{const o=t.transform,r=Fe(e,o);return {u_matrix:Be(t,e,i,s),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Ft(e,1,o.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[r,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},Le=(t,i,a,s,o,r)=>{const n=t.lineAtlas,l=Fe(i,t.transform),h=\"round\"===a.layout.get(\"line-cap\"),c=n.getDash(s.from,h),u=n.getDash(s.to,h),d=c.width*o.fromScale,_=u.width*o.toScale;return e.e(Ae(t,i,a,r),{u_patternscale_a:[l/d,-c.height/2],u_patternscale_b:[l/_,-u.height/2],u_sdfgamma:n.width/(256*Math.min(d,_)*t.pixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:o.t})};function Fe(t,e){return 1/Ft(t,1,e.tileZoom)}function Be(t,e,i,a){return t.translatePosMatrix(a?a.posMatrix:e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}const Oe=(t,e,i,a,s)=>{return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:a.mix,u_opacity:a.opacity*s.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:s.paint.get(\"raster-brightness-min\"),u_brightness_high:s.paint.get(\"raster-brightness-max\"),u_saturation_factor:(r=s.paint.get(\"raster-saturation\"),r>0?1-1/(1.001-r):-r),u_contrast_factor:(o=s.paint.get(\"raster-contrast\"),o>0?1/(1-o):1+o),u_spin_weights:Ne(s.paint.get(\"raster-hue-rotate\"))};var o,r;};function Ne(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 je=(t,e,i,a,s,o,r,n,l,h,c,u,d,_)=>{const p=r.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:p.width/p.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:n,u_label_plane_matrix:l,u_coord_matrix:h,u_is_text:+u,u_pitch_with_map:+a,u_is_along_line:s,u_is_variable_anchor:o,u_texsize:d,u_texture:0,u_translation:c,u_pitched_scale:_}},Ue=(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m)=>{const f=n.transform;return e.e(je(t,i,a,s,o,r,n,l,h,c,u,d,_,m),{u_gamma_scale:s?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:n.pixelRatio,u_is_halo:+p})},Ze=(t,i,a,s,o,r,n,l,h,c,u,d,_,p)=>e.e(Ue(t,i,a,s,o,r,n,l,h,c,u,!0,d,!0,p),{u_texsize_icon:_,u_texture_icon:1}),qe=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),Ve=(t,i,a,s,o,r)=>e.e(function(t,e,i,a){const s=i.imageManager.getPattern(t.from.toString()),o=i.imageManager.getPattern(t.to.toString()),{width:r,height:n}=i.imageManager.getPixelSize(),l=Math.pow(2,a.tileID.overscaledZ),h=a.tileSize*Math.pow(2,i.transform.tileZoom)/l,c=h*(a.tileID.canonical.x+a.tileID.wrap*l),u=h*a.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:s.tl,u_pattern_br_a:s.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[r,n],u_mix:e.t,u_pattern_size_a:s.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Ft(a,1,i.transform.tileZoom),u_pixel_coord_upper:[c>>16,u>>16],u_pixel_coord_lower:[65535&c,65535&u]}}(s,r,a,o),{u_matrix:t,u_opacity:i}),Ge={fillExtrusion:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_lightpos:new e.aO(t,i.u_lightpos),u_lightintensity:new e.aJ(t,i.u_lightintensity),u_lightcolor:new e.aO(t,i.u_lightcolor),u_vertical_gradient:new e.aJ(t,i.u_vertical_gradient),u_opacity:new e.aJ(t,i.u_opacity)}),fillExtrusionPattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_lightpos:new e.aO(t,i.u_lightpos),u_lightintensity:new e.aJ(t,i.u_lightintensity),u_lightcolor:new e.aO(t,i.u_lightcolor),u_vertical_gradient:new e.aJ(t,i.u_vertical_gradient),u_height_factor:new e.aJ(t,i.u_height_factor),u_image:new e.aI(t,i.u_image),u_texsize:new e.aP(t,i.u_texsize),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade),u_opacity:new e.aJ(t,i.u_opacity)}),fill:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix)}),fillPattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_image:new e.aI(t,i.u_image),u_texsize:new e.aP(t,i.u_texsize),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade)}),fillOutline:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_world:new e.aP(t,i.u_world)}),fillOutlinePattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_world:new e.aP(t,i.u_world),u_image:new e.aI(t,i.u_image),u_texsize:new e.aP(t,i.u_texsize),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade)}),circle:(t,i)=>({u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_scale_with_map:new e.aI(t,i.u_scale_with_map),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_extrude_scale:new e.aP(t,i.u_extrude_scale),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_matrix:new e.aK(t,i.u_matrix)}),collisionBox:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_pixel_extrude_scale:new e.aP(t,i.u_pixel_extrude_scale)}),collisionCircle:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_inv_matrix:new e.aK(t,i.u_inv_matrix),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_viewport_size:new e.aP(t,i.u_viewport_size)}),debug:(t,i)=>({u_color:new e.aM(t,i.u_color),u_matrix:new e.aK(t,i.u_matrix),u_overlay:new e.aI(t,i.u_overlay),u_overlay_scale:new e.aJ(t,i.u_overlay_scale)}),clippingMask:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix)}),heatmap:(t,i)=>({u_extrude_scale:new e.aJ(t,i.u_extrude_scale),u_intensity:new e.aJ(t,i.u_intensity),u_matrix:new e.aK(t,i.u_matrix)}),heatmapTexture:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_world:new e.aP(t,i.u_world),u_image:new e.aI(t,i.u_image),u_color_ramp:new e.aI(t,i.u_color_ramp),u_opacity:new e.aJ(t,i.u_opacity)}),hillshade:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_image:new e.aI(t,i.u_image),u_latrange:new e.aP(t,i.u_latrange),u_light:new e.aP(t,i.u_light),u_shadow:new e.aM(t,i.u_shadow),u_highlight:new e.aM(t,i.u_highlight),u_accent:new e.aM(t,i.u_accent)}),hillshadePrepare:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_image:new e.aI(t,i.u_image),u_dimension:new e.aP(t,i.u_dimension),u_zoom:new e.aJ(t,i.u_zoom),u_unpack:new e.aL(t,i.u_unpack)}),line:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels)}),lineGradient:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels),u_image:new e.aI(t,i.u_image),u_image_height:new e.aJ(t,i.u_image_height)}),linePattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_texsize:new e.aP(t,i.u_texsize),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_image:new e.aI(t,i.u_image),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels),u_scale:new e.aO(t,i.u_scale),u_fade:new e.aJ(t,i.u_fade)}),lineSDF:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ratio:new e.aJ(t,i.u_ratio),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,i.u_units_to_pixels),u_patternscale_a:new e.aP(t,i.u_patternscale_a),u_patternscale_b:new e.aP(t,i.u_patternscale_b),u_sdfgamma:new e.aJ(t,i.u_sdfgamma),u_image:new e.aI(t,i.u_image),u_tex_y_a:new e.aJ(t,i.u_tex_y_a),u_tex_y_b:new e.aJ(t,i.u_tex_y_b),u_mix:new e.aJ(t,i.u_mix)}),raster:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_tl_parent:new e.aP(t,i.u_tl_parent),u_scale_parent:new e.aJ(t,i.u_scale_parent),u_buffer_scale:new e.aJ(t,i.u_buffer_scale),u_fade_t:new e.aJ(t,i.u_fade_t),u_opacity:new e.aJ(t,i.u_opacity),u_image0:new e.aI(t,i.u_image0),u_image1:new e.aI(t,i.u_image1),u_brightness_low:new e.aJ(t,i.u_brightness_low),u_brightness_high:new e.aJ(t,i.u_brightness_high),u_saturation_factor:new e.aJ(t,i.u_saturation_factor),u_contrast_factor:new e.aJ(t,i.u_contrast_factor),u_spin_weights:new e.aO(t,i.u_spin_weights)}),symbolIcon:(t,i)=>({u_is_size_zoom_constant:new e.aI(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,i.u_is_size_feature_constant),u_size_t:new e.aJ(t,i.u_size_t),u_size:new e.aJ(t,i.u_size),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_pitch:new e.aJ(t,i.u_pitch),u_rotate_symbol:new e.aI(t,i.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,i.u_aspect_ratio),u_fade_change:new e.aJ(t,i.u_fade_change),u_matrix:new e.aK(t,i.u_matrix),u_label_plane_matrix:new e.aK(t,i.u_label_plane_matrix),u_coord_matrix:new e.aK(t,i.u_coord_matrix),u_is_text:new e.aI(t,i.u_is_text),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_is_along_line:new e.aI(t,i.u_is_along_line),u_is_variable_anchor:new e.aI(t,i.u_is_variable_anchor),u_texsize:new e.aP(t,i.u_texsize),u_texture:new e.aI(t,i.u_texture),u_translation:new e.aP(t,i.u_translation),u_pitched_scale:new e.aJ(t,i.u_pitched_scale)}),symbolSDF:(t,i)=>({u_is_size_zoom_constant:new e.aI(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,i.u_is_size_feature_constant),u_size_t:new e.aJ(t,i.u_size_t),u_size:new e.aJ(t,i.u_size),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_pitch:new e.aJ(t,i.u_pitch),u_rotate_symbol:new e.aI(t,i.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,i.u_aspect_ratio),u_fade_change:new e.aJ(t,i.u_fade_change),u_matrix:new e.aK(t,i.u_matrix),u_label_plane_matrix:new e.aK(t,i.u_label_plane_matrix),u_coord_matrix:new e.aK(t,i.u_coord_matrix),u_is_text:new e.aI(t,i.u_is_text),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_is_along_line:new e.aI(t,i.u_is_along_line),u_is_variable_anchor:new e.aI(t,i.u_is_variable_anchor),u_texsize:new e.aP(t,i.u_texsize),u_texture:new e.aI(t,i.u_texture),u_gamma_scale:new e.aJ(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_is_halo:new e.aI(t,i.u_is_halo),u_translation:new e.aP(t,i.u_translation),u_pitched_scale:new e.aJ(t,i.u_pitched_scale)}),symbolTextAndIcon:(t,i)=>({u_is_size_zoom_constant:new e.aI(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,i.u_is_size_feature_constant),u_size_t:new e.aJ(t,i.u_size_t),u_size:new e.aJ(t,i.u_size),u_camera_to_center_distance:new e.aJ(t,i.u_camera_to_center_distance),u_pitch:new e.aJ(t,i.u_pitch),u_rotate_symbol:new e.aI(t,i.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,i.u_aspect_ratio),u_fade_change:new e.aJ(t,i.u_fade_change),u_matrix:new e.aK(t,i.u_matrix),u_label_plane_matrix:new e.aK(t,i.u_label_plane_matrix),u_coord_matrix:new e.aK(t,i.u_coord_matrix),u_is_text:new e.aI(t,i.u_is_text),u_pitch_with_map:new e.aI(t,i.u_pitch_with_map),u_is_along_line:new e.aI(t,i.u_is_along_line),u_is_variable_anchor:new e.aI(t,i.u_is_variable_anchor),u_texsize:new e.aP(t,i.u_texsize),u_texsize_icon:new e.aP(t,i.u_texsize_icon),u_texture:new e.aI(t,i.u_texture),u_texture_icon:new e.aI(t,i.u_texture_icon),u_gamma_scale:new e.aJ(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,i.u_device_pixel_ratio),u_is_halo:new e.aI(t,i.u_is_halo),u_translation:new e.aP(t,i.u_translation),u_pitched_scale:new e.aJ(t,i.u_pitched_scale)}),background:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_opacity:new e.aJ(t,i.u_opacity),u_color:new e.aM(t,i.u_color)}),backgroundPattern:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_opacity:new e.aJ(t,i.u_opacity),u_image:new e.aI(t,i.u_image),u_pattern_tl_a:new e.aP(t,i.u_pattern_tl_a),u_pattern_br_a:new e.aP(t,i.u_pattern_br_a),u_pattern_tl_b:new e.aP(t,i.u_pattern_tl_b),u_pattern_br_b:new e.aP(t,i.u_pattern_br_b),u_texsize:new e.aP(t,i.u_texsize),u_mix:new e.aJ(t,i.u_mix),u_pattern_size_a:new e.aP(t,i.u_pattern_size_a),u_pattern_size_b:new e.aP(t,i.u_pattern_size_b),u_scale_a:new e.aJ(t,i.u_scale_a),u_scale_b:new e.aJ(t,i.u_scale_b),u_pixel_coord_upper:new e.aP(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aJ(t,i.u_tile_units_to_pixels)}),terrain:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_texture:new e.aI(t,i.u_texture),u_ele_delta:new e.aJ(t,i.u_ele_delta),u_fog_matrix:new e.aK(t,i.u_fog_matrix),u_fog_color:new e.aM(t,i.u_fog_color),u_fog_ground_blend:new e.aJ(t,i.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aJ(t,i.u_fog_ground_blend_opacity),u_horizon_color:new e.aM(t,i.u_horizon_color),u_horizon_fog_blend:new e.aJ(t,i.u_horizon_fog_blend)}),terrainDepth:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_ele_delta:new e.aJ(t,i.u_ele_delta)}),terrainCoords:(t,i)=>({u_matrix:new e.aK(t,i.u_matrix),u_texture:new e.aI(t,i.u_texture),u_terrain_coords_id:new e.aJ(t,i.u_terrain_coords_id),u_ele_delta:new e.aJ(t,i.u_ele_delta)}),sky:(t,i)=>({u_sky_color:new e.aM(t,i.u_sky_color),u_horizon_color:new e.aM(t,i.u_horizon_color),u_horizon:new e.aJ(t,i.u_horizon),u_sky_horizon_blend:new e.aJ(t,i.u_sky_horizon_blend)})};class We{constructor(t,e,i){this.context=t;const a=t.gl;this.buffer=a.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindElementBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");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 $e={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Xe{constructor(t,e,i,a){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=a,this.context=t;const s=t.gl;this.buffer=s.createBuffer(),t.bindVertexBuffer.set(this.buffer),s.bufferData(s.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindVertexBuffer.set(this.buffer);}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);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=e.H();e.aR(i,m.placementInvProjMatrix,t.transform.glCoordMatrix),e.aR(i,i,m.placementViewportMatrix),h.push({circleArray:g,circleOffset:u,transform:p.posMatrix,invTransform:i,coord:p}),c+=g.length/4,u=c;}f&&l.draw(r,n.LINES,Fi.disabled,Oi.disabled,t.colorModeForRenderPass(),Ni.disabled,{u_matrix:p.posMatrix,u_pixel_extrude_scale:[1/(d=t.transform).width,1/d.height]},t.style.map.terrain&&t.style.map.terrain.getTerrainData(p),a.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,null,t.transform.zoom,null,null,f.collisionVertexBuffer);}var d;if(!o||!h.length)return;const _=t.useProgram(\"collisionCircle\"),p=new e.aS;p.resize(4*c),p._trim();let m=0;for(const t of h)for(let e=0;e=0&&(v[x.associatedIconIndex]={shiftedAnchor:D,angle:M});}else Rt(x.numGlyphs,f);}if(c){g.clear();const i=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,i):null,i=\"map\"===a.layout.get(\"text-rotation-alignment\");wt(h,l.posMatrix,t,o,j,Z,v,c,i,f,l.toUnwrapped(),m.width,m.height,q,e);}const W=l.posMatrix,$=o&&E||G,X=x||$?Zi:j,H=U,K=_&&0!==a.paint.get(o?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let J;J=_?h.iconsInText?Ze(I.kind,D,y,v,x,$,t,W,X,H,q,A,F,C):Ue(I.kind,D,y,v,x,$,t,W,X,H,q,o,A,!0,C):je(I.kind,D,y,v,x,$,t,W,X,H,q,o,A,C);const Y={program:z,buffers:u,uniformValues:J,atlasTexture:R,atlasTextureIcon:B,atlasInterpolation:k,atlasInterpolationIcon:L,isSDF:_,hasHalo:K};if(w&&h.canOverlap){T=!0;const t=u.segments.get();for(const i of t)P.push({segments:new e.a0([i]),sortKey:i.sortKey,state:Y,terrainData:M});}else P.push({segments:u.segments,sortKey:0,state:Y,terrainData:M});}T&&P.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of P){const i=e.state;if(_.activeTexture.set(p.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,p.CLAMP_TO_EDGE),i.atlasTextureIcon&&(_.activeTexture.set(p.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,p.CLAMP_TO_EDGE)),i.isSDF){const s=i.uniformValues;i.hasHalo&&(s.u_is_halo=1,Xi(i.buffers,e.segments,a,t,i.program,I,u,d,s,e.terrainData)),s.u_is_halo=0;}Xi(i.buffers,e.segments,a,t,i.program,I,u,d,i.uniformValues,e.terrainData);}}function Xi(t,e,i,a,s,o,r,n,l,h){const c=a.context;s.draw(c,c.gl.TRIANGLES,o,r,n,Ni.disabled,l,h,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,a.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Hi(t,e,i,a,s){if(!i||!a||!a.imageAtlas)return;const o=a.imageAtlas.patternPositions;let r=o[i.to.toString()],n=o[i.from.toString()];if(!r&&n&&(r=n),!n&&r&&(n=r),!r||!n){const t=s.getPaintProperty(e);r=o[t],n=o[t];}r&&n&&t.setConstantPatternPositions(r,n);}function Ki(t,e,i,a,s,o,r){const n=t.context.gl,l=\"fill-pattern\",h=i.paint.get(l),c=h&&h.constantOr(1),u=i.getCrossfadeParameters();let d,_,p,m,f;r?(_=c&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",d=n.LINES):(_=c?\"fillPattern\":\"fill\",d=n.TRIANGLES);const g=h.constantOr(null);for(const h of a){const a=e.getTile(h);if(c&&!a.patternsLoaded())continue;const v=a.getBucket(i);if(!v)continue;const x=v.programConfigurations.get(i.id),y=t.useProgram(_,x),b=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h);c&&(t.context.activeTexture.set(n.TEXTURE0),a.imageAtlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE),x.updatePaintBuffers(u)),Hi(x,l,g,a,i);const w=b?h:null,T=t.translatePosMatrix(w?w.posMatrix:h.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(r){m=v.indexBuffer2,f=v.segments2;const e=[n.drawingBufferWidth,n.drawingBufferHeight];p=\"fillOutlinePattern\"===_&&c?Ee(T,t,u,a,e):Ie(T,e);}else m=v.indexBuffer,f=v.segments,p=c?Te(T,t,u,a):we(T);y.draw(t.context,d,s,t.stencilModeForClipping(h),o,Ni.disabled,p,b,i.id,v.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,x);}}function Ji(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=\"fill-extrusion-pattern\",c=i.paint.get(h),u=c.constantOr(1),d=i.getCrossfadeParameters(),_=i.paint.get(\"fill-extrusion-opacity\"),p=c.constantOr(null);for(const c of a){const a=e.getTile(c),m=a.getBucket(i);if(!m)continue;const f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(c),g=m.programConfigurations.get(i.id),v=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",g);u&&(t.context.activeTexture.set(l.TEXTURE0),a.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(d)),Hi(g,h,p,a,i);const x=t.translatePosMatrix(c.posMatrix,a,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),y=i.paint.get(\"fill-extrusion-vertical-gradient\"),b=u?be(x,t,y,_,c,d,a):ye(x,t,y,_);v.draw(n,n.gl.TRIANGLES,s,o,r,Ni.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.map.terrain&&m.centroidVertexBuffer);}}function Yi(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=i.fbo;if(!h)return;const c=t.useProgram(\"hillshade\"),u=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);n.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,h.colorAttachment.get()),c.draw(n,l.TRIANGLES,s,o,r,Ni.disabled,((t,e,i,a)=>{const s=i.paint.get(\"hillshade-shadow-color\"),o=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:a?a.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:Me(0,e.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),n],u_shadow:s,u_highlight:o,u_accent:r}})(t,i,a,u?e:null),u,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}function Qi(t,i,a,s,o,r){const n=t.context,l=n.gl,h=i.dem;if(h&&h.data){const c=h.dim,u=h.stride,d=h.getPixels();if(n.activeTexture.set(l.TEXTURE1),n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(u),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(l.NEAREST,l.CLAMP_TO_EDGE);}else i.demTexture=new b(n,d,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);n.activeTexture.set(l.TEXTURE0);let _=i.fbo;if(!_){const t=new b(n,{width:c,height:c,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),_=i.fbo=n.createFramebuffer(c,c,!0,!1),_.colorAttachment.set(t.texture);}n.bindFramebuffer.set(_.framebuffer),n.viewport.set([0,0,c,c]),t.useProgram(\"hillshadePrepare\").draw(n,l.TRIANGLES,s,o,r,Ni.disabled,((t,i)=>{const a=i.stride,s=e.H();return e.aQ(s,0,e.X,-e.X,0,0,1),e.J(s,s,[0,-e.X,0]),{u_matrix:s,u_image:1,u_dimension:[a,a],u_zoom:t.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function ta(t,i,a,s,r,n){const l=s.paint.get(\"raster-fade-duration\");if(!n&&l>0){const s=o.now(),n=(s-t.timeAdded)/l,h=i?(s-i.timeAdded)/l:-1,c=a.getSource(),u=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),d=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(t.tileID.overscaledZ-u),_=d&&t.refreshedUponExpiration?1:e.ad(d?n:1-h,0,1);return t.refreshedUponExpiration&&n>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-_}:{opacity:_,mix:0}}return {opacity:1,mix:0}}const ea=new e.aN(1,0,0,1),ia=new e.aN(0,1,0,1),aa=new e.aN(0,0,1,1),sa=new e.aN(1,0,1,1),oa=new e.aN(0,1,1,1);function ra(t,e,i,a){la(t,0,e+i/2,t.transform.width,i,a);}function na(t,e,i,a){la(t,e-i/2,0,i,t.transform.height,a);}function la(t,e,i,a,s,o){const r=t.context,n=r.gl;n.enable(n.SCISSOR_TEST),n.scissor(e*t.pixelRatio,i*t.pixelRatio,a*t.pixelRatio,s*t.pixelRatio),r.clear({color:o}),n.disable(n.SCISSOR_TEST);}function ha(t,i,a){const s=t.context,o=s.gl,r=a.posMatrix,n=t.useProgram(\"debug\"),l=Fi.disabled,h=Oi.disabled,c=t.colorModeForRenderPass(),u=\"$debug\",d=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a);s.activeTexture.set(o.TEXTURE0);const _=i.getTileByID(a.key).latestRawTileData,p=Math.floor((_&&_.byteLength||0)/1024),m=i.getTile(a).tileSize,f=512/Math.min(m,512)*(a.overscaledZ/t.transform.zoom)*.5;let g=a.canonical.toString();a.overscaledZ!==a.canonical.z&&(g+=` => ${a.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,a=t.context.gl,s=t.debugOverlayCanvas.getContext(\"2d\");s.clearRect(0,0,i.width,i.height),s.shadowColor=\"white\",s.shadowBlur=2,s.lineWidth=1.5,s.strokeStyle=\"white\",s.textBaseline=\"top\",s.font=\"bold 36px Open Sans, sans-serif\",s.fillText(e,5,5),s.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE);}(t,`${g} ${p}kB`),n.draw(s,o.TRIANGLES,l,h,ki.alphaBlended,Ni.disabled,Se(r,e.aN.transparent,f),null,u,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),n.draw(s,o.LINE_STRIP,l,h,c,Ni.disabled,Se(r,e.aN.red),d,u,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);}function ca(t,e,i){const a=t.context,s=a.gl,o=t.colorModeForRenderPass(),r=new Fi(s.LEQUAL,Fi.ReadWrite,t.depthRangeFor3D),n=t.useProgram(\"terrain\"),l=e.getTerrainMesh();a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);for(const h of i){const i=t.renderToTexture.getTexture(h),c=e.getTerrainData(h.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i.texture);const u=t.transform.calculatePosMatrix(h.tileID.toUnwrapped()),d=e.getMeshFrameDelta(t.transform.zoom),_=t.transform.calculateFogMatrix(h.tileID.toUnwrapped()),p=fe(u,d,_,t.style.sky,t.transform.pitch);n.draw(a,s.TRIANGLES,r,Oi.disabled,o,Ni.backCCW,p,c,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments);}}class ua{constructor(t,e,i){this.vertexBuffer=t,this.indexBuffer=e,this.segments=i;}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null;}}class da{constructor(t,i){this.context=new Li(t),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.ao(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ut.maxUnderzooming+ut.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new le;}resize(t,e,i){if(this.width=Math.floor(t*i),this.height=Math.floor(e*i),this.pixelRatio=i,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize();}setup(){const t=this.context,i=new e.aX;i.emplaceBack(0,0),i.emplaceBack(e.X,0),i.emplaceBack(0,e.X),i.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(i,de.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aX;a.emplaceBack(0,0),a.emplaceBack(e.X,0),a.emplaceBack(0,e.X),a.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(a,de.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const s=new e.$;s.emplaceBack(0,0,0,0),s.emplaceBack(e.X,0,e.X,0),s.emplaceBack(0,e.X,0,e.X),s.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(s,Y.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const o=new e.aX;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(o,de.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const r=new e.aZ;r.emplaceBack(0),r.emplaceBack(1),r.emplaceBack(3),r.emplaceBack(2),r.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(r);const n=new e.aY;n.emplaceBack(0,1,2),n.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(n);const l=this.context.gl;this.stencilClearMode=new Oi({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=e.H();e.aQ(a,0,this.width,this.height,0,0,1),e.K(a,a,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(t,i.TRIANGLES,Fi.disabled,this.stencilClearMode,ki.disabled,Ni.disabled,ze(a),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const i=this.context,a=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(ki.disabled),i.setDepthMode(Fi.disabled);const s=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);s.draw(i,a.TRIANGLES,Fi.disabled,new Oi({func:a.ALWAYS,mask:0},e,255,a.KEEP,a.KEEP,a.REPLACE),ki.disabled,Ni.disabled,ze(t.posMatrix),o,\"$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 Oi({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Oi({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)),a=i[i.length-1].overscaledZ,s=i[0].overscaledZ-a+1;if(s>1){this.currentStencilSource=void 0,this.nextStencilID+s>256&&this.clearStencil();const t={};for(let i=0;i({u_sky_color:t.properties.get(\"sky-color\"),u_horizon_color:t.properties.get(\"horizon-color\"),u_horizon:(e.height/2+e.getHorizon())*i,u_sky_horizon_blend:t.properties.get(\"sky-horizon-blend\")*e.height/2*i}))(i,t.style.map.transform,t.pixelRatio),r=new Fi(s.LEQUAL,Fi.ReadWrite,[0,1]),n=Oi.disabled,l=t.colorModeForRenderPass(),h=t.useProgram(\"sky\");if(!i.mesh){const t=new e.aX;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const s=new e.aY;s.emplaceBack(0,1,2),s.emplaceBack(0,2,3),i.mesh=new ua(a.createVertexBuffer(t,de.members),a.createIndexBuffer(s),e.a0.simpleSegment(0,0,t.length,s.length));}h.draw(a,s.TRIANGLES,r,n,l,Ni.disabled,o,void 0,\"sky\",i.mesh.vertexBuffer,i.mesh.indexBuffer,i.mesh.segments);}(this,this.style.sky),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=a.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[a[this.currentLayer]],e=s[t.source],i=r[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayeri.source&&!i.isHidden(e)?[t.sourceCaches[i.source]]:[])),s=a.filter((t=>\"vector\"===t.getSource().type)),o=a.filter((t=>\"vector\"!==t.getSource().type)),r=t=>{(!i||i.getSource().maxzoomr(t))),i||o.forEach((t=>r(t))),i}(this.style,this.transform.zoom);t&&function(t,e,i){for(let a=0;a0),s&&(e.b0(i,a),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,i){const a=t.context,s=a.gl,o=ki.unblended,r=new Fi(s.LEQUAL,Fi.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.sourceCache.getRenderableTiles(),h=t.useProgram(\"terrainDepth\");a.bindFramebuffer.set(i.getFramebuffer(\"depth\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aN.transparent,depth:1});for(const e of l){const l=i.getTerrainData(e.tileID),c={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};h.draw(a,s.TRIANGLES,r,Oi.disabled,o,Ni.backCCW,c,l,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain),function(t,i){const a=t.context,s=a.gl,o=ki.unblended,r=new Fi(s.LEQUAL,Fi.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.getCoordsTexture(),h=i.sourceCache.getRenderableTiles(),c=t.useProgram(\"terrainCoords\");a.bindFramebuffer.set(i.getFramebuffer(\"coords\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aN.transparent,depth:1}),i.coordsIndex=[];for(const e of h){const h=i.getTerrainData(e.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.texture);const u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-i.coordsIndex.length)/255,u_texture:0,u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};c.draw(a,s.TRIANGLES,r,Oi.disabled,o,Ni.backCCW,u,h,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments),i.coordsIndex.push(e.tileID.key);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain));}renderLayer(t,i,a,s){if(!a.isHidden(this.transform.zoom)&&(\"background\"===a.type||\"custom\"===a.type||(s||[]).length))switch(this.id=a.id,a.type){case\"symbol\":!function(t,i,a,s,o){if(\"translucent\"!==t.renderPass)return;const r=Oi.disabled,n=t.colorModeForRenderPass();(a._unevaluatedLayout.hasValue(\"text-variable-anchor\")||a._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(t,i,a,s,o,r,n,l,h){const c=i.transform,u=ee(),d=\"map\"===o,_=\"map\"===r;for(const o of t){const t=s.getTile(o),r=t.getBucket(a);if(!r||!r.text||!r.text.segments.get().length)continue;const p=e.ah(r.textSizeData,c.zoom),m=Ft(t,1,i.transform.zoom),f=gt(o.posMatrix,_,d,i.transform,m),g=\"none\"!==a.layout.get(\"icon-text-fit\")&&r.hasIconData();if(p){const e=Math.pow(2,c.zoom-t.tileID.overscaledZ),a=i.style.map.terrain?(t,e)=>i.style.map.terrain.getElevation(o,t,e):null,s=u.translatePosition(c,t,n,l);Gi(r,d,_,h,c,f,o.posMatrix,e,p,g,u,s,o.toUnwrapped(),a);}}}(s,t,a,i,a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),o),0!==a.paint.get(\"icon-opacity\").constantOr(1)&&$i(t,i,a,s,!1,a.paint.get(\"icon-translate\"),a.paint.get(\"icon-translate-anchor\"),a.layout.get(\"icon-rotation-alignment\"),a.layout.get(\"icon-pitch-alignment\"),a.layout.get(\"icon-keep-upright\"),r,n),0!==a.paint.get(\"text-opacity\").constantOr(1)&&$i(t,i,a,s,!0,a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.layout.get(\"text-keep-upright\"),r,n),i.map.showCollisionBoxes&&(Ui(t,i,a,s,!0),Ui(t,i,a,s,!1));}(t,i,a,s,this.style.placement.variableOffsets);break;case\"circle\":!function(t,i,a,s){if(\"translucent\"!==t.renderPass)return;const o=a.paint.get(\"circle-opacity\"),r=a.paint.get(\"circle-stroke-width\"),n=a.paint.get(\"circle-stroke-opacity\"),l=!a.layout.get(\"circle-sort-key\").isConstant();if(0===o.constantOr(1)&&(0===r.constantOr(1)||0===n.constantOr(1)))return;const h=t.context,c=h.gl,u=t.depthModeForSublayer(0,Fi.ReadOnly),d=Oi.disabled,_=t.colorModeForRenderPass(),p=[];for(let o=0;ot.sortKey-e.sortKey));for(const e of p){const{programConfiguration:i,program:s,layoutVertexBuffer:o,indexBuffer:r,uniformValues:n,terrainData:l}=e.state;s.draw(h,c.TRIANGLES,u,d,_,Ni.disabled,n,l,a.id,o,r,e.segments,a.paint,t.transform.zoom,i);}}(t,i,a,s);break;case\"heatmap\":!function(t,i,a,s){if(0!==a.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){const o=t.context,r=o.gl,n=Oi.disabled,l=new ki([r.ONE,r.ONE],e.aN.transparent,[!0,!0,!0,!0]);!function(t,e,i){const a=t.gl;t.activeTexture.set(a.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let s=i.heatmapFbo;if(s)a.bindTexture(a.TEXTURE_2D,s.colorAttachment.get()),t.bindFramebuffer.set(s.framebuffer);else {const o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),s=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,i,a){var s,o;const r=t.gl,n=null!==(s=t.HALF_FLOAT)&&void 0!==s?s:r.UNSIGNED_BYTE,l=null!==(o=t.RGBA16F)&&void 0!==o?o:r.RGBA;r.texImage2D(r.TEXTURE_2D,0,l,e.width/4,e.height/4,0,r.RGBA,n,null),a.colorAttachment.set(i);}(t,e,o,s);}}(o,t,a),o.clear({color:e.aN.transparent});for(let e=0;e{const o=e.H();e.aQ(o,0,t.width,t.height,0,0,1);const r=t.context.gl;return {u_matrix:o,u_world:[r.drawingBufferWidth,r.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}})(t,i),null,i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom);}(t,a));}(t,i,a,s);break;case\"line\":!function(t,i,a,s){if(\"translucent\"!==t.renderPass)return;const o=a.paint.get(\"line-opacity\"),r=a.paint.get(\"line-width\");if(0===o.constantOr(1)||0===r.constantOr(1))return;const n=t.depthModeForSublayer(0,Fi.ReadOnly),l=t.colorModeForRenderPass(),h=a.paint.get(\"line-dasharray\"),c=a.paint.get(\"line-pattern\"),u=c.constantOr(1),d=a.paint.get(\"line-gradient\"),_=a.getCrossfadeParameters(),p=u?\"linePattern\":h?\"lineSDF\":d?\"lineGradient\":\"line\",m=t.context,f=m.gl;let g=!0;for(const o of s){const s=i.getTile(o);if(u&&!s.patternsLoaded())continue;const r=s.getBucket(a);if(!r)continue;const v=r.programConfigurations.get(a.id),x=t.context.program.get(),y=t.useProgram(p,v),w=g||y.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(o),I=c.constantOr(null);if(I&&s.imageAtlas){const t=s.imageAtlas,e=t.patternPositions[I.to.toString()],i=t.patternPositions[I.from.toString()];e&&i&&v.setConstantPatternPositions(e,i);}const E=T?o:null,P=u?ke(t,s,a,_,E):h?Le(t,s,a,h,_,E):d?Re(t,s,a,r.lineClipsArray.length,E):Ae(t,s,a,E);if(u)m.activeTexture.set(f.TEXTURE0),s.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),v.updatePaintBuffers(_);else if(h&&(w||t.lineAtlas.dirty))m.activeTexture.set(f.TEXTURE0),t.lineAtlas.bind(m);else if(d){const s=r.gradients[a.id];let n=s.texture;if(a.gradientVersion!==s.version){let l=256;if(a.stepInterpolant){const a=i.getSource().maxzoom,s=o.canonical.z===a?Math.ceil(1<0?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.map.terrain?\"/terrain\":\"\");return this.cache[i]||(this.cache[i]=new ve(this.context,_e[t],e,Ge[t],this._showOverdrawInspector,this.style.map.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 b(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy();}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class _a{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(t,i,a){const s=Math.pow(2,a),o=[[-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((a=>{const o=1/(a=e.ag([],a,t))[3]/i*s;return e.b1(a,a,[o,o,1/a[3],o])})),r=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var i=e[0],a=e[1],s=e[2],o=i*i+a*a+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}([],function(t,e,i){var a=e[0],s=e[1],o=e[2],r=i[0],n=i[1],l=i[2];return t[0]=s*l-o*n,t[1]=o*r-a*l,t[2]=a*n-s*r,t}([],g([],o[t[0]],o[t[1]]),g([],o[t[2]],o[t[1]]))),i=-((a=e)[0]*(s=o[t[1]])[0]+a[1]*s[1]+a[2]*s[2]);var a,s;return e.concat(i)}));return new _a(o,r)}}class pa{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,i){return t[0]=.5*e[0],t[1]=.5*e[1],t[2]=.5*e[2],t}([],function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}([],this.min,this.max));}quadrant(t){const e=[t%2==0,t<2],i=m(this.min),a=m(this.max);for(let t=0;t=0&&r++;if(0===r)return 0;r!==i.length&&(a=!1);}if(a)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let s=0;sthis.max[e]-this.min[e])return 0}return 1}}class ma{constructor(t=0,e=0,i=0,a=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(a)||a<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=a;}interpolate(t,i,a){return null!=i.top&&null!=t.top&&(this.top=e.z.number(t.top,i.top,a)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.z.number(t.bottom,i.bottom,a)),null!=i.left&&null!=t.left&&(this.left=e.z.number(t.left,i.left,a)),null!=i.right&&null!=t.right&&(this.right=e.z.number(t.right,i.right,a)),this}getCenter(t,i){const a=e.ad((this.left+t-this.right)/2,0,t),s=e.ad((this.top+i-this.bottom)/2,0,i);return new e.P(a,s)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new ma(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const fa=85.051129;class ga{constructor(t,i,a,s,o){this.tileSize=512,this._renderWorldCopies=void 0===o||!!o,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==a?0:a,this._maxPitch=null==s?60:s,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ma,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0;}clone(){const t=new ga(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices();}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 e.P(this.width,this.height)}get bearing(){return -this.angle/Math.PI*180}set bearing(t){const i=-e.b3(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,i){var a=e[0],s=e[1],o=e[2],r=e[3],n=Math.sin(i),l=Math.cos(i);t[0]=a*l+o*n,t[1]=s*l+r*n,t[2]=a*-n+o*l,t[3]=s*-n+r*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ad(t,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.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),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(t){const i=[new e.b4(0,t)];if(this._renderWorldCopies){const a=this.pointCoordinate(new e.P(0,0)),s=this.pointCoordinate(new e.P(this.width,0)),o=this.pointCoordinate(new e.P(this.width,this.height)),r=this.pointCoordinate(new e.P(0,this.height)),n=Math.floor(Math.min(a.x,s.x,o.x,r.x)),l=Math.floor(Math.max(a.x,s.x,o.x,r.x)),h=1;for(let a=n-h;a<=l+h;a++)0!==a&&i.push(new e.b4(a,t));}return i}coveringTiles(t){var i,a;let s=this.coveringZoomLevel(t);const o=s;if(void 0!==t.minzoom&&st.maxzoom&&(s=t.maxzoom);const r=this.pointCoordinate(this.getCameraPoint()),n=e.Z.fromLngLat(this.center),l=Math.pow(2,s),h=[l*r.x,l*r.y,0],c=[l*n.x,l*n.y,0],u=_a.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,s);let d=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=s);const _=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,p=t=>({aabb:new pa([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],f=[],g=s,x=t.reparseOverscaled?o:s;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(p(-t)),m.push(p(t));for(m.push(p(0));m.length>0;){const s=m.pop(),o=s.x,r=s.y;let n=s.fullyVisible;if(!n){const t=s.aabb.intersects(u);if(0===t)continue;n=2===t;}const l=t.terrain?h:c,p=s.aabb.distanceX(l),y=s.aabb.distanceY(l),b=Math.max(Math.abs(p),Math.abs(y));if(s.zoom===g||b>_+(1<=d){const t=g-s.zoom,i=h[0]-.5-(o<>1),u=s.zoom+1;let d=s.aabb.quadrant(l);if(t.terrain){const o=new e.S(u,s.wrap,u,h,c),r=t.terrain.getMinMaxElevation(o),n=null!==(i=r.minElevation)&&void 0!==i?i:this.elevation,l=null!==(a=r.maxElevation)&&void 0!==a?a:this.elevation;d=new pa([d.min[0],d.min[1],n],[d.max[0],d.max[1],l]);}m.push({aabb:d,zoom:u,x:h,y:c,wrap:s.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(t){const i=e.ad(t.lat,-85.051129,fa);return new e.P(e.O(t.lng)*this.worldSize,e.Q(i)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return {lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const i=this.elevation,a=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,s=this.pointLocation(this.centerPoint,t),o=t.getElevationForLngLatZoom(s,this.tileZoom);if(!(this.elevation-o))return;const r=a+i-o,n=Math.cos(this._pitch)*this.cameraToCenterDistance/r/e.b5(1,s.lat),l=this.scaleZoom(n/this.tileSize);this._elevation=o,this._center=s,this.zoom=l;}setLocationAtPoint(t,i){const a=this.pointCoordinate(i),s=this.pointCoordinate(this.centerPoint),o=this.locationCoordinate(t),r=new e.Z(o.x-(a.x-s.x),o.y-(a.y-s.y));this.center=this.coordinateLocation(r),this._renderWorldCopies&&(this.center=this.center.wrap());}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,i){if(i){const e=i.pointCoordinate(t);if(null!=e)return e}const a=[t.x,t.y,0,1],s=[t.x,t.y,1,1];e.ag(a,a,this.pixelMatrixInverse),e.ag(s,s,this.pixelMatrixInverse);const o=a[3],r=s[3],n=a[1]/o,l=s[1]/r,h=a[2]/o,c=s[2]/r,u=h===c?0:(0-h)/(c-h);return new e.Z(e.z.number(a[0]/o,s[0]/r,u)/this.worldSize,e.z.number(n,l,u)/this.worldSize)}coordinatePoint(t,i=0,a=this.pixelMatrix){const s=[t.x*this.worldSize,t.y*this.worldSize,i,1];return e.ag(s,s,a),new e.P(s[0]/s[3],s[1]/s[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return (new W).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new W([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,fa]);}calculateTileMatrix(t){const i=t.canonical,a=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*t.wrap,o=e.ao(new Float64Array(16));return e.J(o,o,[s*a,i.y*a,0]),e.K(o,o,[a/e.X,a/e.X,1]),o}calculatePosMatrix(t,i=!1){const a=t.key,s=i?this._alignedPosMatrixCache:this._posMatrixCache;if(s[a])return s[a];const o=this.calculateTileMatrix(t);return e.L(o,i?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,o),s[a]=new Float32Array(o),s[a]}calculateFogMatrix(t){const i=t.key,a=this._fogMatrixCache;if(a[i])return a[i];const s=this.calculateTileMatrix(t);return e.L(s,this.fogMatrix,s),a[i]=new Float32Array(s),a[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,i){i=e.ad(+i,this.minZoom,this.maxZoom);const a={center:new e.N(t.lng,t.lat),zoom:i};let s=this.lngRange;if(!this._renderWorldCopies&&null===s){const t=180-1e-10;s=[-t,t];}const o=this.tileSize*this.zoomScale(a.zoom);let r=0,n=o,l=0,h=o,c=0,u=0;const{x:d,y:_}=this.size;if(this.latRange){const t=this.latRange;r=e.Q(t[1])*o,n=e.Q(t[0])*o,n-r<_&&(c=_/(n-r));}s&&(l=e.b3(e.O(s[0])*o,0,o),h=e.b3(e.O(s[1])*o,0,o),hn&&(g=n-t);}if(s){const t=(l+h)/2;let i=p;this._renderWorldCopies&&(i=e.b3(p,t-o/2,t+o/2));const a=d/2;i-ah&&(f=h-a);}if(void 0!==f||void 0!==g){const t=new e.P(null!=f?f:p,null!=g?g:m);a.center=this.unproject.call({worldSize:o},t).wrap();}return a}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:i}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=i,this._unmodified=t,this._constraining=!1;}_calcMatrices(){if(!this.height)return;const t=this.centerOffset,i=this.point.x,a=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let s=e.ao(new Float64Array(16));e.K(s,s,[this.width/2,-this.height/2,1]),e.J(s,s,[1,-1,0]),this.labelPlaneMatrix=s,s=e.ao(new Float64Array(16)),e.K(s,s,[1,-1,1]),e.J(s,s,[-1,-1,0]),e.K(s,s,[2/this.width,2/this.height,1]),this.glCoordMatrix=s;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),r=Math.min(this.elevation,this.minElevationForCurrentTile),n=o-r*this._pixelPerMeter/Math.cos(this._pitch),l=r<0?n:o,h=Math.PI/2+this._pitch,c=this._fov*(.5+t.y/this.height),u=Math.sin(c)*l/Math.sin(e.ad(Math.PI-h-c,.01,Math.PI-.01)),d=this.getHorizon(),_=2*Math.atan(d/this.cameraToCenterDistance)*(.5+t.y/(2*d)),p=Math.sin(_)*l/Math.sin(e.ad(Math.PI-h-_,.01,Math.PI-.01)),m=Math.min(u,p),f=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),g=this.height/50;s=new Float64Array(16),e.b6(s,this._fov,this.width/this.height,g,f),s[8]=2*-t.x/this.width,s[9]=2*t.y/this.height,e.K(s,s,[1,-1,1]),e.J(s,s,[0,0,-this.cameraToCenterDistance]),e.b7(s,s,this._pitch),e.ae(s,s,this.angle),e.J(s,s,[-i,-a,0]),this.mercatorMatrix=e.K([],s,[this.worldSize,this.worldSize,this.worldSize]),e.K(s,s,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,s),e.J(s,s,[0,0,-this.elevation]),this.modelViewProjectionMatrix=s,this.invModelViewProjectionMatrix=e.at([],s),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,o,f),this.fogMatrix[8]=2*-t.x/this.width,this.fogMatrix[9]=2*t.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ae(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-i,-a,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,s);const v=this.width%2/2,x=this.height%2/2,y=Math.cos(this.angle),b=Math.sin(this.angle),w=i-Math.round(i)+y*v+b*x,T=a-Math.round(a)+y*x+b*v,I=new Float64Array(s);if(e.J(I,I,[w>.5?w-1:w,T>.5?T-1:T,0]),this.alignedModelViewProjectionMatrix=I,s=e.at(new Float64Array(16),this.pixelMatrix),!s)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=s,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={};}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.ag(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}getCameraQueryGeometry(t){const i=this.getCameraPoint();if(1===t.length)return [t[0],i];{let a=i.x,s=i.y,o=i.x,r=i.y;for(const e of t)a=Math.min(a,e.x),s=Math.min(s,e.y),o=Math.max(o,e.x),r=Math.max(r,e.y);return [new e.P(a,s),new e.P(o,s),new e.P(o,r),new e.P(a,r),new e.P(a,s)]}}lngLatToCameraDepth(t,i){const a=this.locationCoordinate(t),s=[a.x*this.worldSize,a.y*this.worldSize,i,1];return e.ag(s,s,this.modelViewProjectionMatrix),s[2]/s[3]}}function va(t,e){let i,a=!1,s=null,o=null;const r=()=>{s=null,a&&(t.apply(o,i),s=setTimeout(r,e),a=!1);};return (...t)=>(a=!0,o=this,i=t,s||r(),s)}class xa{constructor(t){this._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(\"/\")},this._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},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t);}catch(t){}},this._updateHash=va(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t);}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,a=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),s=Math.pow(10,a),o=Math.round(e.lng*s)/s,r=Math.round(e.lat*s)/s,n=this._map.getBearing(),l=this._map.getPitch();let h=\"\";if(h+=t?`/${o}/${r}/${i}`:`${i}/${r}/${o}`,(n||l)&&(h+=\"/\"+Math.round(10*n)/10),l&&(h+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split(\"&\").map((i=>{const a=i.split(\"=\")[0];return a===t?(e=!0,`${a}=${h}`):i})).filter((t=>t));return e||i.push(`${t}=${h}`),`#${i.join(\"&\")}`}return `#${h}`}}const ya={linearity:.3,easing:e.b8(0,0,.3,1)},ba=e.e({deceleration:2500,maxSpeed:1400},ya),wa=e.e({deceleration:20,maxSpeed:1400},ya),Ta=e.e({deceleration:1e3,maxSpeed:360},ya),Ia=e.e({deceleration:1e3,maxSpeed:90},ya);class Ea{constructor(t){this._map=t,this.clear();}clear(){this._inertiaBuffer=[];}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:o.now(),settings:t});}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=o.now();for(;t.length>0&&e-t[0].time>160;)t.shift();}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.P(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 a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){const o=Ca(i.pan.mag(),a,e.e({},ba,t||{}));s.offset=i.pan.mult(o.amount/i.pan.mag()),s.center=this._map.transform.center,Pa(s,o);}if(i.zoom){const t=Ca(i.zoom,a,wa);s.zoom=this._map.transform.zoom+t.amount,Pa(s,t);}if(i.bearing){const t=Ca(i.bearing,a,Ta);s.bearing=this._map.transform.bearing+e.ad(t.amount,-179,179),Pa(s,t);}if(i.pitch){const t=Ca(i.pitch,a,Ia);s.pitch=this._map.transform.pitch+t.amount,Pa(s,t);}if(s.zoom||s.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;s.around=t?this._map.unproject(t):this._map.getCenter();}return this.clear(),e.e(s,{noMoveStart:!0})}}function Pa(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,a)=>t.add(e.div(a.length))),new e.P(0,0));super(t,{points:o,point:l,lngLats:n,lngLat:i.unproject(l),originalEvent:a}),this._defaultPrevented=!1;}}class Da extends e.k{preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1;}}class Ma{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance;}reset(){delete this._mousedownPos;}wheel(t){return this._firePreventable(new Da(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Sa(t.type,this._map,t))}mouseup(t){this._map.fire(new Sa(t.type,this._map,t));}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Sa(t.type,this._map,t));}dblclick(t){return this._firePreventable(new Sa(t.type,this._map,t))}mouseover(t){this._map.fire(new Sa(t.type,this._map,t));}mouseout(t){this._map.fire(new Sa(t.type,this._map,t));}touchstart(t){return this._firePreventable(new za(t.type,this._map,t))}touchmove(t){this._map.fire(new za(t.type,this._map,t));}touchend(t){this._map.fire(new za(t.type,this._map,t));}touchcancel(t){this._map.fire(new za(t.type,this._map,t));}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Aa{constructor(t){this._map=t;}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent;}mousemove(t){this._map.fire(new Sa(t.type,this._map,t));}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Sa(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Sa(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Ra{constructor(t){this._map=t;}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return {lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class ka{constructor(t,e){this._map=t,this._tr=new Ra(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&&(r.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(a,s,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",t);}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos;}_fireEvent(t,i){return this._map.fire(new e.k(t,{originalEvent:i}))}}function La(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let a=0;athis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),a.length===this.numTouches&&(this.centroid=function(t){const i=new e.P(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=La(a,i)));}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const a=La(i,e);for(const t in this.touches){const e=a[t];(!e||e.dist(this.touches[t])>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 Ba{constructor(t){this.singleTap=new Fa(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 a=this.singleTap.touchend(t,e,i);if(a){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(a)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=a,this.count===this.numTaps)return this.reset(),a}}}class Oa{constructor(t){this._tr=new Ra(t),this._zoomIn=new Ba({numTouches:1,numTaps:2}),this._zoomOut=new Ba({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 a=this._zoomIn.touchend(t,e,i),s=this._zoomOut.touchend(t,e,i),o=this._tr;return a?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom+1,around:o.unproject(a)},{originalEvent:t})}):s?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom-1,around:o.unproject(s)},{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}}class Na{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset();}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t);}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0));}dragMove(t,e){if(!this.isEnabled())return;const i=this._lastPoint;if(!i)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const a=e.length?e[0]:e;return !this._moved&&a.dist(i){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault();};},Va=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new Ua({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Na({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:qa})},Ga=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new Ua({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Na({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:qa})};class Wa{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset();}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0);}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._active&&!(i.length0&&(this._active=!0);const s=La(a,i),o=new e.P(0,0),r=new e.P(0,0);let n=0;for(const t in s){const e=s[t],i=this._touches[t];i&&(o._add(e),r._add(e.sub(i)),n++,s[t]=e);}if(this._touches=s,nMath.abs(t.x)}class ts extends $a{constructor(t){super(),this._currentTouchCount=0,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,Qa(t[0].sub(t[1]))&&(this._valid=!1);}_move(t,e,i){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const a=t[0].sub(this._lastPoints[0]),s=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(a,s,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(a.y+s.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const a=t.mag()>=2,s=e.mag()>=2;if(!a&&!s)return;if(!a||!s)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=t.y>0==e.y>0;return Qa(t)&&Qa(e)&&o}}const es={panStep:100,bearingStep:15,pitchStep:10};class is{constructor(t){this._tr=new Ra(t);const e=es;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1;}reset(){this._active=!1;}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,a=0,s=0,o=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(),s=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),s=1);break;case 38:t.shiftKey?a=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?a=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,a=0),{cameraAnimation:r=>{const n=this._tr;r.easeTo({duration:300,easeId:\"keyboardHandler\",easing:as,zoom:e?Math.round(n.zoom)+e*(t.shiftKey?2:1):n.zoom,bearing:n.bearing+i*this._bearingStep,pitch:n.pitch+a*this._pitchStep,offset:[-s*this._panStep,-o*this._panStep],center:n.center},{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 as(t){return t*(2-t)}const ss=4.000244140625;class os{constructor(t,e){this._onTimeout=t=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},this._map=t,this._tr=new Ra(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222;}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(t){if(!this.isEnabled())return;if(this._map.cooperativeGestures.isEnabled()&&!t[this._map.cooperativeGestures._bypassKey])return;let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const i=o.now(),a=i-(this._lastWheelEventTime||0);this._lastWheelEventTime=i,0!==e&&e%ss==0?this._type=\"wheel\":0!==e&&Math.abs(e)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(a*e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault();}_start(t){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=r.mousePos(this._map.getCanvas(),t),a=this._tr;this._around=i.y>a.transform.height/2-a.transform.getHorizon()?e.N.convert(this._aroundCenter?a.center:a.unproject(i)):e.N.convert(a.center),this._aroundPoint=a.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e=\"wheel\"===this._type&&Math.abs(this._delta)>ss?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==i&&(i=1/i);const a=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}const i=\"number\"==typeof this._targetZoom?this._targetZoom:t.zoom,a=this._startZoom,s=this._easing;let r,n=!1;if(\"wheel\"===this._type&&a&&s){const t=Math.min((o.now()-this._lastWheelEventTime)/200,1),l=s(t);r=e.z.number(a,i,l),t<1?this._frameId||(this._frameId=!0):n=!0;}else r=i,n=!0;return this._active=!0,n&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!n,zoomDelta:r-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.b9;if(this._prevEase){const t=this._prevEase,a=(o.now()-t.start)/t.duration,s=t.easing(a+.01)-t.easing(a),r=.27/Math.sqrt(s*s+1e-4)*.01,n=Math.sqrt(.0729-r*r);i=e.b8(r,n,.25,1);}return this._prevEase={start:o.now(),duration:t,easing:i},i}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);}}class rs{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 ns{constructor(t){this._tr=new Ra(t),this.reset();}reset(){this._active=!1;}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class ls{constructor(){this._tap=new Ba({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset();}touchstart(t,e,i){if(!this._swipePoint)if(this._tapTime){const a=e[0],s=t.timeStamp-this._tapTime<500,o=this._tapPoint.dist(a)<30;s&&o?i.length>0&&(this._swipePoint=a,this._swipeTouch=i[0].identifier):this.reset();}else this._tap.touchstart(t,e,i);}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const a=e[0],s=a.y-this._swipePoint.y;return this._swipePoint=a,t.preventDefault(),this._active=!0,{zoomDelta:s/128}}}else this._tap.touchmove(t,e,i);}touchend(t,e,i){if(this._tapTime)this._swipePoint&&0===i.length&&this.reset();else {const a=this._tap.touchend(t,e,i);a&&(this._tapTime=t.timeStamp,this._tapPoint=a);}}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class hs{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\");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class cs{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 us{constructor(t,e,i,a){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=a,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\");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-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();}}class ds{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf(\"Mac\")?\"metaKey\":\"ctrlKey\",this._map=t,this._options=e,this._enabled=!1;}isActive(){return !1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add(\"maplibregl-cooperative-gestures\"),this._container=r.create(\"div\",\"maplibregl-cooperative-gesture-screen\",t);let e=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");\"metaKey\"===this._bypassKey&&(e=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));const i=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),a=document.createElement(\"div\");a.className=\"maplibregl-desktop-message\",a.textContent=e,this._container.appendChild(a);const s=document.createElement(\"div\");s.className=\"maplibregl-mobile-message\",s.textContent=i,this._container.appendChild(s),this._container.setAttribute(\"aria-hidden\",\"true\");}_destoryUI(){this._container&&(r.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container;}enable(){this._setupUI(),this._enabled=!0;}disable(){this._enabled=!1,this._destoryUI();}isEnabled(){return this._enabled}touchmove(t){this._onCooperativeGesture(1===t.touches.length);}wheel(t){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!t[this._bypassKey]);}_onCooperativeGesture(t){this._enabled&&t&&(this._container.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._container.classList.remove(\"maplibregl-show\");}),100));}}const _s=t=>t.zoom||t.drag||t.pitch||t.rotate;class ps extends e.k{}function ms(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class fs{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`);},this.handleEvent=(t,e)=>{if(\"blur\"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i=\"renderFrame\"===t.type?void 0:t,a={needsRenderFrame:!1},s={},o={},n=t.touches,l=n?this._getMapTouches(n):void 0,h=l?r.touchPos(this._map.getCanvas(),l):r.mousePos(this._map.getCanvas(),t);for(const{handlerName:r,handler:n,allowed:c}of this._handlers){if(!n.isEnabled())continue;let u;this._blockedByActive(o,c,r)?n.reset():n[e||t.type]&&(u=n[e||t.type](t,h,l),this.mergeHandlerResult(a,s,u,r,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||n.isActive())&&(o[r]=n);}const c={};for(const t in this._previousActiveHandlers)o[t]||(c[t]=i);this._previousActiveHandlers=o,(Object.keys(c).length||ms(a))&&(this._changes.push([a,s,c]),this._triggerRenderFrame()),(Object.keys(o).length||ms(a))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=a;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map));},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ea(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const i=this._el;this._listeners=[[i,\"touchstart\",{passive:!0}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,i]of this._listeners)r.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}destroy(){for(const[t,e,i]of this._listeners)r.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new Ma(e,t));const a=e.boxZoom=new ka(e,t);this._add(\"boxZoom\",a),t.interactive&&t.boxZoom&&a.enable();const s=e.cooperativeGestures=new ds(e,t.cooperativeGestures);this._add(\"cooperativeGestures\",s),t.cooperativeGestures&&s.enable();const o=new Oa(e),n=new ns(e);e.doubleClickZoom=new rs(n,o),this._add(\"tapZoom\",o),this._add(\"clickZoom\",n),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new ls;this._add(\"tapDragZoom\",l);const h=e.touchPitch=new ts(e);this._add(\"touchPitch\",h),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const c=Va(t),u=Ga(t);e.dragRotate=new cs(t,c,u),this._add(\"mouseRotate\",c,[\"mousePitch\"]),this._add(\"mousePitch\",u,[\"mouseRotate\"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const d=(({enable:t,clickTolerance:e})=>{const i=new Ua({checkCorrectEvent:t=>0===r.mouseButton(t)&&!t.ctrlKey});return new Na({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:i,enable:t,assignEvents:qa})})(t),_=new Wa(t,e);e.dragPan=new hs(i,d,_),this._add(\"mousePan\",d),this._add(\"touchPan\",_,[\"touchZoom\",\"touchRotate\"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const p=new Ya,m=new Ka;e.touchZoomRotate=new us(i,m,p,l),this._add(\"touchRotate\",p,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",m,[\"touchPan\",\"touchRotate\"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const f=e.scrollZoom=new os(e,(()=>this._triggerRenderFrame()));this._add(\"scrollZoom\",f,[\"mousePan\"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const g=e.keyboard=new is(e);this._add(\"keyboard\",g),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add(\"blockableMapEvent\",new Aa(e));}_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(_s(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const a in t)if(a!==i&&(!e||e.indexOf(a)<0))return !0;return !1}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}mergeHandlerResult(t,i,a,s,o){if(!a)return;e.e(t,a);const r={handlerName:s,originalEvent:a.originalEvent||o};void 0!==a.zoomDelta&&(i.zoom=r),void 0!==a.panDelta&&(i.drag=r),void 0!==a.pitchDelta&&(i.pitch=r),void 0!==a.bearingDelta&&(i.rotate=r);}_applyChanges(){const t={},i={},a={};for(const[s,o,r]of this._changes)s.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(s.panDelta)),s.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(t.around=s.around),void 0!==s.pinchAround&&(t.pinchAround=s.pinchAround),s.noInertia&&(t.noInertia=s.noInertia),e.e(i,o),e.e(a,r);this._updateMapTransform(t,i,a),this._changes=[];}_updateMapTransform(t,e,i){const a=this._map,s=a._getTransformForUpdate(),o=a.terrain;if(!(ms(t)||o&&this._terrainMovement))return this._fireEvents(e,i,!0);let{panDelta:r,zoomDelta:n,bearingDelta:l,pitchDelta:h,around:c,pinchAround:u}=t;void 0!==u&&(c=u),a._stop(!0),c=c||a.transform.centerPoint;const d=s.pointLocation(r?c.sub(r):c);l&&(s.bearing+=l),h&&(s.pitch+=h),n&&(s.zoom+=n),o?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?s.center=s.pointLocation(s.centerPoint.sub(r)):s.setLocationAtPoint(d,c):(this._terrainMovement=!0,this._map._elevationFreeze=!0,s.setLocationAtPoint(d,c)):s.setLocationAtPoint(d,c),a._applyUpdatedTransform(s),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);}_fireEvents(t,i,a){const s=_s(this._eventsInProgress),r=_s(t),n={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(n[`${e}start`]=i),this._eventsInProgress[e]=t[e];}!s&&r&&this._fireEvent(\"movestart\",r.originalEvent);for(const t in n)this._fireEvent(t,n[t]);r&&this._fireEvent(\"move\",r.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i);}const l={};let h;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:a}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],h=i[e]||a,l[`${t}end`]=h);}for(const t in l)this._fireEvent(t,l[t]);const c=_s(this._eventsInProgress),u=(s||r)&&!c;if(u&&this._terrainMovement&&(this._map._elevationFreeze=!1,this._terrainMovement=!1,this._map.transform.recalculateZoom(this._map.terrain)),a&&u){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new ps(\"renderFrame\",{timeStamp:t})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}class gs extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((o.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on(\"moveend\",(()=>{delete this._requestedCameraState;}));}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,i,a){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},i),a)}panTo(t,i,a){return this.easeTo(e.e({center:t},i),a)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,i,a){return this.easeTo(e.e({zoom:t},i),a)}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(t,i,a){return this.easeTo(e.e({bearing:t},i),a)}resetNorth(t,i){return this.rotateTo(0,e.e({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(s.zoom=e.z.number(r,g,a)),this._rotating&&(s.bearing=e.z.number(n,c,a)),this._pitching&&(s.pitch=e.z.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a),b)s.setLocationAtPoint(b,w);else {const t=s.zoomScale(s.zoom-r),e=g>r?Math.min(2,y):Math.max(.5,y),i=Math.pow(e,1-a),o=s.unproject(v.add(x.mult(a*i)).mult(t));s.setLocationAtPoint(s.renderWorldCopies?o.wrap():o,p);}this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i,e);}),t),this}_prepareEase(t,i,a={}){this._moving=!0,i||a.moving||this.fire(new e.k(\"movestart\",t)),this._zooming&&!a.zooming&&this.fire(new e.k(\"zoomstart\",t)),this._rotating&&!a.rotating&&this.fire(new e.k(\"rotatestart\",t)),this._pitching&&!a.pitching&&this.fire(new e.k(\"pitchstart\",t));}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0;}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&i!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(e-(i-(e*t+this._elevationStart))/(1-t)),this._elevationTarget=i;}this.transform.elevation=e.z.number(this._elevationStart,this._elevationTarget,t);}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain);}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(t){if(!this.transformCameraUpdate)return;const e=t.clone(),{center:i,zoom:a,pitch:s,bearing:o,elevation:r}=this.transformCameraUpdate(e);i&&(e.center=i),void 0!==a&&(e.zoom=a),void 0!==s&&(e.pitch=s),void 0!==o&&(e.bearing=o),void 0!==r&&(e.elevation=r),this.transform.apply(e);}_fireMoveEvents(t){this.fire(new e.k(\"move\",t)),this._zooming&&this.fire(new e.k(\"zoom\",t)),this._rotating&&this.fire(new e.k(\"rotate\",t)),this._pitching&&this.fire(new e.k(\"pitch\",t));}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;const a=this._zooming,s=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,a&&this.fire(new e.k(\"zoomend\",t)),s&&this.fire(new e.k(\"rotateend\",t)),o&&this.fire(new e.k(\"pitchend\",t)),this.fire(new e.k(\"moveend\",t));}flyTo(t,i){var a;if(!t.essential&&o.prefersReducedMotion){const a=e.M(t,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(a,i)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},t);const s=this._getTransformForUpdate(),r=this.getZoom(),n=this.getBearing(),l=this.getPitch(),h=this.getPadding(),c=\"bearing\"in t?this._normalizeBearing(t.bearing,n):n,u=\"pitch\"in t?+t.pitch:l,d=\"padding\"in t?t.padding:s.padding,_=e.P.convert(t.offset);let p=s.centerPoint.add(_);const m=s.pointLocation(p),{center:f,zoom:g}=s.getConstrained(e.N.convert(t.center||m),null!==(a=t.zoom)&&void 0!==a?a:r);this._normalizeCenter(f);const v=s.zoomScale(g-r),x=s.project(m),y=s.project(f).sub(x);let b=t.curve;const w=Math.max(s.width,s.height),T=w/v,I=y.mag();if(\"minZoom\"in t){const i=e.ad(Math.min(t.minZoom,r,g),s.minZoom,s.maxZoom),a=w/s.zoomScale(i-r);b=Math.sqrt(a/I*2);}const E=b*b;function P(t){const e=(T*T-w*w+(t?-1:1)*E*E*I*I)/(2*(t?T:w)*E*I);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return (Math.exp(t)-Math.exp(-t))/2}function S(t){return (Math.exp(t)+Math.exp(-t))/2}const z=P(!1);let D=function(t){return S(z)/S(z+b*t)},M=function(t){return w*((S(z)*(C(e=z+b*t)/S(e))-C(z))/E)/I;var e;},A=(P(!0)-z)/b;if(Math.abs(I)<1e-6||!isFinite(A)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,i);const e=T0,D=t=>Math.exp(e*b*t);}return t.duration=\"duration\"in t?+t.duration:1e3*A/(\"screenSpeed\"in t?+t.screenSpeed/b:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=n!==c,this._pitching=u!==l,this._padding=!s.isPaddingEqual(d),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(f),this._ease((a=>{const o=a*A,m=1/D(o);s.zoom=1===a?g:r+s.scaleZoom(m),this._rotating&&(s.bearing=e.z.number(n,c,a)),this._pitching&&(s.pitch=e.z.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a);const v=1===a?f:s.unproject(x.add(y.mult(M(o))).mult(m));s.setLocationAtPoint(s.renderWorldCopies?v.wrap():v,p),this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i);}),t),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var i;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);}return t||null===(i=this.handlers)||void 0===i||i.stop(!1),this}_ease(t,e,i){!1===i.animate||0===i.duration?(t(1),e()):(this._easeStart=o.now(),this._easeOptions=i,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_normalizeBearing(t,i){t=e.b3(t,-180,180);const a=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0;}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const vs={compact:!0,customAttribution:'MapLibre'};class xs{constructor(t=vs){this._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\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")));},this._updateData=t=>{!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType&&\"terrain\"!==t.type||this._updateAttributions();},this._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\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"));},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\");},this.options=t;}getDefaultPosition(){return \"bottom-right\"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=r.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=r.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",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);}_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 a=e[i];if(a.used||a.usedForTerrain){const e=a.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 a=i+1;a=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\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null);}}class ys{constructor(t={}){this._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\"):e.classList.remove(\"maplibregl-compact\");}},this.options=t;}getDefaultPosition(){return \"bottom-left\"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=r.create(\"div\",\"maplibregl-ctrl\");const e=r.create(\"a\",\"maplibregl-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(){r.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0;}}class bs{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){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");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=[];}}var ws=e.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class Ts extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom;}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;}update(t,i){this.sourceCache.update(t,i),this._renderableTilesKeys=[];const a={};for(const s of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))a[s.key]=!0,this._renderableTilesKeys.push(s.key),this._tiles[s.key]||(s.posMatrix=new Float64Array(16),e.aQ(s.posMatrix,0,e.X,0,e.X,0,1),this._tiles[s.key]=new lt(s,this.tileSize));for(const t in this._tiles)a[t]||delete this._tiles[t];}freeRtt(t){for(const e in this._tiles){const i=this._tiles[e];(!t||i.tileID.equals(t)||i.tileID.isChildOf(t)||t.isChildOf(i.tileID))&&(i.rtt=[]);}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const i={};for(const a of this._renderableTilesKeys){const s=this._tiles[a].tileID;if(s.canonical.equals(t.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16),e.aQ(s.posMatrix,0,e.X,0,e.X,0,1),i[a]=s;}else if(s.canonical.isChildOf(t.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=s.canonical.z-t.canonical.z,n=s.canonical.x-(s.canonical.x>>r<>r<>r;e.aQ(o.posMatrix,0,h,0,h,0,1),e.J(o.posMatrix,o.posMatrix,[-n*h,-l*h,0]),i[a]=o;}else if(t.canonical.isChildOf(s.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=t.canonical.z-s.canonical.z,n=t.canonical.x-(t.canonical.x>>r<>r<>r;e.aQ(o.posMatrix,0,e.X,0,e.X,0,1),e.J(o.posMatrix,o.posMatrix,[n*h,l*h,0]),e.K(o.posMatrix,o.posMatrix,[1/2**r,1/2**r,0]),i[a]=o;}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let a=t.overscaledZ-this.deltaZoom;if(a>i.maxzoom&&(a=i.maxzoom),a=i.minzoom&&(!s||!s.dem);)s=this.sourceCache.getTileByID(t.scaledTo(a--).key);return s}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class Is{constructor(t,e,i){this.painter=t,this.sourceCache=new Ts(e),this.options=i,this.exaggeration=\"number\"==typeof i.exaggeration?i.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024;}getDEMElevation(t,i,a,s=e.X){var o;if(!(i>=0&&i=0&&at.canonical.z&&(t.canonical.z>=a?s=t.canonical.z-a:e.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const o=t.canonical.x-(t.canonical.x>>s<>s<>8<<4|t>>8,i[e+3]=0;const a=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),s=new b(t,a,t.gl.RGBA,{premultiply:!1});return s.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=s,s}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const i=new Uint8Array(4),a=this.painter.context,s=a.gl,o=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),r=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),n=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),s.readPixels(o,n-r-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),a.bindFramebuffer.set(null);const l=i[0]+(i[2]>>4<<8),h=i[1]+((15&i[2])<<8),c=this.coordsIndex[255-i[3]],u=c&&this.sourceCache.getTileByID(c);if(!u)return null;const d=this._coordsTextureSize,_=(1<t.id!==e)),this._recentlyUsed.push(t.id);}stampObject(t){t.stamp=++this._stamp;}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1;}freeAllObjects(){for(const t of this._objects)this.freeObject(t);}isFull(){return !(this._objects.length!t.inUse))}}const Ps={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Cs{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Es(t.context,30,e.sourceCache.tileSize*e.qualityFactor);}destruct(){this.pool.destruct();}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((i=>!t._layers[i].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const i=t.sourceCaches[e].getVisibleCoordinates();for(const t of i){const i=this.terrain.sourceCache.getTerrainCoords(t);for(const t in i)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(i[t]);}}this._coordsDescendingInvStr={};for(const e of t._order){const i=t._layers[e],a=i.source;if(Ps[i.type]&&!this._coordsDescendingInvStr[a]){this._coordsDescendingInvStr[a]={};for(const t in this._coordsDescendingInv[a])this._coordsDescendingInvStr[a][t]=this._coordsDescendingInv[a][t].map((t=>t.key)).sort().join();}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const i=this._coordsDescendingInvStr[e][t.tileID.key];i&&i!==t.rttCoords[e]&&(t.rtt=[]);}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return !1;const i=t.type,a=this.painter,s=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(Ps[i]&&(this._prevType&&Ps[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(t.id),!s))return !0;if(Ps[this._prevType]||Ps[i]&&s){this._prevType=i;const t=this._stacks.length-1,s=this._stacks[t]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(ca(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[t]){const e=this.pool.getObjectForId(i.rtt[t].id);if(e.stamp===i.rtt[t].stamp){this.pool.useObject(e);continue}}const o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[t]={id:o.id,stamp:o.stamp},a.context.bindFramebuffer.set(o.fbo.framebuffer),a.context.clear({color:e.aN.transparent,stencil:0}),a.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd;},As={showCompass:!0,showZoom:!0,visualizePitch:!1};class Rs{constructor(t,i,a=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),r.mousePos(this.element,t)),r.addEventListener(window,\"mousemove\",this.mousemove),r.addEventListener(window,\"mouseup\",this.mouseup);},this.mousemove=t=>{this.moveMouse(t,r.mousePos(this.element,t));},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp();},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),r.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.addEventListener(window,\"touchend\",this.touchend));},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos));},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();},this._clickTolerance=10;const s=t.dragRotate._mouseRotate.getClickTolerance(),o=t.dragRotate._mousePitch.getClickTolerance();this.element=i,this.mouseRotate=Va({clickTolerance:s,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new Za;return new Na({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:Ms})})({clickTolerance:s,enable:!0}),this.map=t,a&&(this.mousePitch=Ga({clickTolerance:o,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new Za;return new Na({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:Ms})})({clickTolerance:o,enable:!0})),r.addEventListener(i,\"mousedown\",this.mousedown),r.addEventListener(i,\"touchstart\",this.touchstart,{passive:!1}),r.addEventListener(i,\"touchcancel\",this.reset);}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),r.disableDrag();}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),r.disableDrag();}moveMouse(t,e){const i=this.map,{bearingDelta:a}=this.mouseRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.mousePitch){const{pitchDelta:a}=this.mousePitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}moveTouch(t,e){const i=this.map,{bearingDelta:a}=this.touchRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.touchPitch){const{pitchDelta:a}=this.touchPitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}off(){const t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();}offTemp(){r.enableDrag(),r.removeEventListener(window,\"mousemove\",this.mousemove),r.removeEventListener(window,\"mouseup\",this.mouseup),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend);}}let ks;function Ls(t,i,a){const s=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),i){const s=new e.N(t.lng-360,t.lat),o=new e.N(t.lng+360,t.lat),r=a.locationPoint(t).distSqr(i);a.locationPoint(s).distSqr(i)180;){const e=a.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=a.width&&e.y<=a.height)break;t.lng>a.center.lng?t.lng-=360:t.lng+=360;}return t.lng!==s.lng&&a.locationPoint(t).y>a.height/2-a.getHorizon()?t:s}const Fs={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 Bs(t,e,i){const a=t.classList;for(const t in Fs)a.remove(`maplibregl-${i}-anchor-${t}`);a.add(`maplibregl-${i}-anchor-${e}`);}class Os extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();},this._onMapClick=t=>{const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},this._update=t=>{var e;if(!this._map)return;const i=this._map.loaded()&&!this._map.isMoving();(\"terrain\"===(null==t?void 0:t.type)||\"render\"===(null==t?void 0:t.type)&&!i)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ls(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let a=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?a=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(a=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let s=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?s=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(s=`rotateX(${this._map.getPitch()}deg)`),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,`${Fs[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${s} ${a}`),o.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&\"moveend\"===t.type);})).catch((()=>{}));},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e;}this._isDragging&&(this._pos=t.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 e.k(\"dragstart\"))),this.fire(new e.k(\"drag\")));},this._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 e.k(\"dragend\")),this._state=\"inactive\";},this._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));},this._anchor=t&&t.anchor||\"center\",this._color=t&&t.color||\"#3FB1CE\",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||\"auto\",this._pitchAlignment=t&&t.pitchAlignment&&\"auto\"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else {this._defaultMarker=!0,this._element=r.create(\"div\");const i=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),a=41,s=27;i.setAttributeNS(null,\"display\",\"block\"),i.setAttributeNS(null,\"height\",`${a}px`),i.setAttributeNS(null,\"width\",`${s}px`),i.setAttributeNS(null,\"viewBox\",`0 0 ${s} ${a}`);const o=r.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 n=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");const h=[{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 h){const e=r.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 c=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");c.setAttributeNS(null,\"fill\",this._color);const u=r.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\"),c.appendChild(u);const d=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"opacity\",\"0.25\"),d.setAttributeNS(null,\"fill\",\"#000000\");const _=r.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 p=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),p.setAttributeNS(null,\"fill\",\"#FFFFFF\");const m=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const f=r.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=r.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\"),m.appendChild(f),m.appendChild(g),n.appendChild(l),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(m),i.appendChild(n),i.setAttributeNS(null,\"height\",a*this._scale+\"px\"),i.setAttributeNS(null,\"width\",s*this._scale+\"px\"),this._element.appendChild(i),this._offset=e.P.convert(t&&t.offset||[0,-14]);}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault();})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault();})),Bs(this._element,this._anchor,\"marker\"),t&&t.className)for(const e of t.className.split(\" \"))this._element.classList.add(e);this._popup=null;}addTo(t){return this.remove(),this._map=t,this._element.setAttribute(\"aria-label\",t._getUIString(\"Marker.Title\")),t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),t.on(\"terrain\",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(\"terrain\",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),r.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),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,a=Math.abs(i)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-e],\"bottom-left\":[a,-1*(e-i+a)],\"bottom-right\":[-a,-1*(e-i+a)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset;}this._popup=t,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var i,a;if(!(null===(i=this._map)||void 0===i?void 0:i.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else {if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null;}),100);}const s=this._map,o=s.terrain.depthAtPoint(this._pos),r=s.terrain.getElevationForLngLatZoom(this._lngLat,s.transform.tileZoom);if(s.transform.lngLatToCameraDepth(this._lngLat,r)-o<.006)return void(this._element.style.opacity=this._opacity);const n=-this._offset.y/s.transform._pixelPerMeter,l=Math.sin(s.getPitch()*Math.PI/180)*n,h=s.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),c=s.transform.lngLatToCameraDepth(this._lngLat,r+l)-h>.006;(null===(a=this._popup)||void 0===a?void 0:a.isOpen())&&c&&this._popup.remove(),this._element.style.opacity=c?this._opacityWhenCovered:this._opacity;}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t);}removeClassName(t){this._element.classList.remove(t);}toggleClassName(t){return this._element.classList.toggle(t)}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}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const Ns={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let js=0,Us=!1;const Zs={maxWidth:100,unit:\"metric\"};function qs(t,e,i){const a=i&&i.maxWidth||100,s=t._container.clientHeight/2,o=t.unproject([0,s]),r=t.unproject([a,s]),n=o.distanceTo(r);if(i&&\"imperial\"===i.unit){const i=3.2808*n;i>5280?Vs(e,a,i/5280,t._getUIString(\"ScaleControl.Miles\")):Vs(e,a,i,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?Vs(e,a,n/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):n>=1e3?Vs(e,a,n/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Vs(e,a,n,t._getUIString(\"ScaleControl.Meters\"));}function Vs(t,e,i,a){const s=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*(s/i)+\"px\",t.innerHTML=`${s} ${a}`;}const Gs={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Ws=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function $s(t){if(t){if(\"number\"==typeof t){const i=Math.round(Math.abs(t)/Math.SQRT2);return {center:new e.P(0,0),top:new e.P(0,t),\"top-left\":new e.P(i,i),\"top-right\":new e.P(-i,i),bottom:new e.P(0,-t),\"bottom-left\":new e.P(i,-i),\"bottom-right\":new e.P(-i,-i),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const i=e.P.convert(t);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:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),\"top-left\":e.P.convert(t[\"top-left\"]||[0,0]),\"top-right\":e.P.convert(t[\"top-right\"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),\"bottom-left\":e.P.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":e.P.convert(t[\"bottom-right\"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return $s(new e.P(0,0))}const Xs=i;t.AJAXError=e.bg,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bh,t.config=e.a,t.removeProtocol=e.bi,t.AttributionControl=xs,t.BoxZoomHandler=ka,t.CanvasSource=et,t.CooperativeGesturesHandler=ds,t.DoubleClickZoomHandler=rs,t.DragPanHandler=hs,t.DragRotateHandler=cs,t.EdgeInsets=ma,t.FullscreenControl=class extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange();},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen();},this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w(\"Full screen control 'container' must be a DOM element.\")),\"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(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){r.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange);}_setupUI(){const t=this._fullscreenButton=r.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"maplibregl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange);}_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}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new e.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable());}_exitFullscreen(){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._togglePseudoFullScreen();}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen();}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize();}},t.GeoJSONSource=J,t.GeolocateControl=class extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k(\"outofmaxbounds\",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"geolocate\",t)),this._finish();}},this._updateCamera=t=>{const i=new e.N(t.coords.longitude,t.coords.latitude),a=t.coords.accuracy,s=this._map.getBearing(),o=e.e({bearing:s},this.options.fitBoundsOptions),r=W.fromLngLat(i,a);this._map.fitBounds(r,o,{geolocateSource:!0});},this._updateMarker=t=>{if(t){const i=new e.N(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-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===t.code&&Us)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"error\",t)),this._finish();}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},this._setupUI=t=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=r.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),r.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",!1===t){e.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}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=r.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Os({element:this._dotElement}),this._circleElement=r.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Os({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(t=>{t.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||t.originalEvent&&\"resize\"===t.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new e.k(\"trackuserlocationend\")),this.fire(new e.k(\"userlocationlostfocus\")));}));}},this.options=e.e({},Ns,t);}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==ks&&!t)return ks;if(void 0===window.navigator.permissions)return ks=!!window.navigator.geolocation,ks;try{const t=yield window.navigator.permissions.query({name:\"geolocation\"});ks=\"denied\"!==t.state;}catch(t){ks=!!window.navigator.geolocation;}return ks}))}().then((t=>this._setupUI(t))),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(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,js=0,Us=!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\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),i=t.getNorthEast(),a=e.distanceTo(i),s=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${s}px`,this._circleElement.style.height=`${s}px`;}trigger(){if(!this._setup)return e.w(\"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 e.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":js--,Us=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new e.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k(\"trackuserlocationstart\")),this.fire(new e.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}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\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),js++,js>1?(t={maximumAge:6e5,timeout:0},Us=!0):(t=this.options.positionOptions,Us=!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\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);}},t.Hash=xa,t.ImageSource=Q,t.KeyboardHandler=is,t.LngLatBounds=W,t.LogoControl=ys,t.Map=class extends gs{constructor(t){e.be.mark(e.bf.create);const i=Object.assign(Object.assign({},Ds),t);if(null!=i.minZoom&&null!=i.maxZoom&&i.minZoom>i.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=i.minPitch&&null!=i.maxPitch&&i.minPitch>i.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=i.minPitch&&i.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=i.maxPitch&&i.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new ga(i.minZoom,i.maxZoom,i.minPitch,i.maxPitch,i.renderWorldCopies),{bearingSnap:i.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new bs,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k(\"webglcontextlost\",{originalEvent:t}));},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k(\"webglcontextrestored\",{originalEvent:t}));},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update();},this._interactive=i.interactive,this._maxTileCacheSize=i.maxTileCacheSize,this._maxTileCacheZoomLevels=i.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===i.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===i.preserveDrawingBuffer,this._antialias=!0===i.antialias,this._trackResize=!0===i.trackResize,this._bearingSnap=i.bearingSnap,this._refreshExpiredTiles=!0===i.refreshExpiredTiles,this._fadeDuration=i.fadeDuration,this._crossSourceCollisions=!0===i.crossSourceCollisions,this._collectResourceTiming=!0===i.collectResourceTiming,this._locale=Object.assign(Object.assign({},Ss),i.locale),this._clickTolerance=i.clickTolerance,this._overridePixelRatio=i.pixelRatio,this._maxCanvasSize=i.maxCanvasSize,this.transformCameraUpdate=i.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===i.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=_.addThrottleControl((()=>this.isMoving())),this._requestManager=new p(i.transformRequest),\"string\"==typeof i.container){if(this._container=document.getElementById(i.container),!this._container)throw new Error(`Container '${i.container}' not found.`)}else {if(!(i.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=i.container;}if(i.maxBounds&&this.setMaxBounds(i.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",(()=>this._update(!1))).on(\"moveend\",(()=>this._update(!1))).on(\"zoom\",(()=>this._update(!0))).on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0);})).once(\"idle\",(()=>{this._idleTriggered=!0;})),\"undefined\"!=typeof window){addEventListener(\"online\",this._onWindowOnline,!1);let t=!1;const e=va((t=>{this._trackResize&&!this._removed&&this.resize(t)._update();}),50);this._resizeObserver=new ResizeObserver((i=>{t?e(i):t=!0;})),this._resizeObserver.observe(this._container);}this.handlers=new fs(this,i),this._hash=i.hash&&new xa(\"string\"==typeof i.hash&&i.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch}),i.bounds&&(this.resize(),this.fitBounds(i.bounds,e.e({},i.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=i.localIdeographFontFamily,this._validateStyle=i.validateStyle,i.style&&this.setStyle(i.style,{localIdeographFontFamily:i.localIdeographFontFamily}),i.attributionControl&&this.addControl(new xs(\"boolean\"==typeof i.attributionControl?void 0:i.attributionControl)),i.maplibreLogo&&this.addControl(new ys,i.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(t=>{this._update(\"style\"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t));})),this.on(\"dataloading\",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t));})),this.on(\"dataabort\",(t=>{this.fire(new e.k(\"sourcedataabort\",t));}));}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():\"top-right\"),!t||!t.onAdd)return this.fire(new e.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const a=t.onAdd(this);this._controls.push(t);const s=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?s.insertBefore(a,s.firstChild):s.appendChild(a),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,a){return null==a&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(i,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,i,a)}resize(t){var i;const a=this._containerDimensions(),s=a[0],o=a[1],r=this._getClampedPixelRatio(s,o);if(this._resizeCanvas(s,o,r),this.painter.resize(s,o,r),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(s,o);this._resizeCanvas(s,o,e),this.painter.resize(s,o,e);}this.transform.resize(s,o),null===(i=this._requestedCameraState)||void 0===i||i.resize(s,o);const n=!this._moving;return n&&(this.stop(),this.fire(new e.k(\"movestart\",t)).fire(new e.k(\"move\",t))),this.fire(new e.k(\"resize\",t)),n&&this.fire(new e.k(\"moveend\",t)),this}_getClampedPixelRatio(t,e){const{0:i,1:a}=this._maxCanvasSize,s=this.getPixelRatio(),o=t*s,r=e*s;return Math.min(o>i?i/o:1,r>a?a/r:1)*s}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize();}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(W.convert(t)),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(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,i){if(\"mouseenter\"===t||\"mouseover\"===t){let a=!1;const s=s=>{const o=this.getLayer(e)?this.queryRenderedFeatures(s.point,{layers:[e]}):[];o.length?a||(a=!0,i.call(this,new Sa(t,this,s.originalEvent,{features:o}))):a=!1;};return {layer:e,listener:i,delegates:{mousemove:s,mouseout:()=>{a=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let a=!1;const s=s=>{(this.getLayer(e)?this.queryRenderedFeatures(s.point,{layers:[e]}):[]).length?a=!0:a&&(a=!1,i.call(this,new Sa(t,this,s.originalEvent)));},o=e=>{a&&(a=!1,i.call(this,new Sa(t,this,e.originalEvent)));};return {layer:e,listener:i,delegates:{mousemove:s,mouseout:o}}}{const a=t=>{const a=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];a.length&&(t.features=a,i.call(this,t),delete t.features);};return {layer:e,listener:i,delegates:{[t]:a}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const a=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(a);for(const t in a.delegates)this.on(t,a.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const a=this._createDelegatedListener(t,e,i);for(const t in a.delegates)this.once(t,a.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(a=>{const s=this._delegatedListeners[t];for(let t=0;tthis._updateStyle(t,e)));const i=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new ue(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t,e,i):this.style.loadJSON(t,e,i),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new ue(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());}_diffStyle(t,i){if(\"string\"==typeof t){const a=this._requestManager.transformRequest(t,\"Style\");e.h(a,new AbortController).then((t=>{this._updateDiff(t.data,i);})).catch((t=>{t&&this.fire(new e.j(t));}));}else \"object\"==typeof t&&this._updateDiff(t,i);}_updateDiff(t,i){try{this.style.setState(t,i)&&this._update(!0);}catch(a){e.w(`Unable to perform style diff: ${a.message||a.error||a}. Rebuilding the style from scratch.`),this._updateStyle(t,i);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w(\"There is no style added to the map.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)));}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),t){const i=this.style.sourceCaches[t.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&i.reload();for(const i in this.style._layers){const a=this.style._layers[i];\"hillshade\"===a.type&&a.source===t.source&&e.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\");}this.terrain=new Is(this.painter,i,t),this.painter.renderToTexture=new Cs(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{\"style\"===e.dataType?this.terrain.sourceCache.freeRtt():\"source\"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID));},this.style.on(\"data\",this._terrainDataCallback);}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k(\"terrain\",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}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}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,i,a={}){const{pixelRatio:s=1,sdf:r=!1,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u}=a;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||e.b(i))){if(void 0===i.width||void 0===i.height)return this.fire(new e.j(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:a,height:o,data:d}=i,_=i;return this.style.addImage(t,{data:new e.R({width:a,height:o},new Uint8Array(d)),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0,userImage:_}),_.onAdd&&_.onAdd(this,t),this}}{const{width:a,height:d,data:_}=o.getImageData(i);this.style.addImage(t,{data:new e.R({width:a,height:d},_),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0});}}updateImage(t,i){const a=this.style.getImage(t);if(!a)return this.fire(new e.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const s=i instanceof HTMLImageElement||e.b(i)?o.getImageData(i):i,{width:r,height:n,data:l}=s;if(void 0===r||void 0===n)return this.fire(new e.j(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(r!==a.data.width||n!==a.data.height)return this.fire(new e.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));const h=!(i instanceof HTMLImageElement||e.b(i));return a.data.replace(l,h),this.style.updateImage(t,a),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t);}loadImage(t){return _.getImage(this._requestManager.transformRequest(t,\"Image\"),new AbortController)}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)}getLayersOrder(){return this.style.getLayersOrder()}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,a={}){return this.style.setPaintProperty(t,e,i,a),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,a={}){return this.style.setLayoutProperty(t,e,i,a),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,i={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,i,(t=>{t||this._update(!0);})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0);})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}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\");const e=this._canvasContainer=r.create(\"div\",\"maplibregl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\"),this._canvas=r.create(\"canvas\",\"maplibregl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");const i=this._containerDimensions(),a=this._getClampedPixelRatio(i[0],i[1]);this._resizeCanvas(i[0],i[1],a);const s=this._controlContainer=r.create(\"div\",\"maplibregl-control-container\",t),o=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{o[t]=r.create(\"div\",`maplibregl-ctrl-${t} `,s);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_resizeCanvas(t,e,i){this._canvas.width=Math.floor(i*t),this._canvas.height=Math.floor(i*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`;}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener(\"webglcontextcreationerror\",(i=>{e={requestedAttributes:t},i&&(e.statusMessage=i.statusMessage,e.type=i.type);}),{once:!0});const i=this._canvas.getContext(\"webgl2\",t)||this._canvas.getContext(\"webgl\",t);if(!i){const t=\"Failed to initialize WebGL\";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new da(i,this.transform),n.testSupport(i);}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(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(t){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,s=o.now();this.style.zoomHistory.update(t,s);const r=new e.a9(t,{now:s,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(a=!0,this._crossFadingFactor=n),this.style.update(r);}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,i,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:i,showPadding:this.showPadding}),this.fire(new e.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.be.mark(e.bf.load),this.fire(new e.k(\"load\"))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const s=this._sourcesDirty||this._styleDirty||this._placementDirty;return s||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k(\"idle\")),!this._loaded||this._fullyLoaded||s||(this._fullyLoaded=!0,e.be.mark(e.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),\"undefined\"!=typeof window&&removeEventListener(\"online\",this._onWindowOnline,!1),_.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const i=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");(null==i?void 0:i.loseContext)&&i.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),r.remove(this._canvasContainer),r.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),e.be.clearMetrics(),this._removed=!0,this.fire(new e.k(\"remove\"));}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((t=>{e.be.frame(t),this._frameRequest=null,this._render(t);})).catch((()=>{})));}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();}get version(){return zs}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Sa,t.MapTouchEvent=za,t.MapWheelEvent=Da,t.Marker=Os,t.NavigationControl=class{constructor(t){this._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());},this._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;},this._setButtonTitle=(t,e)=>{const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);},this.options=e.e({},As,t),this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",(t=>this._map.zoomIn({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",(t=>this._map.zoomOut({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t});})),this._compassIcon=r.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"));}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 Rs(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){r.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=r.create(\"button\",t,this._container);return i.type=\"button\",i.addEventListener(\"click\",e),i}},t.Popup=class extends e.E{constructor(t){super(),this.remove=()=>(this._content&&r.remove(this._content),this._container&&(r.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),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new e.k(\"close\"))),this),this._onMouseUp=t=>{this._update(t.point);},this._onMouseMove=t=>{this._update(t.point);},this._onDrag=t=>{this._update(t.point);},this._update=t=>{var e;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=r.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(\" \"))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\");}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ls(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const i=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let a=this.options.anchor;const s=$s(this.options.offset);if(!a){const t=this._container.offsetWidth,e=this._container.offsetHeight;let o;o=i.y+s.bottom.ythis._map.transform.height-e?[\"bottom\"]:[],i.xthis._map.transform.width-t/2&&o.push(\"right\"),a=0===o.length?\"bottom\":o.join(\"-\");}let o=i.add(s[a]);this.options.subpixelPositioning||(o=o.round()),r.setTransform(this._container,`${Fs[a]} translate(${o.x}px,${o.y}px)`),Bs(this._container,a,\"popup\");},this._onClose=()=>{this.remove();},this.options=e.e(Object.create(Gs),t);}addTo(t){return this._map&&this.remove(),this._map=t,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\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.k(\"open\")),this}isOpen(){return !!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=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\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=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\"),this._map._canvasContainer.classList.add(\"maplibregl-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 a;for(i.innerHTML=t;a=i.firstChild,a;)e.appendChild(a);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.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=r.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t;}_createCloseButton(){this.options.closeButton&&(this._closeButton=r.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(Ws);t&&t.focus();}},t.RasterDEMTileSource=K,t.RasterTileSource=H,t.ScaleControl=class{constructor(t){this._onMove=()=>{qs(this._map,this._container,this.options);},this.setUnit=t=>{this.options.unit=t,qs(this._map,this._container,this.options);},this.options=Object.assign(Object.assign({},Zs),t);}getDefaultPosition(){return \"bottom-left\"}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;}},t.ScrollZoomHandler=os,t.Style=ue,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon();},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"));},this.options=t;}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=r.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),r.create(\"span\",\"maplibregl-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(){r.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0;}},t.TwoFingersTouchPitchHandler=ts,t.TwoFingersTouchRotateHandler=Ya,t.TwoFingersTouchZoomHandler=Ka,t.TwoFingersTouchZoomRotateHandler=us,t.VectorTileSource=X,t.VideoSource=tt,t.addSourceType=(t,i)=>e._(void 0,void 0,void 0,(function*(){if(at(t))throw new Error(`A source type called \"${t}\" already exists.`);((t,e)=>{it[t]=e;})(t,i);})),t.clearPrewarmedResources=function(){const t=B;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(k),B=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()\"));},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return nt().getRTLTextPluginStatus()},t.getVersion=function(){return Xs},t.getWorkerCount=function(){return L.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return U().broadcast(\"IS\",t)},t.prewarm=function(){N().acquire(k);},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t;},t.setRTLTextPlugin=function(t,e){return nt().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){L.workerCount=t;},t.setWorkerUrl=function(t){e.a.WORKER_URL=t;};}));\n\n//\n// Our custom intro provides a specialized \"define()\" function, called by the\n// AMD modules below, that sets up the worker blob URL and then executes the\n// main module, storing its exported value as 'maplibregl'\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 const setRTLTextPlugin = (url, callback, deferred) => {\r\n maplibregl.setRTLTextPlugin(url, callback, deferred);\r\n};\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, // applies 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 _resize: function () {\r\n return this._glMap._resize;\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 v2 service params\r\n if (options.version !== 2) {\r\n if (options.language) {\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 if (options.worldview) {\r\n throw new Error('The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n if (options.places) {\r\n throw new Error('The places 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, {\r\n language: this.options.language,\r\n worldview: this.options.worldview,\r\n places: this.options.places\r\n });\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 if (Util.removeEsriAttribution) Util.removeEsriAttribution(map);\r\n\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 // call removeAttribution twice here\r\n // this is needed due to the 2 different ways that addAttribution is called inside _setupAttribution.\r\n // leaflet attributionControl.removeAttribution method ignore a call when the attribution sent is not present there\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n map.attributionControl.removeAttribution('');\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, setRTLTextPlugin } 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","maplibregl","modules","define","moduleName","_dependencies","moduleFactory","workerBundleString","shared","worker","sharedModule","index","window","setWorkerUrl","createObjectURL","Blob","type","t","e","r","n","Promise","s","l","next","o","throw","done","value","then","apply","__esModule","prototype","hasOwnProperty","call","default","SuppressedError","this","x","y","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","Math","sqrt","equals","dist","distSqr","angle","atan2","angleTo","angleWith","angleWithSep","cos","sin","convert","Array","isArray","cx","bx","ax","cy","by","ay","p1x","p1y","p2x","p2y","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","abs","solve","u","h","OffscreenCanvas","getContext","createImageBitmap","p","willReadFrequently","fillStyle","fillRect","floor","getImageData","data","f","d","min","max","m","g","v","w","_","A","S","k","WorkerGlobalScope","M","I","ImageBitmap","z","P","VideoFrame","Error","timestamp","format","startsWith","Uint8ClampedArray","copyTo","rect","width","height","offset","stride","close","C","B","V","E","F","MAX_PARALLEL_IMAGE_REQUESTS","MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME","MAX_TILE_CACHE_ZOOM_LEVELS","REGISTERED_PROTOCOLS","WORKER_URL","T","substring","$","L","constructor","super","status","statusText","body","D","self","referrer","location","protocol","parent","href","O","actor","sendAsync","targetMapId","fetch","Request","AbortController","method","credentials","headers","cache","signal","has","set","ok","blob","arrayBuffer","json","text","aborted","cacheControl","get","expires","mustQueue","XMLHttpRequest","open","responseType","setRequestHeader","Accept","withCredentials","onerror","onload","response","JSON","parse","getResponseHeader","addEventListener","abort","send","j","host","R","U","splice","q","N","Z","on","_listeners","off","_oneTimeListeners","once","fire","listens","_eventedParent","_eventedParentData","setEventedParent","K","$version","$root","version","required","values","name","center","zoom","bearing","period","units","pitch","light","sky","projection","terrain","transition","source_vector","vector","scheme","xyz","tms","promoteId","volatile","source_raster","raster","tileSize","source_raster_dem","encoding","terrarium","mapbox","custom","redFactor","blueFactor","greenFactor","baseShift","source_geojson","geojson","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","geometry_type","Point","LineString","Polygon","function","stops","base","property","identity","exponential","interval","categorical","colorSpace","rgb","lab","hcl","function_stop","anchor","position","color","intensity","exaggeration","mercator","globe","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","linear","nearest","paint_hillshade","paint_background","duration","delay","constant","G","J","forEach","X","H","Y","command","args","W","Q","tt","et","rt","nt","it","message","identifier","__line__","st","at","key","ot","bindings","concat","lt","kind","ut","ct","ht","pt","ft","dt","yt","mt","gt","xt","vt","bt","itemType","wt","_t","At","St","some","kt","Mt","It","zt","Pt","Ct","Bt","Vt","Et","PI","Ft","Tt","$t","Dt","Lt","pow","Ot","isNaN","Rt","jt","Ut","parseInt","padEnd","qt","Nt","Zt","Number","Kt","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","Gt","overwriteGetter","static","toLowerCase","trim","match","join","NaN","defineProperty","toString","transparent","Jt","sensitivity","locale","collator","Intl","Collator","usage","compare","resolvedLocale","resolvedOptions","Xt","scale","fontStack","textColor","Ht","sections","isEmpty","fromString","Yt","stringify","Wt","Set","Qt","te","available","ee","re","ne","ie","String","se","expectedType","evaluate","eachChild","outputDefined","ae","toJSON","oe","string","number","boolean","object","le","every","ue","ce","Boolean","parseColor","he","pe","globals","feature","featureState","formattedSection","_parseColorCache","availableImages","canonical","geometryType","geometry","canonicalID","properties","fe","registry","path","scope","errors","_isConstant","_parse","checkSubtype","typeAnnotation","de","result","ye","boundExpression","me","input","ge","needle","haystack","xe","fromIndex","ve","inputType","cases","outputs","otherwise","MAX_SAFE_INTEGER","be","branches","we","beginIndex","endIndex","_e","Ae","labels","Se","ke","Me","Ie","ze","Pe","Ce","array","padding","variableAnchorOffsetCollection","Be","operator","interpolation","Ve","controlPoints","interpolationFactor","Ee","Fe","Te","$e","lhs","rhs","hasUntypedArgument","Le","De","Oe","je","Re","Ue","qe","caseSensitive","diacriticSensitive","Ne","currency","minFractionDigits","maxFractionDigits","NumberFormat","minimumFractionDigits","maximumFractionDigits","Ze","font","content","Ke","Ge","Je","Xe","log","He","atan","exp","Ye","We","Qe","tr","ar","er","rr","nr","ir","sr","or","lr","ur","cr","hr","pr","geometries","features","fr","dr","_down","_up","pop","peek","yr","mr","xr","gr","vr","wr","area","br","_r","Ar","Sr","kr","kx","ky","distance","wrap","pointOnLine","Mr","Ir","zr","Pr","Cr","Br","Vr","Er","Fr","Tr","$r","Lr","Dr","Or","jr","Rr","Ur","qr","Nr","Zr","Kr","Gr","flat","Jr","case","coalesce","interpolate","let","literal","step","var","within","Xr","_evaluate","definitions","overloads","tn","Hr","Yr","Wr","Qr","en","nn","rn","sn","an","ln","un","cn","hn","pn","fn","gn","mn","yn","create","xn","interpolationType","bind","zoomStops","dn","register","typeof","rgba","heatmapDensity","lineProgress","accumulated","ln2","LN2","pi","log10","LN10","log2","asin","acos","ceil","isSupportedScript","upcase","toUpperCase","downcase","vn","_warningHistory","_evaluator","_defaultValue","_enumValues","evaluateWithoutErrorHandling","bn","wn","enum","formatted","resolvedImage","_n","_styleExpression","isStateDependent","An","Sn","Mn","kn","_parameters","_specification","In","zn","Pn","needGeometry","Vn","Bn","Cn","En","$n","Fn","Tn","Ln","Dn","On","jn","valueOf","Rn","Un","valueSpec","objectElementValidators","styleSpec","validateSpec","split","objectKey","qn","arrayElementValidator","arrayIndex","Nn","Zn","isFinite","Kn","expressionContext","propertyKey","propertyType","Gn","Jn","Xn","Hn","layerType","exec","Yn","Wn","Qn","ref","ti","ei","ri","sourceName","includes","ni","ii","si","ai","oi","constants","li","ui","ci","hi","fi","paintProperty","layoutProperty","di","yi","mi","gi","xi","vi","bi","cells","ArrayBuffer","Int32Array","subarray","bboxes","insert","_insertReadonly","extent","uid","_forEachCell","_insertCell","query","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","wi","_i","writeable","klass","omit","shallow","_classRegistryKey","Ai","Si","$name","ki","Date","RegExp","isView","ImageData","Mi","serialize","Ii","deserialize","zi","first","update","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","Pi","Arabic","Khmer","Hiragana","Katakana","Bopomofo","Kanbun","Ci","Ei","charCodeAt","Bi","Vi","Fi","Ti","$i","Li","Di","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","pluginStatus","pluginURL","setState","getState","setMethods","isParsed","getPluginURL","getRTLTextPluginStatus","Oi","now","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","fromScale","toScale","ji","specification","isDataDriven","possiblyEvaluate","Ri","transitioned","qi","untransitioned","Ui","_properties","_values","defaultTransitionablePropertyValues","getValue","setValue","getTransition","setTransition","Ni","begin","end","prior","defaultTransitioningPropertyValues","Gi","hasTransition","Zi","defaultPropertyValues","hasValue","Ki","isConstant","constantOr","defaultPossiblyEvaluatedValues","Ji","Xi","overrides","Hi","_calculate","from","to","Yi","Wi","Qi","overridableProperties","ts","es","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","setPaintProperty","validate","setLayoutProperty","_transitioningPaint","_crossfadeParameters","getLayoutProperty","_validate","getPaintProperty","endsWith","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","isHidden","updateTransitions","recalculate","is3D","isTileClipped","hasOffscreenPass","resize","rs","Int8","Int8Array","Uint8","Uint8Array","Int16","Int16Array","Uint16","Uint16Array","Int32","Uint32","Uint32Array","Float32","Float32Array","ns","_structArray","_pos1","size","_pos2","_pos4","_pos8","is","isTransferred","capacity","_trim","byteLength","bytesPerElement","_refreshViews","clear","reserve","uint8","ss","members","BYTES_PER_ELEMENT","as","components","alignment","os","int16","emplaceBack","emplace","ls","us","cs","hs","ps","float32","fs","uint16","ds","ys","ms","uint32","gs","xs","vs","bs","ws","_s","As","Ss","ks","Ms","Is","zs","Ps","Cs","anchorPointX","anchorPointY","x1","y1","x2","y2","featureIndex","sourceLayerIndex","bucketIndex","anchorPoint","Bs","Vs","anchorX","anchorY","glyphStartIndex","numGlyphs","vertexStartIndex","lineStartIndex","lineLength","segment","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","hidden","crossTileID","associatedIconIndex","Es","Fs","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","placedIconSymbolIndex","verticalPlacedIconSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","verticalIconBoxStartIndex","verticalIconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","numVerticalIconVertices","useRuntimeCollisionCircles","textBoxScale","collisionCircleDiameter","textAnchorOffsetStartIndex","textAnchorOffsetEndIndex","Ts","$s","getoffsetX","Ls","getx","gety","gettileUnitDistanceFromAnchor","Ds","textAnchor","textOffset0","textOffset1","Os","js","Rs","Us","qs","Ns","Zs","Ks","Gs","Js","Xs","Hs","Ys","Ws","Qs","ta","ea","ra","na","ia","segments","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","sortKey","vertexOffset","primitiveOffset","primitiveLength","destroy","vaos","sa","aa","oa","la","ua","ca","ha","pa","murmur3","murmur2","fa","da","ids","positions","indexed","ya","getPositions","start","Float64Array","ma","ga","xa","gl","va","current","uniform1f","ba","uniform4f","wa","_a","Aa","Sa","uniformNames","setUniform","getBinding","ka","patternFrom","patternTo","pixelRatioFrom","pixelRatioTo","setConstantPatternPositions","pixelRatio","tlbr","substr","Ma","maxValue","paintVertexAttributes","paintVertexArray","populatePaintArray","_setPaintValue","updatePaintArray","upload","paintVertexBuffer","updateData","createVertexBuffer","Ia","useIntegerZoom","za","layerId","zoomInPaintVertexArray","zoomOutPaintVertexArray","_setPaintValues","patterns","mid","tl","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","Pa","binders","_buffers","Ba","Va","cacheKey","getMaxValue","populatePaintArrays","updatePaintArrays","defines","getBinderAttributes","getBinderUniforms","getPaintVertexBuffers","getUniforms","binding","setUniforms","updatePaintBuffers","Ca","programConfigurations","needsUpload","_featureMap","_bufferOffset","composite","Ea","Fa","Ta","$a","loadGeometry","La","Da","Oa","overscaling","layerIds","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","addFeature","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","ja","Xa","Na","Ra","Ka","Ua","Ja","qa","Za","Ga","Ha","Ya","Wa","Qa","eo","ro","no","io","so","ao","hypot","arguments","oo","lo","uo","co","createBucket","queryRadius","queryIntersectsFeature","ho","cameraToCenterDistance","po","fo","yo","mo","RangeError","go","xo","vo","bo","wo","resolution","clips","evaluationKey","_o","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","Ao","So","ko","Mo","Io","zo","Po","Co","prev","steiner","Ro","Lo","Do","Vo","Yo","Zo","Wo","Bo","No","jo","prevZ","nextZ","Fo","Eo","To","$o","Uo","Ko","Xo","qo","Ho","Oo","Jo","Go","Qo","deviation","flatten","vertices","holes","dimensions","el","rl","patternDependencies","nl","il","patternFeatures","indexArray2","segments2","addFeatures","indexBuffer2","sl","al","ol","ll","ul","cl","hl","pl","fl","dl","yl","_pbf","_geometry","_keys","readFields","ml","readVarint","pos","types","readSVarint","toGeoJSON","xl","vl","bl","_features","wl","readString","readFloat","readDouble","readVarint64","readBoolean","_l","Al","VectorTile","VectorTileFeature","VectorTileLayer","Sl","kl","Ml","Il","centroidVertexArray","centroidVertexBuffer","vertexCount","Pl","zl","Cl","Bl","Vl","Fl","El","Tl","$l","Ll","Dl","Ol","jl","Rl","Ul","lineClipsArray","gradients","layoutVertexArray2","maxLineLength","layoutVertexBuffer2","lineFeatureClips","mapbox_clip_start","mapbox_clip_end","lineClips","addLine","scaledDistance","totalDistance","updateScaledDistance","e1","e2","updateDistance","addCurrentVertex","addHalfVertex","ql","Nl","Zl","Kl","Gl","Jl","gradientVersion","gradientExpression","stepInterpolant","Xl","Hl","Yl","Wl","Ql","tu","eu","toLocaleUpperCase","toLocaleLowerCase","ru","nu","iu","ou","su","au","buf","Varint","Fixed64","Bytes","Fixed32","lu","uu","cu","TextDecoder","hu","pu","fu","realloc","du","writeVarint","yu","writeSVarint","mu","writeFloat","gu","writeDouble","xu","writeBoolean","vu","writeFixed32","bu","writeSFixed32","wu","writeFixed64","_u","writeSFixed64","Au","Su","ku","skip","readMessage","readFixed32","readSFixed32","readFixed64","readSFixed64","decode","fromCharCode","readBytes","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","Mu","Iu","zu","Pu","bitmap","advance","Cu","metrics","Bu","Vu","Eu","Fu","stretchX","stretchY","textFitWidth","textFitHeight","paddedRect","displaySize","Tu","haveRenderCallbacks","addImages","copy","iconPositions","patternPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","$u","horizontalOnly","Lu","Du","imageName","Ou","sectionIndex","imageSectionID","addImageSection","addTextSection","getSection","getSectionIndex","getCharCode","verticalizePunctuation","Ru","getMaxScale","reduce","forText","getNextImageSectionCharCode","forImage","ju","fromFeature","Xu","positionedLines","iconsInText","verticalizable","positionedGlyphs","lineOffset","glyph","Yu","horizontalAlign","verticalAlign","Hu","Uu","qu","Nu","Zu","Ku","Gu","badness","priorBreak","Ju","Wu","Qu","tc","collisionPadding","ec","rc","nc","ic","layoutSize","minSize","maxSize","sc","ac","oc","lc","uc","cc","hc","dynamicLayoutVertexArray","opacityVertexArray","hasVisibleVertices","placedSymbolArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","itemSize","pc","layoutAttributes","collisionVertexArray","collisionVertexBuffer","fc","collisionBoxArray","hasRTLText","sortKeyRanges","collisionCircleArray","placementInvProjMatrix","placementViewportMatrix","textSizeData","iconSizeData","canOverlap","sortFeaturesByKey","sortFeaturesByY","writingModes","sourceID","createArrays","icon","glyphOffsetArray","lineVertexArray","symbolInstances","textAnchorOffsets","calculateGlyphDependencies","iconDependencies","glyphDependencies","getValueAndResolveTokens","factory","allowVerticalPlacement","shift","hasDebugData","textCollisionBox","iconCollisionBox","destroyDebugData","addToLineVertexArray","tileUnitDistanceFromAnchor","addSymbols","tex","pixelOffsetTL","pixelOffsetBR","minFontScaleX","minFontScaleY","glyphOffset","isSDF","_addCollisionDebugVertex","addCollisionDebugVertices","addDebugCollisionBoxes","generateCollisionDebugBuffers","_deserializeCollisionBoxesForSymbol","textBox","textFeatureIndex","verticalTextBox","verticalTextFeatureIndex","iconBox","iconFeatureIndex","verticalIconBox","verticalIconFeatureIndex","deserializeCollisionBoxes","collisionArrays","hasTextData","hasIconData","hasTextCollisionBoxData","hasIconCollisionBoxData","addIndicesForPlacedSymbol","getSortedSymbolIndexes","sortedAngle","symbolInstanceIndexes","addToSortKeyRanges","symbolInstanceEnd","symbolInstanceStart","sortFeatures","featureSortOrder","dc","yc","MAX_GLYPHS","addDynamicAttributes","mc","runtimeType","getOverride","hasOverride","gc","defaultValue","xc","_setPaintOverrides","hasPaintOverride","vc","bc","wc","_c","Ac","Sc","kc","onAdd","implementation","painter","context","onRemove","renderingMode","prerender","Mc","_methodToThrottle","_triggered","MessageChannel","_channel","port2","onmessage","trigger","port1","postMessage","setTimeout","remove","Ic","zc","lng","lat","toArray","distanceTo","lon","Pc","Cc","Bc","Vc","Ec","Fc","Tc","toLngLat","toAltitude","meterInMercatorCoordinateUnits","$c","Lc","jc","isChildOf","getTilePoint","Dc","Oc","overscaledZ","scaledTo","calculateScaledKey","children","isLessThan","wrapped","unwrapTo","overscaleFactor","toUnwrapped","Rc","dim","_idx","MIN_SAFE_INTEGER","unpack","getUnpackVector","getPixels","backfillBorder","Uc","_stringToNumber","_numberToString","encode","qc","_vectorTileFeature","_z","_x","_y","Nc","tileID","grid","grid3D","featureIndexArray","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","Kc","minX","minY","maxX","maxY","cameraQueryGeometry","Gc","loadMatchingFeature","transform","pixelPosMatrix","bucketLayerIDs","getId","Zc","intersectionZ","lookupSymbolFeatures","hasLayer","Jc","Xc","Hc","angleDelta","Yc","Wc","Qc","th","eh","rh","nh","ih","sh","oh","stretch","lh","fixed","ah","uh","boxStartIndex","circleDiameter","boxEndIndex","ch","hh","ph","fh","dh","SQRT2","yh","mh","gh","POSITIVE_INFINITY","xh","vh","bh","wh","textMaxSize","Ah","tilePixelRatio","compositeIconSizes","_h","Sh","sdf","isDoubleResolution","compositeTextSizes","compareText","kh","Mh","numItems","nodeSize","ArrayType","IndexArrayType","coords","_pos","_finished","Ih","range","Bh","zh","Ph","Ch","Vh","bf","load","fullLoad","Eh","Fh","Th","$h","Lh","Dh","mark","performance","frame","clearMetrics","clearMeasures","clearMarks","getPerformanceMetrics","measure","getEntriesByName","loadTime","fullLoadTime","fps","percentDroppedFrames","totalFrames","navigator","userAgent","safari","mapId","resolveRejects","tasks","taskQueue","abortControllers","messageHandlers","invoker","process","subscription","unsubscribe","removeEventListener","receive","globalScope","registerMessageHandler","random","resolve","reject","origin","sourceMapId","assign","transfer","processTask","completeTask","a$","a0","a1","a2","a3","document","createElement","muted","onloadstart","crossOrigin","src","appendChild","a4","a5","a6","a7","a8","a9","aA","aB","aC","aD","lastIndexOf","aE","render","aF","aG","aH","aI","uniform1i","aJ","aK","uniformMatrix4fv","aL","aM","aN","aO","uniform3f","aP","uniform2f","aQ","aR","aS","aT","aU","aV","aW","aX","aY","aZ","a_","ab","ad","af","ag","uSizeT","uSize","aj","ak","am","ap","aq","av","aw","az","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","bA","bB","bC","bb","bd","bg","bj","bk","bm","bucket","iconsNeedLinear","layoutIconSize","layoutTextSize","glyphMap","glyphPositions","imagePositions","imageMap","sdfIcons","showCollisionBoxes","bp","bq","_marks","bv","drawImage","clearRect","bw","bz","Image","revokeObjectURL","requestAnimationFrame","keyCache","_layerConfigs","_layers","familiesBySource","collectResourceTiming","returnDependencies","inFlightDependencies","stacks","icons","buckets","glyphAtlasImage","imageAtlas","iconMap","fetching","loading","loaded","loadVectorTile","vectorTile","rawData","loadTile","resourceTiming","reloadTile","abortTile","removeTile","rawImageData","reverse","rawGeometry","tags","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","minPoints","radius","fround","trees","clusterProps","time","points","_createTree","timeEnd","_cluster","getClusters","_limitZoom","getChildren","_getOriginId","_getOriginZoom","getLeaves","_appendLeaves","getTile","_addTileFeatures","getClusterExpansionZoom","cluster_id","point_count","_map","point_count_abbreviated","transformed","numPoints","numSimplified","numFeatures","indexMaxZoom","indexMaxPoints","debug","tileCoords","stats","total","splitTile","Map","_dataUpdateable","_geoJSONIndex","_geojsonTileLayer","_feature","byteOffset","loadData","_pendingRequest","_pendingData","loadAndProcessGeoJSON","superclusterOptions","geojsonVtOptions","abandoned","getData","loadGeoJSON","dataDiff","removeAll","delete","removeAllProperties","removeProperties","addOrUpdateProperties","newGeometry","removeSource","clusterId","getClusterChildren","getClusterLeaves","limit","layerIndexes","workerSources","demWorkerSources","externalWorkerSourceTypes","registerWorkerSource","addProtocol","removeProtocol","registerRTLTextPlugin","_getDEMWorkerSource","_getWorkerSource","_syncRTLPluginState","importScripts","_setImages","_getLayerIndex","removedIds","_getAvailableImages","frameAsync","cancelAnimationFrame","getImageCanvasContext","resolveURL","hardwareConcurrency","prefersReducedMotion","matchMedia","matches","docStyle","className","createElementNS","selectProp","userSelect","transformProp","capture","preventDefault","stopPropagation","suppressClickInternal","getBoundingClientRect","offsetWidth","offsetHeight","boundingClientRect","clientX","clientLeft","clientY","clientTop","getScale","getPoint","button","parentNode","removeChild","documentElement","testProp","supported","testSupport","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","isContextLost","deleteTexture","resetRequestQueue","addThrottleControl","removeThrottleControl","accept","abortController","requestParameters","supportImageRefresh","state","onError","onSuccess","HTMLImageElement","fetchPriority","_transformRequestFn","transformRequest","setTransformRequest","texture","useMipmap","pixelStoreUnpackFlipY","pixelStoreUnpack","pixelStoreUnpackPremultiplyAlpha","premultiply","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","isLoaded","setLoaded","promiseResolve","_getImagesForIds","spriteData","addImage","_validateStretch","_validateContent","updateImage","removeImage","listImages","getImages","getPixelSize","getPattern","bin","_updatePatternAtlas","atlasTexture","CLAMP_TO_EDGE","beginFrame","requestManager","localIdeographFontFamily","entries","setURL","getGlyphs","_getAndCacheGlyphsPromise","stack","requests","ranges","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","fontSize","cutoff","fontFamily","fontWeight","draw","glyphWidth","glyphHeight","glyphLeft","glyphTop","glyphAdvance","fontStyle","_createCanvas","ctx","textBaseline","textAlign","gridOuter","gridInner","actualBoundingBoxAscent","actualBoundingBoxDescent","actualBoundingBoxLeft","actualBoundingBoxRight","measureText","fillText","_transitionable","setLight","_transitioning","getLight","setSky","getSky","calculateFogBlendOpacity","nextRow","dashEntry","getDash","addDash","getDashRanges","isDash","zeroLength","addRoundDash","addRegularDash","ALPHA","REPEAT","active","acquire","workers","workerCount","Worker","release","numActive","terminate","isPreloaded","globalThis","workerPool","actors","currentActor","broadcast","getActor","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","tile","queryRenderedFeatures","_state","getFeatureState","vector_layers","vectorLayerIds","setSouthWest","setNorthEast","_ne","_sw","extend","getCenter","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","contains","validateBounds","dispatcher","reparseOverscaled","_loaded","_options","_collectResourceTiming","dataType","_tileJSONRequest","_requestManager","sourceCaches","clearTiles","tileBounds","sourceDataType","hasTile","setSourceProperty","setTiles","setUrl","getPixelRatio","reloadPromise","_afterTileLoadWorkerResponse","_refreshExpiredTiles","setExpiryData","loadVectorData","catch","unloadTile","unloadVectorData","roundZoom","getTileTexture","extTextureFilterAnisotropic","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","extTextureFilterAnisotropicMax","saveTileTexture","neighboringTiles","_getNeighboringTiles","readImageNow","dem","needsHillshadePrepare","needsTerrainPrepare","backfilled","demTexture","fbo","_removed","_pendingLoads","_data","workerOptions","_updateWorkerData","setData","setClusterOptions","_request","_finishLoading","finally","setCoordinates","fromLngLat","_boundsArray","boundsBuffer","prepare","boundsSegments","simpleSegment","sourceId","loop","triggerRepaint","play","pause","seek","seekable","currentTime","getVideo","readyState","paused","animate","canvas","getElementById","_hasInvalidDimensions","_playing","getCanvas","_syncState","clearRTLTextPlugin","setRTLTextPlugin","_requestImport","lazyLoad","timeAdded","fadeEndTime","uses","expirationTime","hasSymbolBuckets","dependencies","rtt","rttCoords","expiredRequestCount","registerFadeDuration","wasRequested","clearTextures","hasData","latestFeatureIndex","latestRawTileData","getLayer","justReloaded","imageAtlasTexture","glyphAtlasTexture","getBucket","querySourceFeatures","patternsLoaded","getTime","getExpiryTimeout","setFeatureState","holdingForFade","symbolFadeHoldUntil","symbolFadeFinished","clearFadeHold","setHoldDuration","setDependencies","hasDependency","reset","timeout","clearTimeout","order","_getAndRemoveByKey","getAndRemove","getByKey","setMaxSize","stateChanges","deletedStates","updateState","removeFeatureState","initializeTileState","coalesceChanges","_dataHandler","_sourceErrored","_source","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_maxTileCacheZoomLevels","_loadedParentTiles","_coveredTiles","_didEmitContent","_updated","_sourceLoaded","used","usedForTerrain","getSource","_paused","resume","_shouldReloadOnResume","reload","_loadTile","_tileLoaded","_abortTile","coord","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","_getLoadedTile","findLoadedSibling","updateCacheSize","handleWrapJump","_prevLng","_updateCoveredAndRetainedTiles","_addTile","getVisibleUnwrappedCoordinates","coveringTiles","coveringZoomLevel","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_fadeDuration","_removeTile","_updateLoadedParentTileCache","_updateLoadedSiblingTileCache","releaseSymbolFadeTiles","cancelPendingTileRequestsWhileZooming","_loadedSiblingTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","reloadTilesForDependencies","_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","isOccluded","getElevation","pitchWithMap","projectionCache","projections","offsets","cachedAnchorPoint","anyProjectionOccluded","tileAnchorPoint","unwrappedTileID","translation","useVertical","notEnoughRoom","needsFlipping","last","direction","distanceFromAnchor","previousVertex","absOffsetX","useSpecialProjectionForSymbols","projectTileCoordinates","mapProjection","ignoredGrid","pitchFactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","perspectiveRatioCutoff","placeCollisionBox","projectAndGetPerspectiveRatio","_projectCollisionBox","allPointsOccluded","perspectiveRatio","isInsideGrid","placeable","offscreen","isOffscreen","placeCollisionCircles","getPerspectiveRatio","projectPathToScreenSpace","collisionDetected","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","getViewportMatrix","getPitchedTextCorrection","offsetX","offsetY","opacity","placed","skipFade","invProjMatrix","viewportMatrix","crossSourceCollisions","maxGroupID","collisionGroups","ID","predicate","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","collisionCircleArrays","collisionBoxArrays","prevPlacement","placedOrientations","_getTerrainElevationFunc","getBucketParts","translatePosition","translationText","translationIcon","textLabelPlaneMatrix","labelToScreenMatrix","textPixelRatio","partiallyEvaluatedTextSize","collisionGroup","attemptAnchorPlacement","textOffset","prevAnchor","markUsedJustification","markUsedOrientation","placedGlyphBoxes","placeLayerBucketPart","occluded","storeCollisionData","commit","zoomAtLastRecencyCheck","prevZoomAdjustment","zoomAdjustment","symbolFadeChange","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","hasTransitions","stillRecent","setStale","getCircleRadiusCorrection","_sortAcrossTiles","_currentTileIndex","_currentPartIndex","_seenCrossTileIDs","_bucketParts","continuePlacement","placement","_currentPlacementIndex","_forceFullPlacement","_showCollisionBoxes","_done","isDone","_inProgressLayer","_symbolsByKey","crossTileIDs","getScaledCoordinates","findMatches","getCrossTileIDsLists","maxCrossTileID","generate","indexes","usedCrossTileIDs","addBucket","removeBucketCrossTileIDs","removeStaleBuckets","maxBucketInstanceId","bucketsInCurrentPlacement","addLayer","pruneUnusedLayers","_rtlPluginLoaded","_getMapId","glyphManager","lineAtlas","crossTileSymbolIndex","_spritesImagesIds","_order","_availableImages","_resetUpdates","_validateLayer","loadURL","_loadStyleRequest","_load","loadJSON","_frameRequest","loadEmpty","transformStyle","stylesheet","addSource","_loadSprite","_createLayers","setTerrain","_serializedLayers","_spriteRequest","_changedImages","_changed","_unloadSprite","_updatedSources","_serializeByIds","_serializedAllLayers","_checkLoaded","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updateTilesForChangedImages","_updateTilesForChangedGlyphs","_updatedPaintProps","_glyphsDidChange","_getOperationsToPerform","unimplemented","operations","removeLayer","setFilter","setLayerZoomRange","setGeoJSONSourceData","setGlyphs","setSprite","_afterImageUpdated","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getLayersOrder","getFilter","getTerrain","_flattenAndSortRenderedFeatures","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getGlyphsUrl","addSprite","removeSprite","find","findIndex","getSprite","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","boundDynamicVertexBuffer2","boundDynamicVertexBuffer3","freshBind","bindVertexArray","dynamicDraw","numAttributes","createVertexArray","enableAttributes","setVertexAttribPointers","currentNumAttributes","deleteVertexArray","u_matrix","u_texture","u_ele_delta","u_fog_matrix","u_fog_color","u_fog_ground_blend","u_fog_ground_blend_opacity","u_horizon_color","u_horizon_fog_blend","program","createProgram","createShader","FRAGMENT_SHADER","failedToCreate","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","attachShader","VERTEX_SHADER","attributes","bindAttribLocation","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","deleteShader","getUniformLocation","fixedUniforms","terrainUniforms","u_depth","u_terrain","u_terrain_dim","u_terrain_matrix","u_terrain_unpack","u_terrain_exaggeration","binderUniforms","setDepthMode","setStencilMode","setColorMode","setCullFace","activeTexture","TEXTURE2","depthTexture","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_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_inv_matrix","u_viewport_size","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_is_along_line","u_is_variable_anchor","u_translation","u_pitched_scale","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_pixel_extrude_scale","u_color_ramp","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_unpack","u_terrain_coords_id","u_sky_color","u_horizon","u_sky_horizon_blend","createBuffer","unbindVAO","bindElementBuffer","bufferData","ELEMENT_ARRAY_BUFFER","DYNAMIC_DRAW","STATIC_DRAW","bufferSubData","deleteBuffer","bindVertexBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","WeakMap","getParameter","VERSION","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","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","bindBuffer","getExtension","bindVertexArrayOES","pixelStorei","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","setDirty","framebufferTexture2D","COLOR_ATTACHMENT0","framebufferRenderbuffer","DEPTH_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","framebuffer","createFramebuffer","colorAttachment","depthAttachment","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","deleteRenderbuffer","deleteFramebuffer","blendFunction","Replace","disabled","unblended","alphaBlended","stencilTest","depthTest","blend","cullFaceSide","MAX_TEXTURE_MAX_ANISOTROPY_EXT","maxTextureSize","MAX_TEXTURE_SIZE","HALF_FLOAT","RGBA16F","RGBA16F_EXT","RGB16F","RGB16F_EXT","HALF_FLOAT_OES","createRenderbuffer","renderbufferStorage","depth","stencil","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT","mode","fail","depthFail","pass","createVertexArrayOES","deleteVertexArrayOES","ReadOnly","ReadWrite","circleArray","circleOffset","invTransform","colorModeForRenderPass","getTerrainData","backCCW","shiftedAnchor","depthModeForSublayer","rotating","zooming","NEAREST","buffers","uniformValues","atlasTextureIcon","atlasInterpolation","atlasInterpolationIcon","hasHalo","terrainData","TEXTURE1","stencilModeForClipping","moving","rasterBoundsBuffer","quadTriangleIndexBuffer","rasterBoundsSegments","SCISSOR_TEST","scissor","initDebugOverlayCanvas","debugOverlayCanvas","shadowColor","shadowBlur","lineWidth","strokeStyle","strokeText","debugOverlayTexture","debugBuffer","debugSegments","tileBorderIndexBuffer","LEQUAL","depthRangeFor3D","getTerrainMesh","renderToTexture","getTexture","getMeshFrameDelta","calculateFogMatrix","vertexBuffer","_tileTextures","terrainFacilitator","matrix","renderTime","setup","numSublayers","depthEpsilon","tileExtentBuffer","tileExtentSegments","viewportBuffer","viewportSegments","stencilClearMode","nextStencilID","currentStencilSource","_renderTileClippingMasks","_tileClippingMaskIDs","REPLACE","stencilModeFor3D","NOTEQUAL","EQUAL","stencilConfigForOverlap","GEQUAL","_showOverdrawInspector","CONSTANT_COLOR","renderPass","opaquePassEnabledForLayer","currentLayer","opaquePassCutoff","maybeDrawDepthAndCoords","prepareForRender","renderLayer","showOverdrawInspector","getHorizon","mesh","showTileBoundaries","flatMap","showPadding","centerPoint","modelViewProjectionMatrix","sourceCache","tilesAfterTime","getRenderableTiles","getFramebuffer","devicePixelRatio","getCoordsTexture","coordsIndex","programConfiguration","gradient","isPatternMissing","setCustomLayerDefaults","customLayerMatrix","setBaseState","overLimit","planes","quadrant","distanceX","distanceY","intersects","MAX_VALUE","_renderWorldCopies","_minZoom","_maxZoom","_minPitch","_maxPitch","setMaxBounds","_center","_elevation","_fov","_unmodified","_edgeInsets","_posMatrixCache","_alignedPosMatrixCache","_fogMatrixCache","minElevationForCurrentTile","maxPitch","latRange","_calcMatrices","minPitch","renderWorldCopies","worldSize","centerOffset","rotationMatrix","fov","_zoom","zoomScale","_constrain","elevation","isPaddingEqual","interpolatePadding","scaleZoom","getCameraPoint","fromInvProjectionMatrix","invModelViewProjectionMatrix","aabb","fullyVisible","distanceSq","tileDistanceToCamera","getMinMaxElevation","minElevation","maxElevation","unmodified","project","unproject","getCameraPosition","lngLat","pointLocation","altitude","_pixelPerMeter","recalculateZoom","getElevationForLngLatZoom","setLocationAtPoint","locationCoordinate","coordinateLocation","locationPoint","coordinatePoint","pixelMatrix3D","pixelMatrixInverse","pixelMatrix","getBounds","getMaxBounds","lngRange","calculateTileMatrix","alignedModelViewProjectionMatrix","fogMatrix","mercatorMatrix","getConstrained","_constraining","lngLatToCameraDepth","_getCurrentHash","hash","_hashName","_onHashChange","dragRotate","isEnabled","touchZoomRotate","getBearing","jumpTo","_updateHashUnthrottled","getHashString","history","replaceState","_updateHash","encodeURIComponent","addTo","getZoom","getPitch","linearity","easing","deceleration","maxSpeed","_inertiaBuffer","record","_drainInertiaBuffer","settings","_onMoveEnd","pan","pinchAround","around","zoomDelta","bearingDelta","pitchDelta","panDelta","amount","noMoveStart","_defaultPrevented","defaultPrevented","mousePos","originalEvent","changedTouches","touches","touchPos","getCanvasContainer","lngLats","_clickTolerance","clickTolerance","_mousedownPos","wheel","_firePreventable","mousedown","mouseup","click","dblclick","mouseover","mouseout","touchstart","touchmove","touchend","touchcancel","isActive","_delayContextMenu","_ignoreContextMenu","_contextMenuEvent","mousemove","contextmenu","_requestedCameraState","_tr","_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","_moveStateManager","moveStateManager","_moveFunction","move","_activateOnStart","activateOnStart","assignEvents","_moved","_lastPoint","endMove","_move","dragStart","isValidStartEvent","startMove","dragMove","isValidMoveEvent","dragEnd","isValidEndEvent","getClickTolerance","_correctEvent","checkCorrectEvent","mouseButton","_eventButton","buttons","_firstTouch","_isOneFingerTouch","targetTouches","_isSameTouchEvent","bearingDegreesPerPixelMoved","ctrlKey","pitchDegreesPerPixelMoved","_touches","_sum","minTouchs","cooperativeGestures","_calculateTransform","_firstTwoTouches","_start","_aroundCenter","_distance","_startDistance","_minDiameter","_startVector","_vector","_isBelowThreshold","_currentTouchCount","_valid","_firstMove","_lastPoints","gestureBeginsVertically","panStep","bearingStep","pitchStep","_panStep","_bearingStep","_pitchStep","_rotationDisabled","altKey","metaKey","easeId","disableRotation","enableRotation","_onTimeout","_type","_delta","_lastValue","_triggerRenderFrame","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","_finishTimeout","isZooming","_zooming","_bypassKey","deltaMode","WheelEvent","DOM_DELTA_LINE","deltaY","_lastWheelEventTime","_timeout","_lastWheelEvent","_frameId","_around","_aroundPoint","renderFrame","_targetZoom","_startZoom","_easing","_smoothOutEasing","noInertia","needsRenderFrame","_prevEase","_clickZoom","_tapZoom","_tap","_swipePoint","_swipeTouch","_tapTime","_tapPoint","_mousePan","_touchPan","_inertiaOptions","_pitchWithRotate","pitchWithRotate","_mouseRotate","_mousePitch","_touchZoom","_touchRotate","_tapDragZoom","_setupUI","_getUIString","textContent","setAttribute","_destoryUI","_onCooperativeGesture","scrollZoom","drag","handleWindowEvent","handleEvent","stop","_updatingCamera","_getMapTouches","handlerName","handler","allowed","_handlers","_blockedByActive","mergeHandlerResult","_previousActiveHandlers","_changes","_stop","_inertia","_fireEvents","_handlersById","_bearingSnap","bearingSnap","_eventsInProgress","_addDefaultHandlers","passive","boxZoom","interactive","doubleClickZoom","touchPitch","dragPan","keyboard","isRotating","isMoving","_applyChanges","_updateMapTransform","_getTransformForUpdate","_terrainMovement","_elevationFreeze","_applyUpdatedTransform","_update","essential","resetNorth","freezeElevation","_requestFrame","_renderTaskQueue","_renderFrameCallback","_easeStart","_easeOptions","_onEaseFrame","_easeFrameId","_requestRenderFrame","_moving","setCenter","panBy","panTo","setZoom","zoomTo","zoomIn","zoomOut","setBearing","getPadding","setPadding","rotateTo","resetNorthPitch","snapToNorth","setPitch","cameraForBounds","_cameraForBoxAndBearing","fitBounds","_fitInternal","flyTo","calculateCameraOptionsFromTo","_normalizeBearing","_normalizeCenter","_rotating","pitching","_pitching","_padding","_easeId","_prepareEase","_prepareElevation","_ease","_updateElevation","_fireMoveEvents","_finalizeElevation","_afterEase","_elevationCenter","_elevationStart","_elevationTarget","getMinTileElevationForLngLatZoom","transformCameraUpdate","speed","curve","screenSpeed","maxDuration","isEasing","_cancelRenderFrame","_onEaseEnd","handlers","queryTerrainElevation","compact","customAttribution","_toggleAttribution","removeAttribute","_updateData","_updateAttributions","_updateCompact","_compact","_updateCompactMinimize","getDefaultPosition","_compactButton","_setElementTitle","_innerContainer","_attribHTML","title","styleOwner","owner","styleId","innerHTML","_editLink","rel","display","_queue","_id","_cleared","_currentlyRunning","cancelled","run","_renderableTilesKeys","_sourceTileCache","deltaZoom","destruct","freeRtt","getTerrainCoords","getSourceTile","qualityFactor","meshSize","_demMatrixCache","_coordsTextureSize","getDEMElevation","mercatorX","mercatorY","_getOverscaledTileIDFromLngLatZoom","_emptyDemTexture","_emptyDepthTexture","_emptyDemUnpack","_emptyDemMatrix","_fboDepthTexture","_fbo","_fboCoordsTexture","DEPTH_COMPONENT16","_coordsTexture","readPixels","depthAtPoint","_mesh","_context","_size","_tileSize","_objects","_recentlyUsed","_stamp","_createObject","DEPTH_STENCIL","stamp","inUse","getObjectForId","useObject","stampObject","getOrCreateFreeObject","freeObject","freeAllObjects","isFull","pool","_stacks","_prevType","_rttTiles","_renderableTiles","_renderableLayerIds","_coordsDescendingInv","_coordsDescendingInvStr","attributionControl","maplibreLogo","failIfMajorPerformanceCaveat","preserveDrawingBuffer","refreshExpiredTiles","trackResize","maxTileCacheSize","maxTileCacheZoomLevels","validateStyle","maxCanvasSize","touchmoveWindow","showCompass","showZoom","visualizePitch","startMouse","element","moveMouse","mouseRotate","mousePitch","offTemp","startTouch","moveTouch","touchRotate","_onKeyPress","code","charCode","togglePopup","_onMapClick","_element","_popup","_lngLat","_flatPos","_offset","_rotationAlignment","_rotation","_pitchAlignment","_anchor","_updateOpacity","_onMove","_isDragging","_pointerdownPos","_positionDelta","setLngLat","pointerEvents","_onUp","_addDragHandler","_color","_scale","_draggable","draggable","rotation","rotationAlignment","pitchAlignment","setOpacity","opacityWhenCovered","_defaultMarker","createNS","setAttributeNS","rx","ry","setDraggable","_opacityTimeout","getLngLat","getElement","setPopup","_originalTabIndex","getAttribute","getPopup","_opacityWhenCovered","isOpen","_opacity","getOffset","setOffset","addClassName","removeClassName","toggleClassName","toggle","isDraggable","setRotation","getRotation","setRotationAlignment","getRotationAlignment","setPitchAlignment","getPitchAlignment","positionOptions","enableHighAccuracy","maximumAge","fitBoundsOptions","trackUserLocation","showAccuracyCircle","showUserLocation","maxWidth","clientHeight","closeButton","closeOnClick","focusAfterOpen","subpixelPositioning","AJAXError","Evented","LngLat","MercatorCoordinate","config","AttributionControl","BoxZoomHandler","CanvasSource","CooperativeGesturesHandler","DoubleClickZoomHandler","DragPanHandler","DragRotateHandler","EdgeInsets","FullscreenControl","_onFullscreenChange","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","shadowRoot","_fullscreen","_handleFullscreenChange","_onClickFullscreen","_isFullscreen","_exitFullscreen","_requestFullscreen","container","HTMLElement","_fullscreenchange","_controlContainer","_fullscreenButton","_updateTitle","_getTitle","_prevCooperativeGesturesEnabled","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","_togglePseudoFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","GeoJSONSource","GeolocateControl","_onSuccess","_isOutOfMapMaxBounds","_setErrorState","_updateMarker","_finish","_lastKnownPosition","_watchState","_geolocateButton","_updateCamera","_dotElement","longitude","latitude","accuracy","geolocateSource","_accuracyCircleMarker","_userLocationDotMarker","_accuracy","_updateCircleRadius","_onZoom","_onError","_geolocationWatchID","_clearWatch","_timeoutId","_circleElement","_setup","permissions","geolocation","clearWatch","watchPosition","getCurrentPosition","Hash","ImageSource","KeyboardHandler","LngLatBounds","LogoControl","_idleTriggered","_crossFadingFactor","_controls","_mapId","_contextLost","_contextRestored","_setupPainter","_onMapScroll","scrollTop","scrollLeft","_onWindowOnline","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","antialias","_trackResize","_crossSourceCollisions","_locale","_overridePixelRatio","_maxCanvasSize","_imageQueueHandle","maxBounds","_setupContainer","_resizeObserver","ResizeObserver","observe","_hash","_localIdeographFontFamily","_validateStyle","setStyle","addControl","logoPosition","_controlPositions","insertBefore","firstChild","removeControl","hasControl","_containerDimensions","_getClampedPixelRatio","_resizeCanvas","setPixelRatio","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","setMinPitch","getMinPitch","setMaxPitch","getMaxPitch","getRenderWorldCopies","setRenderWorldCopies","_createDelegatedListener","listener","delegates","_delegatedListeners","diff","_diffStyle","_updateStyle","_lazyInitEmptyStyle","_updateDiff","getStyle","isStyleLoaded","_terrainDataCallback","areTilesLoaded","hasImage","loadImage","_canvasContainer","_canvas","clientWidth","alpha","requestedAttributes","statusMessage","_styleDirty","_sourcesDirty","_render","_placementDirty","_repaint","_fullyLoaded","redraw","disconnect","loseContext","_showTileBoundaries","_showPadding","repaint","_vertices","getCameraTargetElevation","MapMouseEvent","MapTouchEvent","MapWheelEvent","Marker","NavigationControl","_updateZoomButtons","_zoomInButton","_zoomOutButton","_rotateCompassArrow","_compassIcon","_setButtonTitle","_createButton","_compass","_handler","Popup","_content","_onClose","_onMouseMove","_onMouseUp","_onDrag","_trackPointer","_tip","_closeButton","closeOnMove","_focusFirstElement","trackPointer","setText","setDOMContent","createTextNode","setHTML","createDocumentFragment","getMaxWidth","setMaxWidth","hasChildNodes","_createCloseButton","setSubpixelPositioning","querySelector","focus","RasterDEMTileSource","RasterTileSource","ScaleControl","setUnit","ScrollZoomHandler","Style","TerrainControl","_toggleTerrain","_updateTerrainIcon","_terrainButton","TwoFingersTouchPitchHandler","TwoFingersTouchRotateHandler","TwoFingersTouchZoomHandler","TwoFingersTouchZoomRotateHandler","VectorTileSource","VideoSource","addSourceType","clearPrewarmedResources","getMaxParallelImageRequests","getVersion","getWorkerCount","getWorkerUrl","importScriptInWorkers","prewarm","setMaxParallelImageRequests","setWorkerCount","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","halfSize","latLngToContainerPoint","containerPointToLatLng","subtract","topLeft","setPosition","res","maxValidLatitude","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","language","worldview","places","getBasemapStyleV2Url","getBasemapStyleUrl","setEsriAttribution","allAttributions","attributionUrls","_getAttributionUrls","_initPane","createPane","zIndex","removeEsriAttribution","getElementsByClassName","vectorAttribution","outerHTML","removeAttribution","packageInfo","deferred"],"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..dd1fd72 --- /dev/null +++ b/dist/siteData.json @@ -0,0 +1 @@ +{"name": "esri-leaflet-vector","version": "4.2.4","lib": {"path": "dist/esri-leaflet-vector.js","integrity": "sha512-2E5WhqMVrCMmTAOPDrKGYbBlCPqkRbf4JyiYla/kZMqSkdX69fZgiWVW+7hyxLUj+TRm66ZFkvTwHedtLRQGeQ=="}}