From 377d7c0a00ee8b7cebcdca523b8ca61372361283 Mon Sep 17 00:00:00 2001 From: Gavin Rehkemper Date: Wed, 18 Oct 2023 14:49:40 -0500 Subject: [PATCH] build 4.2.1 --- dist/esri-leaflet-vector-debug.js | 1075 +++++++++++++++++++++++++ dist/esri-leaflet-vector-debug.js.map | 1 + dist/esri-leaflet-vector.js | 5 + dist/esri-leaflet-vector.js.map | 1 + dist/siteData.json | 1 + 5 files changed, 1083 insertions(+) create mode 100644 dist/esri-leaflet-vector-debug.js create mode 100644 dist/esri-leaflet-vector-debug.js.map create mode 100644 dist/esri-leaflet-vector.js create mode 100644 dist/esri-leaflet-vector.js.map create mode 100644 dist/siteData.json diff --git a/dist/esri-leaflet-vector-debug.js b/dist/esri-leaflet-vector-debug.js new file mode 100644 index 0000000..9560d99 --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js @@ -0,0 +1,1075 @@ +/* esri-leaflet-vector - v4.2.1 - Wed Oct 18 2023 14:49:16 GMT-0500 (Central Daylight Time) + * Copyright (c) 2023 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('esri-leaflet'), require('leaflet'), require('maplibre-gl')) : + typeof define === 'function' && define.amd ? define(['exports', 'esri-leaflet', 'leaflet', 'maplibre-gl'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.L = global.L || {}, global.L.esri = global.L.esri || {}, global.L.esri.Vector = {}), global.L.esri, global.L, global.maplibregl)); +})(this, (function (exports, esriLeaflet, leaflet, maplibregl) { 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var maplibregl__default = /*#__PURE__*/_interopDefaultLegacy(maplibregl); + + var name = "esri-leaflet-vector"; + var description = "Esri vector basemap and vector tile layer plugin for Leaflet."; + var version$1 = "4.2.1"; + var author = "John Gravois (https://johngravois.com)"; + var contributors = [ + "Patrick Arlt (http://patrickarlt.com)", + "Gavin Rehkemper (https://gavinr.com)", + "Jacob Wasilkowski (https://jwasilgeo.github.io)" + ]; + var bugs = { + url: "https://github.com/Esri/esri-leaflet-vector/issues" + }; + var peerDependencies = { + "esri-leaflet": ">2.3.0", + leaflet: "^1.5.0", + "maplibre-gl": "^2.0.0 || ^3.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; + } + + function getBasemapStyleV2Url (style, apikey, language) { + if (style.includes(':')) { + throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style'); + } + + let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/'; + if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) { + // style is an itemID + url = url + 'items/' + style; + + if (language) { + throw new Error('The \'language\' parameter is not supported for custom basemap styles'); + } + } else { + url = url + style; + } + + if (apikey) { + url = url + '?token=' + apikey; + + if (language) { + url = url + '&language=' + language; + } + } + return url; + } + /* + utilities to communicate with custom user styles via an ITEM ID or SERVICE URL + used primarily by VectorTileLayer.js + */ + function loadStyle (idOrUrl, options, callback) { + const httpRegex = /^https?:\/\//; + const serviceRegex = /\/VectorTileServer\/?$/; + + if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) { + const serviceUrl = idOrUrl; + loadStyleFromService(serviceUrl, options, callback); + } else { + const itemId = idOrUrl; + loadStyleFromItem(itemId, options, callback); + } + } + + function loadService (serviceUrl, options, callback) { + const params = options.token ? { token: options.token } : {}; + esriLeaflet.request(serviceUrl, params, callback); + } + + function loadItem (itemId, options, callback) { + const params = options.token ? { token: options.token } : {}; + const url = options.portalUrl + '/sharing/rest/content/items/' + itemId; + esriLeaflet.request(url, params, callback); + } + + function loadStyleFromItem (itemId, options, callback) { + const itemStyleUrl = + options.portalUrl + + '/sharing/rest/content/items/' + + itemId + + '/resources/styles/root.json'; + + loadStyleFromUrl(itemStyleUrl, options, function (error, style) { + if (error) { + loadItem(itemId, options, function (error, item) { + if (error) { + callback(error); + return; + } + loadStyleFromService(item.url, options, callback); + }); + } else { + loadItem(itemId, options, function (error, item) { + if (error) { + callback(error); + return; + } + loadService(item.url, options, function (error, service) { + callback(error, style, itemStyleUrl, service, item.url); + }); + }); + } + }); + } + + function loadStyleFromService (serviceUrl, options, callback) { + loadService(serviceUrl, options, function (error, service) { + if (error) { + callback(error); + return; + } + + let sanitizedServiceUrl = serviceUrl; + // a trailing "/" may create invalid paths + if (serviceUrl.charAt(serviceUrl.length - 1) === '/') { + sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1); + } + + let defaultStylesUrl; + // inadvertently inserting more than 1 adjacent "/" may create invalid paths + if (service.defaultStyles.charAt(0) === '/') { + defaultStylesUrl = + sanitizedServiceUrl + service.defaultStyles + '/root.json'; + } else { + defaultStylesUrl = + sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json'; + } + + loadStyleFromUrl(defaultStylesUrl, options, function (error, style) { + if (error) { + callback(error); + return; + } + callback(null, style, defaultStylesUrl, service, serviceUrl); + }); + }); + } + + function loadStyleFromUrl (styleUrl, options, callback) { + const params = options.token ? { token: options.token } : {}; + esriLeaflet.request(styleUrl, params, callback); + } + + function isSameTLD (url1, url2) { + return (new URL(url1)).hostname === (new URL(url2)).hostname; + } + + function formatStyle (style, styleUrl, metadata, token) { + // transforms style object in place and also returns it + + // modify each source in style.sources + const sourcesKeys = Object.keys(style.sources); + for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) { + const source = style.sources[sourcesKeys[sourceIndex]]; + + // if a relative path is referenced, the default style can be found in a standard location + if (source.url.indexOf('http') === -1) { + source.url = styleUrl.replace('/resources/styles/root.json', ''); + } + + // a trailing "/" may create invalid paths + if (source.url.charAt(source.url.length - 1) === '/') { + source.url = source.url.slice(0, source.url.length - 1); + } + + // add tiles property if missing + if (!source.tiles) { + // right now ArcGIS Pro published vector services have a slightly different signature + // the '/' is needed in the URL string concatenation below for source.tiles + if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') { + metadata.tiles[0] = '/' + metadata.tiles[0]; + } + + source.tiles = [source.url + metadata.tiles[0]]; + } + + // some VectorTileServer endpoints may default to returning f=html, + // specify f=json to account for that behavior + source.url += '?f=json'; + + // add the token to the source url and tiles properties as a query param + source.url += token ? '&token=' + token : ''; + source.tiles[0] += token ? '?token=' + token : ''; + // add minzoom and maxzoom to each source based on the service metadata + // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too + // MapLibre will overzoom for LODs that are not cooked + source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level; + source.maxzoom = + metadata.maxLOD || + metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level; + } + + // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata + const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]]; + lastSource.attribution = metadata.copyrightText || ''; + lastSource.copyrightText = metadata.copyrightText || ''; + + // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first + for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) { + const layer = style.layers[layerIndex]; + if ( + layer.layout && + layer.layout['text-font'] && + layer.layout['text-font'].length > 1 + ) { + layer.layout['text-font'] = [layer.layout['text-font'][0]]; + } + } + + if (style.sprite && style.sprite.indexOf('http') === -1) { + // resolve absolute URL for style.sprite + style.sprite = styleUrl.replace( + 'styles/root.json', + style.sprite.replace('../', '') + ); + } + if (style.sprite && token) { + // add the token to the style.sprite property as a query param, only if same domain (for token security) + if (isSameTLD(styleUrl, style.sprite)) { + style.sprite += '?token=' + token; + } else { + console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.'); + } + } + + if (style.glyphs && style.glyphs.indexOf('http') === -1) { + // resolve absolute URL for style.glyphs + style.glyphs = styleUrl.replace( + 'styles/root.json', + style.glyphs.replace('../', '') + ); + } + + if (style.glyphs && token) { + // add the token to the style.glyphs property as a query param + if (isSameTLD(styleUrl, style.glyphs)) { + style.glyphs += '?token=' + token; + } else { + console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.'); + } + } + + return style; + } + + /* + utility to assist with dynamic attribution data + used primarily by VectorBasemapLayer.js + */ + function getAttributionData (url, map) { + if (esriLeaflet.Support.cors) { + esriLeaflet.request(url, {}, function (error, attributions) { + if (error) { + return; + } + map._esriAttributions = map._esriAttributions || []; + for (let c = 0; c < attributions.contributors.length; c++) { + const contributor = attributions.contributors[c]; + + for (let i = 0; i < contributor.coverageAreas.length; i++) { + const coverageArea = contributor.coverageAreas[i]; + const southWest = leaflet.latLng(coverageArea.bbox[0], coverageArea.bbox[1]); + const northEast = leaflet.latLng(coverageArea.bbox[2], coverageArea.bbox[3]); + map._esriAttributions.push({ + attribution: contributor.attribution, + score: coverageArea.score, + bounds: leaflet.latLngBounds(southWest, northEast), + minZoom: coverageArea.zoomMin, + maxZoom: coverageArea.zoomMax + }); + } + } + + map._esriAttributions.sort(function (a, b) { + return b.score - a.score; + }); + + // pass the same argument as the map's 'moveend' event + const obj = { target: map }; + esriLeaflet.Util._updateMapAttribution(obj); + }); + } + } + + /* + utility to check if a service's tileInfo spatial reference is in Web Mercator + used primarily by VectorTileLayer.js + */ + const WEB_MERCATOR_WKIDS = [3857, 102100, 102113]; + + function isWebMercator (wkid) { + return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0; + } + + var EsriUtil = { + formatStyle: formatStyle + }; + + var MaplibreGLJSLayer = leaflet.Layer.extend({ + options: { + updateInterval: 32, + // How much to extend the overlay view (relative to map size) + // e.g. 0.1 would be 10% of map view in each direction + padding: 0.1, + // whether or not to register the mouse and keyboard + // events on the mapbox overlay + interactive: false, + // set the tilepane as the default pane to draw gl tiles + pane: 'tilePane' + }, + + initialize: function (options) { + leaflet.setOptions(this, options); + + // setup throttling the update event when panning + this._throttledUpdate = leaflet.Util.throttle( + this._update, + this.options.updateInterval, + this + ); + }, + + onAdd: function (map) { + if (!this._container) { + this._initContainer(); + } + + const paneName = this.getPaneName(); + map.getPane(paneName).appendChild(this._container); + + this._initGL(); + + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47 + if (map.options.zoomAnimation) { + leaflet.DomEvent.on( + map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + }, + + onRemove: function (map) { + if (this._map._proxy && this._map.options.zoomAnimation) { + leaflet.DomEvent.off( + this._map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + + const paneName = this.getPaneName(); + + map.getPane(paneName).removeChild(this._container); + this._container = null; + + this._glMap.remove(); + this._glMap = null; + }, + + getEvents: function () { + return { + move: this._throttledUpdate, // sensibly throttle updating while panning + zoomanim: this._animateZoom, // applys the zoom animation to the + zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming + zoomstart: this._zoomStart, // flag starting a zoom to disable panning + zoomend: this._zoomEnd, + resize: this._resize + }; + }, + + getMaplibreMap: function () { + return this._glMap; + }, + + getCanvas: function () { + return this._glMap.getCanvas(); + }, + + getSize: function () { + return this._map.getSize().multiplyBy(1 + this.options.padding * 2); + }, + + getOpacity: function () { + return this.options.opacity; + }, + + setOpacity: function (opacity) { + this.options.opacity = opacity; + this._container.style.opacity = opacity; + }, + + getBounds: function () { + const halfSize = this.getSize().multiplyBy(0.5); + const center = this._map.latLngToContainerPoint(this._map.getCenter()); + return leaflet.latLngBounds( + this._map.containerPointToLatLng(center.subtract(halfSize)), + this._map.containerPointToLatLng(center.add(halfSize)) + ); + }, + + getContainer: function () { + return this._container; + }, + + // returns the pane name set in options if it is a valid pane, defaults to tilePane + getPaneName: function () { + return this._map.getPane(this.options.pane) + ? this.options.pane + : 'tilePane'; + }, + + _initContainer: function () { + if (this._container) { + return; + } + + this._container = leaflet.DomUtil.create('div', 'leaflet-gl-layer'); + + const size = this.getSize(); + const offset = this._map.getSize().multiplyBy(this.options.padding); + this._container.style.width = size.x + 'px'; + this._container.style.height = size.y + 'px'; + + const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(this._container, topLeft); + }, + + _initGL: function () { + if (this._glMap) { + return; + } + + const center = this._map.getCenter(); + + const options = leaflet.extend({}, this.options, { + container: this._container, + center: [center.lng, center.lat], + zoom: this._map.getZoom() - 1, + attributionControl: false + }); + + this._glMap = new maplibregl__default["default"].Map(options); + + // Fire event for Maplibre "styledata" event. + this._glMap.once( + 'styledata', + function (res) { + this.fire('styleLoaded'); + }.bind(this) + ); + + // allow GL base map to pan beyond min/max latitudes + this._glMap.transform.latRange = null; + this._glMap.transform.maxValidLatitude = Infinity; + + this._transformGL(this._glMap); + + if (this._glMap._canvas.canvas) { + // older versions of mapbox-gl surfaced the canvas differently + this._glMap._actualCanvas = this._glMap._canvas.canvas; + } else { + this._glMap._actualCanvas = this._glMap._canvas; + } + + // treat child element like L.ImageOverlay + const canvas = this._glMap._actualCanvas; + leaflet.DomUtil.addClass(canvas, 'leaflet-image-layer'); + leaflet.DomUtil.addClass(canvas, 'leaflet-zoom-animated'); + if (this.options.interactive) { + leaflet.DomUtil.addClass(canvas, 'leaflet-interactive'); + } + if (this.options.className) { + leaflet.DomUtil.addClass(canvas, this.options.className); + } + }, + + _update: function (e) { + // update the offset so we can correct for it later when we zoom + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + if (this._zooming) { + return; + } + + const size = this.getSize(); + const container = this._container; + const gl = this._glMap; + const offset = this._map.getSize().multiplyBy(this.options.padding); + const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(container, topLeft); + + this._transformGL(gl); + + if (gl.transform.width !== size.x || gl.transform.height !== size.y) { + container.style.width = size.x + 'px'; + container.style.height = size.y + 'px'; + if (gl._resize !== null && gl._resize !== undefined) { + gl._resize(); + } else { + gl.resize(); + } + } else { + // older versions of mapbox-gl surfaced update publicly + if (gl._update !== null && gl._update !== undefined) { + gl._update(); + } else { + gl.update(); + } + } + }, + + _transformGL: function (gl) { + const center = this._map.getCenter(); + + // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0); + // calling setView directly causes sync issues because it uses requestAnimFrame + + const tr = gl.transform; + tr.center = maplibregl__default["default"].LngLat.convert([center.lng, center.lat]); + tr.zoom = this._map.getZoom() - 1; + }, + + // update the map constantly during a pinch zoom + _pinchZoom: function (e) { + this._glMap.jumpTo({ + zoom: this._map.getZoom() - 1, + center: this._map.getCenter() + }); + }, + + // borrowed from L.ImageOverlay + // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144 + _animateZoom: function (e) { + const scale = this._map.getZoomScale(e.zoom); + const padding = this._map.getSize().multiplyBy(this.options.padding * scale); + const viewHalf = this.getSize()._divideBy(2); + // corrections for padding (scaled), adapted from + // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508 + const topLeft = this._map + .project(e.center, e.zoom) + ._subtract(viewHalf) + ._add(this._map._getMapPanePos().add(padding)) + ._round(); + const offset = this._map + .project(this._map.getBounds().getNorthWest(), e.zoom) + ._subtract(topLeft); + + leaflet.DomUtil.setTransform( + this._glMap._actualCanvas, + offset.subtract(this._offset), + scale + ); + }, + + _zoomStart: function (e) { + this._zooming = true; + }, + + _zoomEnd: function () { + const scale = this._map.getZoomScale(this._map.getZoom()); + + leaflet.DomUtil.setTransform(this._glMap._actualCanvas, null, scale); + + this._zooming = false; + + this._update(); + }, + + _transitionEnd: function (e) { + leaflet.Util.requestAnimFrame(function () { + const zoom = this._map.getZoom(); + const center = this._map.getCenter(); + const offset = this._map.latLngToContainerPoint( + this._map.getBounds().getNorthWest() + ); + + // reset the scale and offset + leaflet.DomUtil.setTransform(this._glMap._actualCanvas, offset, 1); + + // enable panning once the gl map is ready again + this._glMap.once( + 'moveend', + leaflet.Util.bind(function () { + this._zoomEnd(); + }, this) + ); + + // update the map position + this._glMap.jumpTo({ + center: center, + zoom: zoom - 1 + }); + }, this); + } + }); + + function maplibreGLJSLayer (options) { + return new MaplibreGLJSLayer(options); + } + + var VectorTileLayer = leaflet.Layer.extend({ + options: { + // if portalUrl is not provided, default to ArcGIS Online + portalUrl: 'https://www.arcgis.com', + // for performance optimization default to `false` + // set to `true` to resolve printing issues in Firefox + preserveDrawingBuffer: false + }, + + /** + * Populates "this.options" to be used in the rest of the module and creates the layer instance. + * + * @param {string} key an ITEM ID or SERVICE URL + * @param {object} options optional + */ + initialize: function (key, options) { + if (options) { + leaflet.setOptions(this, options); + } + + // support outdated casing apiKey of apikey + if (this.options.apiKey) { + this.options.apikey = this.options.apiKey; + } + + // if apiKey is passed in, propagate to token + // if token is passed in, propagate to apiKey + if (this.options.apikey) { + this.options.token = this.options.apikey; + } else if (this.options.token) { + this.options.apikey = this.options.token; + } + + // if no key passed in + if (!key) { + throw new Error( + 'An ITEM ID or SERVICE URL is required for vectorTileLayer.' + ); + } + + // set key onto "this.options" for use elsewhere in the module. + if (key) { + this.options.key = key; + } + + // this.options has been set, continue on to create the layer: + this._createLayer(); + }, + + /** + * Creates the maplibreGLJSLayer given using "this.options" + */ + _createLayer: function () { + loadStyle( + this.options.key, + this.options, + function (error, style, styleUrl, service) { + if (error) { + this.fire('load-error', { + value: error + }); + return; + } + + if (!isWebMercator(service.tileInfo.spatialReference.wkid)) { + console.warn( + 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:', + service.tileInfo.spatialReference, + '\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.' + ); + } + + // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer + style = formatStyle(style, styleUrl, service, this.options.token); + + this._createMaplibreLayer(style); + }.bind(this) + ); + }, + + _setupAttribution: function () { + // if a custom attribution was not provided in the options, + // then attempt to rely on the attribution of the last source in the style object + // and add it to the map's attribution control + // (otherwise it would have already been added by leaflet to the attribution control) + if (!this.getAttribution()) { + const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources; + const sourcesKeys = Object.keys(sources); + this.options.attribution = + sources[sourcesKeys[sourcesKeys.length - 1]].attribution; + if (this._map && this._map.attributionControl) { + // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control + this._map.attributionControl.addAttribution(this.getAttribution()); + } + } + }, + + _createMaplibreLayer: function (style) { + this._maplibreGL = maplibreGLJSLayer({ + style: style, + pane: this.options.pane, + opacity: this.options.opacity, + preserveDrawingBuffer: this.options.preserveDrawingBuffer + }); + + this._ready = true; + this.fire('ready', {}, true); + + this._maplibreGL.on('styleLoaded', function () { + this._setupAttribution(); + // additionally modify the style object with the user's optional style override function + if (this.options.style && typeof this.options.style === 'function') { + this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle())); + } + }.bind(this)); + }, + + onAdd: function (map) { + this._map = map; + + if (this._ready) { + this._asyncAdd(); + } else { + this.once( + 'ready', + function () { + this._asyncAdd(); + }, + this + ); + } + }, + + onRemove: function (map) { + map.removeLayer(this._maplibreGL); + }, + + _asyncAdd: function () { + const map = this._map; + this._maplibreGL.addTo(map, this); + } + }); + + function vectorTileLayer (key, options) { + return new VectorTileLayer(key, options); + } + + var VectorBasemapLayer = VectorTileLayer.extend({ + /** + * Populates "this.options" to be used in the rest of the module. + * + * @param {string} key + * @param {object} options optional + */ + initialize: function (key, options) { + // Default to the v1 service endpoint + if (!options.version) { + if (key.includes('/')) options.version = 2; + else options.version = 1; + } + if (!key) { + // Default style enum if none provided + key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets'; + } + // If no API Key or token is provided (support outdated casing apiKey of apikey) + if (!(options.apikey || options.apiKey || options.token)) { + throw new Error('An API Key or token is required for vectorBasemapLayer.'); + } + // Validate language param + if (options.language) { + if (options.version !== 2) { + throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.'); + } + } + // Determine layer order + if (!options.pane) { + if (key.includes(':Label') || key.includes('/label')) { + options.pane = 'esri-labels'; + } else if (key.includes(':Detail') || key.includes('/detail')) { + options.pane = 'esri-detail'; + } else { + // Create layer in the tilePane by default + options.pane = 'tilePane'; + } + } + + // Options has been configured, continue on to create the layer: + VectorTileLayer.prototype.initialize.call(this, key, options); + }, + + /** + * Creates the maplibreGLJSLayer using "this.options" + */ + _createLayer: function () { + let styleUrl; + if (this.options.version && this.options.version === 2) { + styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, this.options.language); + } else { + styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey); + } + this._createMaplibreLayer(styleUrl); + }, + + _setupAttribution: function () { + // Set attribution + esriLeaflet.Util.setEsriAttribution(this._map); + + if (this.options.key.length === 32) { + // this is an itemId + const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources; + const allAttributions = []; + Object.keys(sources).forEach(function (key) { + allAttributions.push(sources[key].attribution); + if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) { + allAttributions.push(sources[key].copyrightText); + } + }); + + this._map.attributionControl.addAttribution('' + allAttributions.join(', ') + ''); + } else { + // this is an enum + if (!this.options.attributionUrls) { + this.options.attributionUrls = this._getAttributionUrls(this.options.key); + } + + if (this._map && this.options.attributionUrls) { + if (this._map.attributionControl) { + for ( + let index = 0; + index < this.options.attributionUrls.length; + index++ + ) { + const attributionUrl = this.options.attributionUrls[index]; + getAttributionData(attributionUrl, this._map); + } + + this._map.attributionControl.addAttribution( + '' + ); + } + esriLeaflet.Util._updateMapAttribution({ target: this._map }); + } + } + }, + + /** + * Given a key, return the attribution url(s). + * @param {string} key + */ + _getAttributionUrls: function (key) { + if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) { + return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2']; + } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) { + return [ + 'https://static.arcgis.com/attribution/World_Imagery', + 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2' + ]; + } + + // default: + return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2']; + }, + + _initPane: function () { + if (!this._map.getPane(this.options.pane)) { + const pane = this._map.createPane(this.options.pane); + pane.style.pointerEvents = 'none'; + + let zIndex = 500; + if (this.options.pane === 'esri-detail') { + zIndex = 250; + } else if (this.options.pane === 'esri-labels') { + zIndex = 300; + } + pane.style.zIndex = zIndex; + } + }, + + onRemove: function (map) { + map.off('moveend', esriLeaflet.Util._updateMapAttribution); + map.removeLayer(this._maplibreGL); + + if (map.attributionControl) { + const element = document.getElementsByClassName('esri-dynamic-attribution'); + + if (element && element.length > 0) { + const vectorAttribution = element[0].outerHTML; + // this doesn't work, not sure why. + map.attributionControl.removeAttribution(vectorAttribution); + } + } + }, + + _asyncAdd: function () { + const map = this._map; + this._initPane(); + map.on('moveend', esriLeaflet.Util._updateMapAttribution); + this._maplibreGL.addTo(map, this); + } + }); + + function vectorBasemapLayer (key, options) { + return new VectorBasemapLayer(key, options); + } + + // export version + const version = packageInfo.version; + + exports.MaplibreGLJSLayer = MaplibreGLJSLayer; + exports.Util = EsriUtil; + exports.VERSION = version; + exports.VectorBasemapLayer = VectorBasemapLayer; + exports.VectorTileLayer = VectorTileLayer; + exports.maplibreGLJSLayer = maplibreGLJSLayer; + exports.vectorBasemapLayer = vectorBasemapLayer; + exports.vectorTileLayer = vectorTileLayer; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=esri-leaflet-vector-debug.js.map diff --git a/dist/esri-leaflet-vector-debug.js.map b/dist/esri-leaflet-vector-debug.js.map new file mode 100644 index 0000000..edfc81a --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector-debug.js","sources":["../src/Util.js","../src/MaplibreGLLayer.js","../src/VectorTileLayer.js","../src/VectorBasemapLayer.js","../src/EsriLeafletVector.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (style, apikey) {\r\n if (style.includes('/')) {\r\n throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style');\r\n }\r\n\r\n let url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n style +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&token=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\nexport function getBasemapStyleV2Url (style, apikey, language) {\r\n if (style.includes(':')) {\r\n throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style');\r\n }\r\n\r\n let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/';\r\n if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) {\r\n // style is an itemID\r\n url = url + 'items/' + style;\r\n\r\n if (language) {\r\n throw new Error('The \\'language\\' parameter is not supported for custom basemap styles');\r\n }\r\n } else {\r\n url = url + style;\r\n }\r\n\r\n if (apikey) {\r\n url = url + '?token=' + apikey;\r\n\r\n if (language) {\r\n url = url + '&language=' + language;\r\n }\r\n }\r\n return url;\r\n}\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n const httpRegex = /^https?:\\/\\//;\r\n const serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n const serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n const itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n const url = options.portalUrl + '/sharing/rest/content/items/' + itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n const itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n\r\n let sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n let defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nfunction isSameTLD (url1, url2) {\r\n return (new URL(url1)).hostname === (new URL(url2)).hostname;\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n const sourcesKeys = Object.keys(style.sources);\r\n for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n const source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too\r\n // MapLibre will overzoom for LODs that are not cooked\r\n source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.maxLOD ||\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n const layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n }\r\n if (style.sprite && token) {\r\n // add the token to the style.sprite property as a query param, only if same domain (for token security)\r\n if (isSameTLD(styleUrl, style.sprite)) {\r\n style.sprite += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n }\r\n\r\n if (style.glyphs && token) {\r\n // add the token to the style.glyphs property as a query param\r\n if (isSameTLD(styleUrl, style.glyphs)) {\r\n style.glyphs += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (let c = 0; c < attributions.contributors.length; c++) {\r\n const contributor = attributions.contributors[c];\r\n\r\n for (let i = 0; i < contributor.coverageAreas.length; i++) {\r\n const coverageArea = contributor.coverageAreas[i];\r\n const southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n const northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n const obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n\r\nexport var EsriUtil = {\r\n formatStyle: formatStyle\r\n};\r\n\r\nexport default EsriUtil;\r\n","import {\r\n DomEvent,\r\n DomUtil,\r\n extend,\r\n latLngBounds,\r\n Layer,\r\n setOptions,\r\n Util\r\n} from 'leaflet';\r\nimport maplibregl from 'maplibre-gl';\r\n\r\nexport var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n\r\n map.getPane(paneName).removeChild(this._container);\r\n this._container = null;\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applys the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n const halfSize = this.getSize().multiplyBy(0.5);\r\n const center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane)\r\n ? this.options.pane\r\n : 'tilePane';\r\n },\r\n\r\n _initContainer: function () {\r\n if (this._container) {\r\n return;\r\n }\r\n\r\n this._container = DomUtil.create('div', 'leaflet-gl-layer');\r\n\r\n const size = this.getSize();\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n this._container.style.width = size.x + 'px';\r\n this._container.style.height = size.y + 'px';\r\n\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(this._container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n if (this._glMap) {\r\n return;\r\n }\r\n\r\n const center = this._map.getCenter();\r\n\r\n const options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once(\r\n 'styledata',\r\n function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this)\r\n );\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n const canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n const size = this.getSize();\r\n const container = this._container;\r\n const gl = this._glMap;\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n const center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n const tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n const scale = this._map.getZoomScale(e.zoom);\r\n const padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n const viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n const topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n const offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n const scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(this._glMap._actualCanvas, null, scale);\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n const zoom = this._map.getZoom();\r\n const center = this._map.getCenter();\r\n const offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com',\r\n // for performance optimization default to `false`\r\n // set to `true` to resolve printing issues in Firefox\r\n preserveDrawingBuffer: false\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, propagate to token\r\n // if token is passed in, propagate to apiKey\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n } else if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error(\r\n 'An ITEM ID or SERVICE URL is required for vectorTileLayer.'\r\n );\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n this.fire('load-error', {\r\n value: error\r\n });\r\n return;\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n this._createMaplibreLayer(style);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n _setupAttribution: function () {\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const sourcesKeys = Object.keys(sources);\r\n this.options.attribution =\r\n sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n },\r\n\r\n _createMaplibreLayer: function (style) {\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity,\r\n preserveDrawingBuffer: this.options.preserveDrawingBuffer\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function () {\r\n this._setupAttribution();\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n","import { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData, getBasemapStyleV2Url } from './Util';\r\nimport { VectorTileLayer } from './VectorTileLayer';\r\n\r\nexport var VectorBasemapLayer = VectorTileLayer.extend({\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n // Default to the v1 service endpoint\r\n if (!options.version) {\r\n if (key.includes('/')) options.version = 2;\r\n else options.version = 1;\r\n }\r\n if (!key) {\r\n // Default style enum if none provided\r\n key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets';\r\n }\r\n // If no API Key or token is provided (support outdated casing apiKey of apikey)\r\n if (!(options.apikey || options.apiKey || options.token)) {\r\n throw new Error('An API Key or token is required for vectorBasemapLayer.');\r\n }\r\n // Validate language param\r\n if (options.language) {\r\n if (options.version !== 2) {\r\n throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n }\r\n // Determine layer order\r\n if (!options.pane) {\r\n if (key.includes(':Label') || key.includes('/label')) {\r\n options.pane = 'esri-labels';\r\n } else if (key.includes(':Detail') || key.includes('/detail')) {\r\n options.pane = 'esri-detail';\r\n } else {\r\n // Create layer in the tilePane by default\r\n options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n // Options has been configured, continue on to create the layer:\r\n VectorTileLayer.prototype.initialize.call(this, key, options);\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n let styleUrl;\r\n if (this.options.version && this.options.version === 2) {\r\n styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, this.options.language);\r\n } else {\r\n styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n }\r\n this._createMaplibreLayer(styleUrl);\r\n },\r\n\r\n _setupAttribution: function () {\r\n // Set attribution\r\n Util.setEsriAttribution(this._map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n this._map.attributionControl.addAttribution('' + allAttributions.join(', ') + '');\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, this._map);\r\n }\r\n\r\n this._map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n _initPane: function () {\r\n if (!this._map.getPane(this.options.pane)) {\r\n const pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n\r\n let zIndex = 500;\r\n if (this.options.pane === 'esri-detail') {\r\n zIndex = 250;\r\n } else if (this.options.pane === 'esri-labels') {\r\n zIndex = 300;\r\n }\r\n pane.style.zIndex = zIndex;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n const element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n const vectorAttribution = element[0].outerHTML;\r\n // this doesn't work, not sure why.\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._initPane();\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","// export version\r\nimport packageInfo from '../package.json';\r\nconst version = packageInfo.version;\r\nexport { version as VERSION };\r\n\r\nexport { VectorBasemapLayer, vectorBasemapLayer } from './VectorBasemapLayer';\r\nexport { VectorTileLayer, vectorTileLayer } from './VectorTileLayer';\r\nexport { EsriUtil as Util } from './Util';\r\nexport { MaplibreGLJSLayer, maplibreGLJSLayer } from './MaplibreGLLayer';\r\n"],"names":["request","Support","latLng","latLngBounds","Util","Layer","setOptions","DomEvent","DomUtil","extend","maplibregl"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGA;EACA;EACA;EACA;EACO,SAAS,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE;EACnD,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;EAC3B,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,iEAAiE,CAAC,CAAC;EAC/F,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,8DAA8D;EAClE,IAAI,KAAK;EACT,IAAI,aAAa,CAAC;EAClB,EAAE,IAAI,MAAM,EAAE;EACd,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;EACnC,GAAG;EACH,EAAE,OAAO,GAAG,CAAC;EACb,CAAC;AACD;EACO,SAAS,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;EAC/D,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;EAC3B,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,iEAAiE,CAAC,CAAC;EAC/F,GAAG;AACH;EACA,EAAE,IAAI,GAAG,GAAG,6EAA6E,CAAC;EAC1F,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;EACzF;EACA,IAAI,GAAG,GAAG,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAC;AACjC;EACA,IAAI,IAAI,QAAQ,EAAE;EAClB,MAAM,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;EAC/F,KAAK;EACL,GAAG,MAAM;EACT,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;EACtB,GAAG;AACH;EACA,EAAE,IAAI,MAAM,EAAE;EACd,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;AACnC;EACA,IAAI,IAAI,QAAQ,EAAE;EAClB,MAAM,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,QAAQ,CAAC;EAC1C,KAAK;EACL,GAAG;EACH,EAAE,OAAO,GAAG,CAAC;EACb,CAAC;EACD;EACA;EACA;EACA;EACO,SAAS,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;EACvD,EAAE,MAAM,SAAS,GAAG,cAAc,CAAC;EACnC,EAAE,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAChD;EACA,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;EAC7D,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC;EAC/B,IAAI,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;EACxD,GAAG,MAAM;EACT,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC;EAC3B,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;EACjD,GAAG;EACH,CAAC;AACD;EACO,SAAS,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE;EAC5D,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;EAC/D,EAAEA,mBAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;EACxC,CAAC;AACD;EACA,SAAS,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;EAC9C,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;EAC/D,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,8BAA8B,GAAG,MAAM,CAAC;EAC1E,EAAEA,mBAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;EACjC,CAAC;AACD;EACA,SAAS,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;EACvD,EAAE,MAAM,YAAY;EACpB,IAAI,OAAO,CAAC,SAAS;EACrB,IAAI,8BAA8B;EAClC,IAAI,MAAM;EACV,IAAI,6BAA6B,CAAC;AAClC;EACA,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE;EAClE,IAAI,IAAI,KAAK,EAAE;EACf,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,EAAE,IAAI,EAAE;EACvD,QAAQ,IAAI,KAAK,EAAE;EACnB,UAAU,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC1B,UAAU,OAAO;EACjB,SAAS;EACT,QAAQ,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;EAC1D,OAAO,CAAC,CAAC;EACT,KAAK,MAAM;EACX,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,EAAE,IAAI,EAAE;EACvD,QAAQ,IAAI,KAAK,EAAE;EACnB,UAAU,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC1B,UAAU,OAAO;EACjB,SAAS;EACT,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,KAAK,EAAE,OAAO,EAAE;EACjE,UAAU,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;EAClE,SAAS,CAAC,CAAC;EACX,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA,SAAS,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE;EAC9D,EAAE,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,EAAE,OAAO,EAAE;EAC7D,IAAI,IAAI,KAAK,EAAE;EACf,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;EACtB,MAAM,OAAO;EACb,KAAK;AACL;EACA,IAAI,IAAI,mBAAmB,GAAG,UAAU,CAAC;EACzC;EACA,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;EAC1D,MAAM,mBAAmB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;EACvE,KAAK;AACL;EACA,IAAI,IAAI,gBAAgB,CAAC;EACzB;EACA,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;EACjD,MAAM,gBAAgB;EACtB,QAAQ,mBAAmB,GAAG,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;EACnE,KAAK,MAAM;EACX,MAAM,gBAAgB;EACtB,QAAQ,mBAAmB,GAAG,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;EACzE,KAAK;AACL;EACA,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE;EACxE,MAAM,IAAI,KAAK,EAAE;EACjB,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC;EACxB,QAAQ,OAAO;EACf,OAAO;EACP,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;EACnE,KAAK,CAAC,CAAC;EACP,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA,SAAS,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;EACxD,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;EAC/D,EAAEA,mBAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;EACtC,CAAC;AACD;EACA,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;EAChC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;EAC/D,CAAC;AACD;EACO,SAAS,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;EAC/D;AACA;EACA;EACA,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EACjD,EAAE,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;EAC7E,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3D;EACA;EACA,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;EAC3C,MAAM,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;EACvE,KAAK;AACL;EACA;EACA,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;EAC1D,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;EAC9D,KAAK;AACL;EACA;EACA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;EACvB;EACA;EACA,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;EACjE,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACpD,OAAO;AACP;EACA,MAAM,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EACtD,KAAK;AACL;EACA;EACA;EACA,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC;AAC5B;EACA;EACA,IAAI,MAAM,CAAC,GAAG,IAAI,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC;EACjD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC;EACtD;EACA;EACA;EACA,IAAI,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;EACxE,IAAI,MAAM,CAAC,OAAO;EAClB,MAAM,QAAQ,CAAC,MAAM;EACrB,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;EACtE,GAAG;AACH;EACA;EACA,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;EACxE,EAAE,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;EACxD,EAAE,UAAU,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;AAC1D;EACA;EACA,EAAE,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;EAC3E,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;EAC3C,IAAI;EACJ,MAAM,KAAK,CAAC,MAAM;EAClB,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;EAC/B,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;EAC1C,MAAM;EACN,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACjE,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;EAC3D;EACA,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO;EACnC,MAAM,kBAAkB;EACxB,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACrC,KAAK,CAAC;EACN,GAAG;EACH,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE;EAC7B;EACA,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;EAC3C,MAAM,KAAK,CAAC,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC;EACxC,KAAK,MAAM;EACX,MAAM,OAAO,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;EACnH,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;EAC3D;EACA,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO;EACnC,MAAM,kBAAkB;EACxB,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACrC,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE;EAC7B;EACA,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;EAC3C,MAAM,KAAK,CAAC,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC;EACxC,KAAK,MAAM;EACX,MAAM,OAAO,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;EAClH,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,KAAK,CAAC;EACf,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,kBAAkB,EAAE,GAAG,EAAE,GAAG,EAAE;EAC9C,EAAE,IAAIC,mBAAO,CAAC,IAAI,EAAE;EACpB,IAAID,mBAAO,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,KAAK,EAAE,YAAY,EAAE;EACpD,MAAM,IAAI,KAAK,EAAE;EACjB,QAAQ,OAAO;EACf,OAAO;EACP,MAAM,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;EAC1D,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACjE,QAAQ,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACzD;EACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACnE,UAAU,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EAC5D,UAAU,MAAM,SAAS,GAAGE,cAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/E,UAAU,MAAM,SAAS,GAAGA,cAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/E,UAAU,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC;EACrC,YAAY,WAAW,EAAE,WAAW,CAAC,WAAW;EAChD,YAAY,KAAK,EAAE,YAAY,CAAC,KAAK;EACrC,YAAY,MAAM,EAAEC,oBAAY,CAAC,SAAS,EAAE,SAAS,CAAC;EACtD,YAAY,OAAO,EAAE,YAAY,CAAC,OAAO;EACzC,YAAY,OAAO,EAAE,YAAY,CAAC,OAAO;EACzC,WAAW,CAAC,CAAC;EACb,SAAS;EACT,OAAO;AACP;EACA,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;EACjD,QAAQ,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;EACjC,OAAO,CAAC,CAAC;AACT;EACA;EACA,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;EAClC,MAAMC,gBAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;EACtC,KAAK,CAAC,CAAC;EACP,GAAG;EACH,CAAC;AACD;EACA;EACA;EACA;EACA;EACA,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAClD;EACO,SAAS,aAAa,EAAE,IAAI,EAAE;EACrC,EAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/C,CAAC;AACD;AACU,MAAC,QAAQ,GAAG;EACtB,EAAE,WAAW,EAAE,WAAW;EAC1B;;AC9RU,MAAC,iBAAiB,GAAGC,aAAK,CAAC,MAAM,CAAC;EAC5C,EAAE,OAAO,EAAE;EACX,IAAI,cAAc,EAAE,EAAE;EACtB;EACA;EACA,IAAI,OAAO,EAAE,GAAG;EAChB;EACA;EACA,IAAI,WAAW,EAAE,KAAK;EACtB;EACA,IAAI,IAAI,EAAE,UAAU;EACpB,GAAG;AACH;EACA,EAAE,UAAU,EAAE,UAAU,OAAO,EAAE;EACjC,IAAIC,kBAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9B;EACA;EACA,IAAI,IAAI,CAAC,gBAAgB,GAAGF,YAAI,CAAC,QAAQ;EACzC,MAAM,IAAI,CAAC,OAAO;EAClB,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc;EACjC,MAAM,IAAI;EACV,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE;EACxB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;EAC1B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;EAC5B,KAAK;AACL;EACA,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;EACxC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACvD;EACA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;AACnB;EACA,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE;EACA;EACA,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE;EACnC,MAAMG,gBAAQ,CAAC,EAAE;EACjB,QAAQ,GAAG,CAAC,MAAM;EAClB,QAAQC,eAAO,CAAC,cAAc;EAC9B,QAAQ,IAAI,CAAC,cAAc;EAC3B,QAAQ,IAAI;EACZ,OAAO,CAAC;EACR,KAAK;EACL,GAAG;AACH;EACA,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE;EAC3B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;EAC7D,MAAMD,gBAAQ,CAAC,GAAG;EAClB,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM;EACxB,QAAQC,eAAO,CAAC,cAAc;EAC9B,QAAQ,IAAI,CAAC,cAAc;EAC3B,QAAQ,IAAI;EACZ,OAAO,CAAC;EACR,KAAK;AACL;EACA,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACxC;EACA,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACvD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B;EACA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;EACvB,GAAG;AACH;EACA,EAAE,SAAS,EAAE,YAAY;EACzB,IAAI,OAAO;EACX,MAAM,IAAI,EAAE,IAAI,CAAC,gBAAgB;EACjC,MAAM,QAAQ,EAAE,IAAI,CAAC,YAAY;EACjC,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU;EAC3B,MAAM,SAAS,EAAE,IAAI,CAAC,UAAU;EAChC,MAAM,OAAO,EAAE,IAAI,CAAC,QAAQ;EAC5B,MAAM,MAAM,EAAE,IAAI,CAAC,OAAO;EAC1B,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,cAAc,EAAE,YAAY;EAC9B,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;EACvB,GAAG;AACH;EACA,EAAE,SAAS,EAAE,YAAY;EACzB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;EACnC,GAAG;AACH;EACA,EAAE,OAAO,EAAE,YAAY;EACvB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;EACxE,GAAG;AACH;EACA,EAAE,UAAU,EAAE,YAAY;EAC1B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;EAChC,GAAG;AACH;EACA,EAAE,UAAU,EAAE,UAAU,OAAO,EAAE;EACjC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;EACnC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;EAC5C,GAAG;AACH;EACA,EAAE,SAAS,EAAE,YAAY;EACzB,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;EACpD,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;EAC3E,IAAI,OAAOL,oBAAY;EACvB,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;EACjE,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAC5D,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,YAAY,EAAE,YAAY;EAC5B,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;EAC3B,GAAG;AACH;EACA;EACA,EAAE,WAAW,EAAE,YAAY;EAC3B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;EAC/C,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI;EACzB,QAAQ,UAAU,CAAC;EACnB,GAAG;AACH;EACA,EAAE,cAAc,EAAE,YAAY;EAC9B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;EACzB,MAAM,OAAO;EACb,KAAK;AACL;EACA,IAAI,IAAI,CAAC,UAAU,GAAGK,eAAO,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAChE;EACA,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;EAChC,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;EACxE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;EAChD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;AACjD;EACA,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClF;EACA,IAAIA,eAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;EAClD,GAAG;AACH;EACA,EAAE,OAAO,EAAE,YAAY;EACvB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;EACrB,MAAM,OAAO;EACb,KAAK;AACL;EACA,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AACzC;EACA,IAAI,MAAM,OAAO,GAAGC,cAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE;EAC7C,MAAM,SAAS,EAAE,IAAI,CAAC,UAAU;EAChC,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;EACtC,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;EACnC,MAAM,kBAAkB,EAAE,KAAK;EAC/B,KAAK,CAAC,CAAC;AACP;EACA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAIC,8BAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9C;EACA;EACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;EACpB,MAAM,WAAW;EACjB,MAAM,UAAU,GAAG,EAAE;EACrB,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;EACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;EAClB,KAAK,CAAC;AACN;EACA;EACA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;EAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,QAAQ,CAAC;AACtD;EACA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC;EACA,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;EACpC;EACA,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;EAC7D,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;EACtD,KAAK;AACL;EACA;EACA,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;EAC7C,IAAIF,eAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;EACpD,IAAIA,eAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;EACtD,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;EAClC,MAAMA,eAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;EACtD,KAAK;EACL,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;EAChC,MAAMA,eAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;EACvD,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;EACxB;EACA,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE;EACA,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;EACvB,MAAM,OAAO;EACb,KAAK;AACL;EACA,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;EAChC,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;EACtC,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;EAC3B,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;EACxE,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClF;EACA,IAAIA,eAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5C;EACA,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC1B;EACA,IAAI,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,EAAE;EACzE,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;EAC5C,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;EAC7C,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE;EAC3D,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;EACrB,OAAO,MAAM;EACb,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;EACpB,OAAO;EACP,KAAK,MAAM;EACX;EACA,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE;EAC3D,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;EACrB,OAAO,MAAM;EACb,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;EACpB,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE;EAC9B,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AACzC;EACA;EACA;AACA;EACA,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;EAC5B,IAAI,EAAE,CAAC,MAAM,GAAGE,8BAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;EACpE,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;EACtC,GAAG;AACH;EACA;EACA,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;EAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;EACvB,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;EACnC,MAAM,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;EACnC,KAAK,CAAC,CAAC;EACP,GAAG;AACH;EACA;EACA;EACA,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE;EAC7B,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;EACjD,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;EACjF,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EACjD;EACA;EACA,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;EAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;EAChC,OAAO,SAAS,CAAC,QAAQ,CAAC;EAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACpD,OAAO,MAAM,EAAE,CAAC;EAChB,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI;EAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;EAC5D,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC1B;EACA,IAAIF,eAAO,CAAC,YAAY;EACxB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa;EAC/B,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;EACnC,MAAM,KAAK;EACX,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;EAC3B,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EACzB,GAAG;AACH;EACA,EAAE,QAAQ,EAAE,YAAY;EACxB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9D;EACA,IAAIA,eAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACjE;EACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC1B;EACA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;EACnB,GAAG;AACH;EACA,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;EAC/B,IAAIJ,YAAI,CAAC,gBAAgB,CAAC,YAAY;EACtC,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;EACvC,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;EAC3C,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB;EACrD,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE;EAC5C,OAAO,CAAC;AACR;EACA;EACA,MAAMI,eAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACjE;EACA;EACA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI;EACtB,QAAQ,SAAS;EACjB,QAAQJ,YAAI,CAAC,IAAI,CAAC,YAAY;EAC9B,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;EAC1B,SAAS,EAAE,IAAI,CAAC;EAChB,OAAO,CAAC;AACR;EACA;EACA,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;EACzB,QAAQ,MAAM,EAAE,MAAM;EACtB,QAAQ,IAAI,EAAE,IAAI,GAAG,CAAC;EACtB,OAAO,CAAC,CAAC;EACT,KAAK,EAAE,IAAI,CAAC,CAAC;EACb,GAAG;EACH,CAAC,EAAE;AACH;EACO,SAAS,iBAAiB,EAAE,OAAO,EAAE;EAC5C,EAAE,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;EACxC;;AC1TU,MAAC,eAAe,GAAGC,aAAK,CAAC,MAAM,CAAC;EAC1C,EAAE,OAAO,EAAE;EACX;EACA,IAAI,SAAS,EAAE,wBAAwB;EACvC;EACA;EACA,IAAI,qBAAqB,EAAE,KAAK;EAChC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE,UAAU,GAAG,EAAE,OAAO,EAAE;EACtC,IAAI,IAAI,OAAO,EAAE;EACjB,MAAMC,kBAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;EAChC,KAAK;AACL;EACA;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;EAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;EAChD,KAAK;AACL;EACA;EACA;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;EAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;EAC/C,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;EACnC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;EAC/C,KAAK;AACL;EACA;EACA,IAAI,IAAI,CAAC,GAAG,EAAE;EACd,MAAM,MAAM,IAAI,KAAK;EACrB,QAAQ,4DAA4D;EACpE,OAAO,CAAC;EACR,KAAK;AACL;EACA;EACA,IAAI,IAAI,GAAG,EAAE;EACb,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;EAC7B,KAAK;AACL;EACA;EACA,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE,YAAY;EAC5B,IAAI,SAAS;EACb,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG;EACtB,MAAM,IAAI,CAAC,OAAO;EAClB,MAAM,UAAU,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;EACjD,QAAQ,IAAI,KAAK,EAAE;EACnB,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;EAClC,YAAY,KAAK,EAAE,KAAK;EACxB,WAAW,CAAC,CAAC;EACb,UAAU,OAAO;EACjB,SAAS;AACT;EACA,QAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;EACpE,UAAU,OAAO,CAAC,IAAI;EACtB,YAAY,6JAA6J;EACzK,YAAY,OAAO,CAAC,QAAQ,CAAC,gBAAgB;EAC7C,YAAY,qJAAqJ;EACjK,WAAW,CAAC;EACZ,SAAS;AACT;EACA;EACA,QAAQ,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1E;EACA,QAAQ,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;EACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;EAClB,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,iBAAiB,EAAE,YAAY;EACjC;EACA;EACA;EACA;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;EAChC,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;EACjF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW;EAC9B,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;EAC/D,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;EACrD;EACA,QAAQ,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;EAC3E,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,oBAAoB,EAAE,UAAU,KAAK,EAAE;EACzC,IAAI,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;EACzC,MAAM,KAAK,EAAE,KAAK;EAClB,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;EAC7B,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;EACnC,MAAM,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB;EAC/D,KAAK,CAAC,CAAC;AACP;EACA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;EACvB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC;EACA,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY;EACnD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;EAC/B;EACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE;EAC1E,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;EACjG,OAAO;EACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAClB,GAAG;AACH;EACA,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE;EACxB,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AACpB;EACA,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;EACrB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;EACvB,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,IAAI;EACf,QAAQ,OAAO;EACf,QAAQ,YAAY;EACpB,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;EAC3B,SAAS;EACT,QAAQ,IAAI;EACZ,OAAO,CAAC;EACR,KAAK;EACL,GAAG;AACH;EACA,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE;EAC3B,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACtC,GAAG;AACH;EACA,EAAE,SAAS,EAAE,YAAY;EACzB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;EAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;EACtC,GAAG;EACH,CAAC,EAAE;AACH;EACO,SAAS,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE;EAC/C,EAAE,OAAO,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;EAC3C;;ACjJU,MAAC,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC;EACvD;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE,UAAU,GAAG,EAAE,OAAO,EAAE;EACtC;EACA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;EAC1B,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;EACjD,WAAW,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;EAC/B,KAAK;EACL,IAAI,IAAI,CAAC,GAAG,EAAE;EACd;EACA,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;EACxE,KAAK;EACL;EACA,IAAI,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;EAC9D,MAAM,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;EACjF,KAAK;EACL;EACA,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE;EAC1B,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE;EACjC,QAAQ,MAAM,IAAI,KAAK,CAAC,+HAA+H,CAAC,CAAC;EACzJ,OAAO;EACP,KAAK;EACL;EACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;EACvB,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;EAC5D,QAAQ,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;EACrC,OAAO,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;EACrE,QAAQ,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;EACrC,OAAO,MAAM;EACb;EACA,QAAQ,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;EAClC,OAAO;EACP,KAAK;AACL;EACA;EACA,IAAI,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;EAClE,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE,YAAY;EAC5B,IAAI,IAAI,QAAQ,CAAC;EACjB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE;EAC5D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EACpG,KAAK,MAAM;EACX,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EAC3E,KAAK;EACL,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;EACxC,GAAG;AACH;EACA,EAAE,iBAAiB,EAAE,YAAY;EACjC;EACA,IAAIF,gBAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;EACxC;EACA,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;EACjF,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;EACjC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;EAClD,QAAQ,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;EACvD,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,KAAK,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE;EACtK,UAAU,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;EAC3D,SAAS;EACT,OAAO,CAAC,CAAC;AACT;EACA,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;EAC9G,KAAK,MAAM;EACX;EACA,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;EACzC,QAAQ,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;EAClF,OAAO;AACP;EACA,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;EACrD,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;EAC1C,UAAU;EACV,YAAY,IAAI,KAAK,GAAG,CAAC;EACzB,YAAY,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM;EACvD,YAAY,KAAK,EAAE;EACnB,YAAY;EACZ,YAAY,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;EACvE,YAAY,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1D,WAAW;AACX;EACA,UAAU,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc;EACrD,YAAY,gDAAgD;EAC5D,WAAW,CAAC;EACZ,SAAS;EACT,QAAQA,gBAAI,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;EAC1D,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA;EACA;EACA;EACA;EACA,EAAE,mBAAmB,EAAE,UAAU,GAAG,EAAE;EACtC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;EAClE,MAAM,OAAO,CAAC,+DAA+D,CAAC,CAAC;EAC/E,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;EAC3F,MAAM,OAAO;EACb,QAAQ,qDAAqD;EAC7D,QAAQ,+DAA+D;EACvE,OAAO,CAAC;EACR,KAAK;AACL;EACA;EACA,IAAI,OAAO,CAAC,+DAA+D,CAAC,CAAC;EAC7E,GAAG;AACH;EACA,EAAE,SAAS,EAAE,YAAY;EACzB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;EAC/C,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACxC;EACA,MAAM,IAAI,MAAM,GAAG,GAAG,CAAC;EACvB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE;EAC/C,QAAQ,MAAM,GAAG,GAAG,CAAC;EACrB,OAAO,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE;EACtD,QAAQ,MAAM,GAAG,GAAG,CAAC;EACrB,OAAO;EACP,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;EACjC,KAAK;EACL,GAAG;AACH;EACA,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE;EAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,EAAEA,gBAAI,CAAC,qBAAqB,CAAC,CAAC;EACnD,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtC;EACA,IAAI,IAAI,GAAG,CAAC,kBAAkB,EAAE;EAChC,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;AAClF;EACA,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;EACzC,QAAQ,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;EACvD;EACA,QAAQ,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;EACpE,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,SAAS,EAAE,YAAY;EACzB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;EAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;EACrB,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,EAAEA,gBAAI,CAAC,qBAAqB,CAAC,CAAC;EAClD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;EACtC,GAAG;EACH,CAAC,EAAE;AACH;EACO,SAAS,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE;EAClD,EAAE,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;EAC9C;;EChKA;AAEK,QAAC,OAAO,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;"} \ 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..6620c71 --- /dev/null +++ b/dist/esri-leaflet-vector.js @@ -0,0 +1,5 @@ +/* esri-leaflet-vector - v4.2.1 - Wed Oct 18 2023 14:49:17 GMT-0500 (Central Daylight Time) + * Copyright (c) 2023 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("esri-leaflet"),require("leaflet")):"function"==typeof define&&define.amd?define(["exports","esri-leaflet","leaflet"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).L=t.L||{},t.L.esri=t.L.esri||{},t.L.esri.Vector={}),t.L.esri,t.L)}(this,(function(t,e,i){"use strict";var r="4.2.1";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 o=e(s);function l(t,e,i,r){const n=new o(t,e,i,r);return function(t){return n.solve(t)}}const c=l(.25,.1,.25,1);function h(t,e,i){return Math.min(i,Math.max(e,t))}function u(t,e,i){const r=i-e,n=((t-e)%r+r)%r+e;return n===e?i:n}function p(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let d=1;function f(t,e,i){const r={};for(const n in t)r[n]=e.call(i||this,t[n],n,t);return r}function m(t,e,i){const r={};for(const n in t)e.call(i||this,t[n],n,t)&&(r[n]=t[n]);return r}function g(t){return Array.isArray(t)?t.map(g):"object"==typeof t&&t?f(t,g):t}const _={};function y(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function x(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function v(t){let e=0;for(let i,r,n=0,s=t.length,a=s-1;ncancelAnimationFrame(e)}},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=>(I||(I=document.createElement("a")),I.href=t,I.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==A&&(A=matchMedia("(prefers-reduced-motion: reduce)")),A.matches)}},M={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};class P extends Error{constructor(t,e,i,r){super(`AJAXError: ${e} (${t}): ${i}`),this.status=t,this.statusText=e,this.url=i,this.body=r}}const z=b()?()=>self.worker&&self.worker.referrer:()=>("blob:"===window.location.protocol?window.parent:window).location.href,k=t=>M.REGISTERED_PROTOCOLS[t.substring(0,t.indexOf("://"))];function D(t,e){const i=new AbortController,r=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:z(),signal:i.signal});let n=!1,s=!1;return"json"===t.type&&r.headers.set("Accept","application/json"),s||fetch(r).then((i=>i.ok?(i=>{("arrayBuffer"===t.type||"image"===t.type?i.arrayBuffer():"json"===t.type?i.json():i.text()).then((t=>{s||(n=!0,e(null,t,i.headers.get("Cache-Control"),i.headers.get("Expires")))})).catch((t=>{s||e(new Error(t.message))}))})(i):i.blob().then((r=>e(new P(i.status,i.statusText,t.url,r)))))).catch((t=>{20!==t.code&&e(new Error(t.message))})),{cancel:()=>{s=!0,n||i.abort()}}}const L=function(t,e){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(b()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e);if(!b())return(k(t.url)||D)(t,e)}if(!(/^file:/.test(i=t.url)||/^file:/.test(z())&&!/^\w+:/.test(i))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return D(t,e);if(b()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var i;return function(t,e){const i=new XMLHttpRequest;i.open(t.method||"GET",t.url,!0),"arrayBuffer"!==t.type&&"image"!==t.type||(i.responseType="arraybuffer");for(const e in t.headers)i.setRequestHeader(e,t.headers[e]);return"json"===t.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===t.credentials,i.onerror=()=>{e(new Error(i.statusText))},i.onload=()=>{if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let r=i.response;if("json"===t.type)try{r=JSON.parse(i.response)}catch(t){return e(t)}e(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else{const r=new Blob([i.response],{type:i.getResponseHeader("Content-Type")});e(new P(i.status,i.statusText,t.url,r))}},i.send(t.body),{cancel:()=>i.abort()}}(t,e)},B=function(t,e){return L(p(t,{type:"arrayBuffer"}),e)};function R(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 F(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function O(t,e,i){if(i&&i[t]){const r=i[t].indexOf(e);-1!==r&&i[t].splice(r,1)}}class U{constructor(t,e={}){p(this,e),this.type=t}}class V extends U{constructor(t,e={}){super("error",p({error:t},e))}}class N{on(t,e){return this._listeners=this._listeners||{},F(t,e,this._listeners),this}off(t,e){return O(t,e,this._listeners),O(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},F(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new U(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)O(i,e,this._oneTimeListeners),e.call(this,t);const n=this._eventedParent;n&&(p(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(t))}else t instanceof V&&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 $={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"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:{}},default:"mapbox"},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":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},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 q=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Z(t,e){const i={};for(const e in t)"ref"!==e&&(i[e]=t[e]);return q.forEach((t=>{t in e&&(i[t]=e[t])})),i}function j(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 yt=[nt,st,at,ot,lt,pt,ct,gt(ht),dt,ft,mt];function xt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!xt(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 yt)if(!xt(t,e))return null}return`Expected ${_t(t)} but found ${_t(e)} instead.`}function vt(t,e){return e.some((e=>e.kind===t.kind))}function bt(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 wt(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const Tt=.96422,Et=.82521,St=4/29,It=6/29,At=3*It*It,Ct=It*It*It,Mt=Math.PI/180,Pt=180/Math.PI;function zt(t){return(t%=360)<0&&(t+=360),t}function kt([t,e,i,r]){let n,s;const a=Lt((.2225045*(t=Dt(t))+.7168786*(e=Dt(e))+.0606169*(i=Dt(i)))/1);t===e&&e===i?n=s=a:(n=Lt((.4360747*t+.3850649*e+.1430804*i)/Tt),s=Lt((.0139322*t+.0971045*e+.7141733*i)/Et));const o=116*a-16;return[o<0?0:o,500*(n-a),200*(a-s),r]}function Dt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Lt(t){return t>Ct?Math.pow(t,1/3):t/At+St}function Bt([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*Ft(n),s=Tt*Ft(s),a=Et*Ft(a),[Rt(3.1338561*s-1.6168667*n-.4906146*a),Rt(-.9787684*s+1.9161415*n+.033454*a),Rt(.0719453*s-.2289914*n+1.4052427*a),r]}function Rt(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Ft(t){return t>It?t*t*t:At*(t-St)}function Ot(t){return parseInt(t.padEnd(2,t),16)/255}function Ut(t,e){return Vt(e?t/100:t,0,1)}function Vt(t,e,i){return Math.min(Math.max(e,t),i)}function Nt(t){return!t.some(Number.isNaN)}const $t={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 qt{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 qt)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=$t[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[Ot(t.slice(i,i+=e)),Ot(t.slice(i,i+=e)),Ot(t.slice(i,i+=e)),Ot(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,p]=e,d=[n||" ",o||" ",h].join("");if(" "===d||" /"===d||",,"===d||",,,"===d){const t=[r,a,c].join(""),e="%%%"===t?100:""===t?255:0;if(e){const t=[Vt(+i/e,0,1),Vt(+s/e,0,1),Vt(+l/e,0,1),u?Ut(+u,p):1];if(Nt(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,Vt(+n,0,100),Vt(+a,0,100),l?Ut(+l,c):1];if(Nt(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=zt(t),e/=100,i/=100,[n(0),n(8),n(4),r]}(t)}}}(t);return e?new qt(...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]=kt(t),s=Math.sqrt(i*i+r*r);return[Math.round(1e4*s)?zt(Math.atan2(r,i)*Pt):NaN,s,e,n]}(this.rgb))}get lab(){return this.overwriteGetter("lab",kt(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})`}}qt.black=new qt(0,0,0,1),qt.white=new qt(1,1,1,1),qt.transparent=new qt(0,0,0,0),qt.red=new qt(1,0,0,1);class Zt{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 jt{constructor(t,e,i,r,n){this.text=t,this.image=e,this.scale=i,this.fontStack=r,this.textColor=n}}class Gt{constructor(t){this.sections=t}static fromString(t){return new Gt([new jt(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 Gt?t:Gt.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Xt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Xt)return t;if("number"==typeof t)return new Xt([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 Xt(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 Ht{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Ht)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 Jt(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof qt||t instanceof Zt||t instanceof Gt||t instanceof Xt||t instanceof Ht||t instanceof Kt)return!0;if(Array.isArray(t)){for(const e of t)if(!Jt(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Jt(t[e]))return!1;return!0}return!1}function Qt(t){if(null===t)return nt;if("string"==typeof t)return at;if("boolean"==typeof t)return ot;if("number"==typeof t)return st;if(t instanceof qt)return lt;if(t instanceof Zt)return ut;if(t instanceof Gt)return pt;if(t instanceof Xt)return dt;if(t instanceof Ht)return mt;if(t instanceof Kt)return ft;if(Array.isArray(t)){const e=t.length;let i;for(const e of t){const t=Qt(e);if(i){if(i===t)continue;i=ht;break}i=t}return gt(i||ht,e)}return ct}function te(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof qt||t instanceof Gt||t instanceof Xt||t instanceof Ht||t instanceof Kt?t.toString():JSON.stringify(t)}class ee{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(!Jt(t[1]))return e.error("invalid value");const i=t[1];let r=Qt(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 ee(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class ie{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const re={string:at,number:st,boolean:ot,object:ct};class ne{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 re)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);n=re[i],r++}else n=ht;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=gt(n,s)}else{if(!re[n])throw new Error(`Types doesn't contain name = ${n}`);i=re[n]}const s=[];for(;rt.outputDefined()))}}const se={"to-boolean":ot,"to-color":lt,"to-number":st,"to-string":at};class ae{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(!se[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=se[i],n=[];for(let i=1;i4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Yt(e[0],e[1],e[2],e[3]),!i))return new qt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ie(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=Xt.parse(e);if(r)return r}throw new ie(`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=Ht.parse(e);if(r)return r}throw new ie(`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 ie(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return Gt.fromString(te(this.args[0].evaluate(t)));case"resolvedImage":return Kt.fromString(te(this.args[0].evaluate(t)));default:return te(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const oe=["Unknown","Point","LineString","Polygon"];class le{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?oe[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]=qt.parse(t)),e}}class ce{constructor(t,e,i=[],r,n=new rt,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 ne(e,[t]):"coerce"===i?new ae(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 ee)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const e=new le;try{r=new ee(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 ce(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 it(i,t))}checkSubtype(t,e){const i=xt(t,e);return i&&this.error(i),i}}class he{constructor(t,e,i){this.type=ut,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,ot);if(!r)return null;const n=e.parse(void 0!==i["diacritic-sensitive"]&&i["diacritic-sensitive"],1,ot);if(!n)return null;let s=null;return i.locale&&(s=e.parse(i.locale,1,at),!s)?null:new he(r,n,s)}evaluate(t){return new Zt(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}}const ue=8192;function pe(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 de(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function fe(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*ue),Math.round(r*n*ue)]}function me(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 ge(t,e){let i=!1;for(let a=0,o=e.length;a(r=t)[1]!=(s=o[e+1])[1]>r[1]&&r[0]<(s[0]-n[0])*(r[1]-n[1])/(s[1]-n[1])+n[0]&&(i=!i)}}var r,n,s;return i}function _e(t,e){for(let i=0;i0&&o<0||a<0&&o>0}function xe(t,e,i){for(const c of i)for(let i=0;ii[2]){const e=.5*r;let n=t[0]-i[0]>e?-r:i[0]-t[0]>e?r:0;0===n&&(n=t[0]-i[2]>e?-r:i[2]-t[0]>e?r:0),t[0]+=n}pe(e,t)}function Se(t,e,i,r){const n=Math.pow(2,r.z)*ue,s=[r.x*ue,r.y*ue],a=[];for(const r of t)for(const t of r){const r=[t.x+s[0],t.y+s[1]];Ee(r,e,i,n),a.push(r)}return a}function Ie(t,e,i,r){const n=Math.pow(2,r.z)*ue,s=[r.x*ue,r.y*ue],a=[];for(const i of t){const t=[];for(const r of i){const i=[r.x+s[0],r.y+s[1]];pe(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)Ee(r,e,i,n)}var o;return a}class Ae{constructor(t,e){this.type=ot,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(Jt(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[r,s]of a){o=new ce(e.registry,Pe,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(_t).join(", ")})`:`(${_t(e.type)}...)`;var e})).join(" | "),r=[];for(let i=1;i{i=e?i&&Pe(t):i&&t instanceof ee})),!!i&&ze(t)&&De(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function ze(t){if(t instanceof Me){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 Ae)return!1;let e=!0;return t.eachChild((t=>{e&&!ze(t)&&(e=!1)})),e}function ke(t){if(t instanceof Me&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!ke(t)&&(e=!1)})),e}function De(t,e){if(t instanceof Me&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!De(t,e)&&(i=!1)})),i}function Le(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 ie("Input is not a number.");a=o-1}return 0}class Be{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,st);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 Be(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[Le(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 Re(t,e,i){return t+i*(e-t)}function Fe(t,e,i){return t.map(((t,r)=>Re(t,e[r],i)))}const Oe={number:Re,color:function(t,e,i,r="rgb"){switch(r){case"rgb":{const[r,n,s,a]=Fe(t.rgb,e.rgb,i);return new qt(r,n,s,a,!1)}case"hcl":{const[r,n,s,a]=t.hcl,[o,l,c,h]=e.hcl;let u,p;if(isNaN(r)||isNaN(o))isNaN(r)?isNaN(o)?u=NaN:(u=o,1!==s&&0!==s||(p=l)):(u=r,1!==c&&0!==c||(p=n));else{let t=o-r;o>r&&t>180?t-=360:o180&&(t+=360),u=r+i*t}const[d,f,m,g]=function([t,e,i,r]){return t=isNaN(t)?0:t*Mt,Bt([i,Math.cos(t)*e,Math.sin(t)*e,r])}([u,null!=p?p:Re(n,l,i),Re(s,c,i),Re(a,h,i)]);return new qt(d,f,m,g,!1)}case"lab":{const[r,n,s,a]=Bt(Fe(t.lab,e.lab,i));return new qt(r,n,s,a,!1)}}},array:Fe,padding:function(t,e,i){return new Xt(Fe(t.values,e.values,i))},variableAnchorOffsetCollection:function(t,e,i){const r=t.values,n=e.values;if(r.length!==n.length)throw new ie(`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,st),!n)return null;const a=[];let o=null;"interpolate-hcl"===i||"interpolate-lab"===i?o=lt: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 wt(o,st)||wt(o,lt)||wt(o,dt)||wt(o,mt)||wt(o,gt(st))?new Ue(o,i,r,n,a):e.error(`Type ${_t(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=Le(e,r),a=Ue.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 Oe[this.type.kind](o,l,a);case"interpolate-hcl":return Oe.color(o,l,a,"hcl");case"interpolate-lab":return Oe.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,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 Ne{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=>xt(r,t.type)));return new Ne(s?ht: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 Kt&&!i.available&&(e||(e=i.name),i=null,r===this.args.length&&(i=e)),null!==i)break;return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class $e{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 ie(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new ie(`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 Ze{constructor(t,e){this.type=ot,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,ht),r=e.parse(t[2],2,ht);return i&&r?vt(i.type,[ot,at,st,nt,ht])?new Ze(i,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${_t(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!bt(e,["boolean","string","number","null"]))throw new ie(`Expected first argument to be of type boolean, string, number or null, but found ${_t(Qt(e))} instead.`);if(!bt(i,["string","array"]))throw new ie(`Expected second argument to be of type array or string, but found ${_t(Qt(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class je{constructor(t,e,i){this.type=st,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,ht),r=e.parse(t[2],2,ht);if(!i||!r)return null;if(!vt(i.type,[ot,at,st,nt,ht]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${_t(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,st);return n?new je(i,r,n):null}return new je(i,r)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!bt(e,["boolean","string","number","null"]))throw new ie(`Expected first argument to be of type boolean, string, number or null, but found ${_t(Qt(e))} instead.`);if(!bt(i,["string","array"]))throw new ie(`Expected second argument to be of type array or string, but found ${_t(Qt(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 Ge{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,Qt(t)))return null}else i=Qt(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,ht);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 Ge(i,r,a,n,s,o):null}evaluate(t){const e=this.input.evaluate(t);return(Qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class Xe{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 We{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,ht),r=e.parse(t[2],2,st);if(!i||!r)return null;if(!vt(i.type,[gt(ht),at,ht]))return e.error(`Expected first argument to be of type array or string, but found ${_t(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,st);return n?new We(i.type,i,r,n):null}return new We(i.type,i,r)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!bt(e,["string","array"]))throw new ie(`Expected first argument to be of type array or string, but found ${_t(Qt(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 He(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 Ke(t,e,i,r){return 0===r.compare(e,i)}function Ye(t,e,i){const r="=="!==t&&"!="!==t;return class n{constructor(t,e,i){this.type=ot,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,ht);if(!s)return null;if(!He(i,s.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${_t(s.type)}'.`);let a=e.parse(t[2],2,ht);if(!a)return null;if(!He(i,a.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${_t(a.type)}'.`);if(s.type.kind!==a.type.kind&&"value"!==s.type.kind&&"value"!==a.type.kind)return e.error(`Cannot compare types '${_t(s.type)}' and '${_t(a.type)}'.`);r&&("value"===s.type.kind&&"value"!==a.type.kind?s=new ne(a.type,[s]):"value"!==s.type.kind&&"value"===a.type.kind&&(a=new ne(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,ut),!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=Qt(s),i=Qt(a);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new ie(`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=Qt(s),i=Qt(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 Je=Ye("==",(function(t,e,i){return e===i}),Ke),Qe=Ye("!=",(function(t,e,i){return e!==i}),(function(t,e,i,r){return!Ke(0,e,i,r)})),ti=Ye("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,r){return r.compare(e,i)>0})),ii=Ye("<=",(function(t,e,i){return e<=i}),(function(t,e,i,r){return r.compare(e,i)<=0})),ri=Ye(">=",(function(t,e,i){return e>=i}),(function(t,e,i,r){return r.compare(e,i)>=0}));class ni{constructor(t,e,i,r,n){this.type=at,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,st);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,at),!n))return null;let s=null;if(r.currency&&(s=e.parse(r.currency,1,at),!s))return null;let a=null;if(r["min-fraction-digits"]&&(a=e.parse(r["min-fraction-digits"],1,st),!a))return null;let o=null;return r["max-fraction-digits"]&&(o=e.parse(r["max-fraction-digits"],1,st),!o)?null:new ni(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 si{constructor(t){this.type=pt,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,st),!t))return null;let i=null;if(s["text-font"]&&(i=e.parse(s["text-font"],1,gt(at)),!i))return null;let a=null;if(s["text-color"]&&(a=e.parse(s["text-color"],1,lt),!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,ht);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 si(r)}evaluate(t){return new Gt(this.sections.map((e=>{const i=e.content.evaluate(t);return Qt(i)===ft?new jt("",i,null,null,null):new jt(te(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 ai{constructor(t){this.type=ft,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,at);return i?new ai(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=Kt.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}}class oi{constructor(t){this.type=st,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 ${_t(i.type)} instead.`):new oi(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 ie(`Expected value to be of type string or array, but found ${_t(Qt(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const li={"==":Je,"!=":Qe,">":ei,"<":ti,">=":ri,"<=":ii,array:ne,at:qe,boolean:ne,case:Xe,coalesce:Ne,collator:he,format:si,image:ai,in:Ze,"index-of":je,interpolate:Ue,"interpolate-hcl":Ue,"interpolate-lab":Ue,length:oi,let:$e,literal:ee,match:Ge,number:ne,"number-format":ni,object:ne,slice:We,step:Be,string:ne,"to-boolean":ae,"to-color":ae,"to-number":ae,"to-string":ae,var:Ce,within:Ae};function ci(t,[e,i,r,n]){e=e.evaluate(t),i=i.evaluate(t),r=r.evaluate(t);const s=n?n.evaluate(t):1,a=Yt(e,i,r,s);if(a)throw new ie(a);return new qt(e/255,i/255,r/255,s,!1)}function hi(t,e){return t in e}function ui(t,e){const i=e[t];return void 0===i?null:i}function pi(t){return{type:t}}function di(t){return{result:"success",value:t}}function fi(t){return{result:"error",value:t}}function mi(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function gi(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function _i(t){return!!t.expression&&t.expression.interpolated}function yi(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function xi(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function vi(t){return t}function bi(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||(_i(e)?"exponential":"interval");if(i||"padding"===e.type){const r=i?qt.parse:Xt.parse;(t=et({},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=Si;else if("interval"===s)o=Ei;else if("categorical"===s){o=Ti,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=Ii}if(r){const i={},r=[];for(let e=0;et[0])),evaluate:({zoom:i},r)=>Si({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:Ue.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?wi(t.default,e.default):o(t,e,n,l,c)}}}function wi(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function Ti(t,e,i,r,n){return wi(typeof i===n?r[i]:void 0,t.default,e.default)}function Ei(t,e,i){if("number"!==yi(i))return wi(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=Le(t.stops.map((t=>t[0])),i);return t.stops[n][1]}function Si(t,e,i){const r=void 0!==t.base?t.base:1;if("number"!==yi(i))return wi(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=Le(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=Oe[e.type]||vi;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 Ii(t,e,i){switch(e.type){case"color":i=qt.parse(i);break;case"formatted":i=Gt.fromString(i.toString());break;case"resolvedImage":i=Kt.fromString(i.toString());break;case"padding":i=Xt.parse(i);break;default:yi(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0)}return wi(i,t.default,e.default)}Me.register(li,{error:[{kind:"error"},[at],(t,[e])=>{throw new ie(e.evaluate(t))}],typeof:[at,[ht],(t,[e])=>_t(Qt(e.evaluate(t)))],"to-rgba":[gt(st,4),[lt],(t,[e])=>{const[i,r,n,s]=e.evaluate(t).rgb;return[255*i,255*r,255*n,s]}],rgb:[lt,[st,st,st],ci],rgba:[lt,[st,st,st,st],ci],has:{type:ot,overloads:[[[at],(t,[e])=>hi(e.evaluate(t),t.properties())],[[at,ct],(t,[e,i])=>hi(e.evaluate(t),i.evaluate(t))]]},get:{type:ht,overloads:[[[at],(t,[e])=>ui(e.evaluate(t),t.properties())],[[at,ct],(t,[e,i])=>ui(e.evaluate(t),i.evaluate(t))]]},"feature-state":[ht,[at],(t,[e])=>ui(e.evaluate(t),t.featureState||{})],properties:[ct,[],t=>t.properties()],"geometry-type":[at,[],t=>t.geometryType()],id:[ht,[],t=>t.id()],zoom:[st,[],t=>t.globals.zoom],"heatmap-density":[st,[],t=>t.globals.heatmapDensity||0],"line-progress":[st,[],t=>t.globals.lineProgress||0],accumulated:[ht,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[st,pi(st),(t,e)=>{let i=0;for(const r of e)i+=r.evaluate(t);return i}],"*":[st,pi(st),(t,e)=>{let i=1;for(const r of e)i*=r.evaluate(t);return i}],"-":{type:st,overloads:[[[st,st],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[st],(t,[e])=>-e.evaluate(t)]]},"/":[st,[st,st],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[st,[st,st],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[st,[],()=>Math.LN2],pi:[st,[],()=>Math.PI],e:[st,[],()=>Math.E],"^":[st,[st,st],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[st,[st],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[st,[st],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[st,[st],(t,[e])=>Math.log(e.evaluate(t))],log2:[st,[st],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[st,[st],(t,[e])=>Math.sin(e.evaluate(t))],cos:[st,[st],(t,[e])=>Math.cos(e.evaluate(t))],tan:[st,[st],(t,[e])=>Math.tan(e.evaluate(t))],asin:[st,[st],(t,[e])=>Math.asin(e.evaluate(t))],acos:[st,[st],(t,[e])=>Math.acos(e.evaluate(t))],atan:[st,[st],(t,[e])=>Math.atan(e.evaluate(t))],min:[st,pi(st),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[st,pi(st),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[st,[st],(t,[e])=>Math.abs(e.evaluate(t))],round:[st,[st],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[st,[st],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[st,[st],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[ot,[at,ht],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[ot,[ht],(t,[e])=>t.id()===e.value],"filter-type-==":[ot,[at],(t,[e])=>t.geometryType()===e.value],"filter-<":[ot,[at,ht],(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":[ot,[at,ht],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>n}],"filter-id->":[ot,[ht],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>r}],"filter-<=":[ot,[at,ht],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r<=n}],"filter-id-<=":[ot,[ht],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i<=r}],"filter->=":[ot,[at,ht],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>=n}],"filter-id->=":[ot,[ht],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>=r}],"filter-has":[ot,[ht],(t,[e])=>e.value in t.properties()],"filter-has-id":[ot,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[ot,[gt(at)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[ot,[gt(ht)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[ot,[at,gt(ht)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[ot,[at,gt(ht)],(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:ot,overloads:[[[ot,ot],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[pi(ot),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:ot,overloads:[[[ot,ot],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[pi(ot),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[ot,[ot],(t,[e])=>!e.evaluate(t)],"is-supported-script":[ot,[at],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[at,[at],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[at,[at],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[at,pi(ht),(t,e)=>e.map((e=>te(e.evaluate(t)))).join("")],"resolved-locale":[at,[ut],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Ai{constructor(t,e){var i;this.expression=t,this._warningHistory={},this._evaluator=new le,this._defaultValue=e?"color"===(i=e).type&&xi(i.default)?new qt(0,0,0,0):"color"===i.type?qt.parse(i.default)||null:"padding"===i.type?Xt.parse(i.default)||null:"variableAnchorOffsetCollection"===i.type?Ht.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 ie(`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 Ci(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in li}function Mi(t,e){const i=new ce(li,Pe,[],e?function(t){const e={color:lt,string:at,number:st,enum:at,boolean:ot,formatted:pt,padding:dt,resolvedImage:ft,variableAnchorOffsetCollection:mt};return"array"===t.type?gt(e[t.value]||ht,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?di(new Ai(r,e)):fi(i.errors)}class Pi{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!ke(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 zi{constructor(t,e,i,r){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!ke(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?Ue.interpolationFactor(this.interpolationType,t,e,i):0}}function ki(t,e){const i=Mi(t,e);if("error"===i.result)return i;const r=i.value.expression,n=ze(r);if(!n&&!mi(e))return fi([new it("","data expressions not supported")]);const s=De(r,["zoom"]);if(!s&&!gi(e))return fi([new it("","zoom expressions not supported")]);const a=Li(r);return a||s?a instanceof it?fi([a]):a instanceof Ue&&!_i(e)?fi([new it("",'"interpolate" expressions cannot be used with this property')]):di(a?new zi(n?"camera":"composite",i.value,a.labels,a instanceof Ue?a.interpolation:void 0):new Pi(n?"constant":"source",i.value)):fi([new it("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Di{constructor(t,e){this._parameters=t,this._specification=e,et(this,bi(this._parameters,this._specification))}static deserialize(t){return new Di(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Li(t){let e=null;if(t instanceof $e)e=Li(t.result);else if(t instanceof Ne){for(const i of t.args)if(e=Li(i),e)break}else(t instanceof Be||t instanceof Ue)&&t.input instanceof Me&&"zoom"===t.input.name&&(e=t);return e instanceof it||t.eachChild((t=>{const i=Li(t);i instanceof it?e=i:!e&&i?e=new it("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new it("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function Bi(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(!Bi(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Ri={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Fi(t){if(null==t)return{filter:()=>!0,needGeometry:!1};Bi(t)||(t=Vi(t));const e=Mi(t,Ri);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:Ui(t)}}function Oi(t,e){return te?1:0}function Ui(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Ni(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(Vi))):"all"===e?["all"].concat(t.slice(1).map(Vi)):"none"===e?["all"].concat(t.slice(1).map(Vi).map(Zi)):"in"===e?$i(t[1],t.slice(2)):"!in"===e?Zi($i(t[1],t.slice(2))):"has"===e?qi(t[1]):"!has"===e?Zi(qi(t[1])):"within"!==e||t;var i}function Ni(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 $i(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(Oi)]]:["filter-in-small",t,["literal",e]]}}function qi(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Zi(t){return["!",t]}function ji(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+=`${ji(i)},`;return`${e}]`}const i=Object.keys(t).sort();let r="{";for(let e=0;er.maximum?[new tt(e,i,`${i} is greater than the maximum value ${r.maximum}`)]:[]}function Qi(t){const e=t.valueSpec,i=Wi(t.value.type);let r,n,s,a={};const o="categorical"!==i&&void 0===t.value.property,l=!o,c="array"===yi(t.value.stops)&&"array"===yi(t.value.stops[0])&&"object"===yi(t.value.stops[0][0]),h=Ki({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 tt(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const r=t.value;return e=e.concat(Yi({key:t.key,value:r,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:u})),"array"===yi(r)&&0===r.length&&e.push(new tt(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 tt(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||h.push(new tt(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!_i(t.valueSpec)&&h.push(new tt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!mi(t.valueSpec)?h.push(new tt(t.key,t.value,"property functions not supported")):o&&!gi(t.valueSpec)&&h.push(new tt(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||h.push(new tt(t.key,t.value,'"property" property is required')),h;function u(t){let i=[];const r=t.value,o=t.key;if("array"!==yi(r))return[new tt(o,r,`array expected, ${yi(r)} found`)];if(2!==r.length)return[new tt(o,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==yi(r[0]))return[new tt(o,r,`object expected, ${yi(r[0])} found`)];if(void 0===r[0].zoom)return[new tt(o,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new tt(o,r,"object stop key must have value")];if(s&&s>Wi(r[0].zoom))return[new tt(o,r[0].zoom,"stop zoom values must appear in ascending order")];Wi(r[0].zoom)!==s&&(s=Wi(r[0].zoom),n=void 0,a={}),i=i.concat(Ki({key:`${o}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Ji,value:p}}))}else i=i.concat(p({key:`${o}[0]`,value:r[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},r));return Ci(Hi(r[1]))?i.concat([new tt(`${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 p(t,s){const o=yi(t.value),l=Wi(t.value),c=null!==t.value?t.value:s;if(r){if(o!==r)return[new tt(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 tt(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 mi(e)&&void 0===i&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new tt(t.key,c,r)]}return"categorical"!==i||"number"!==o||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===o&&void 0!==n&&lnew tt(`${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 tt(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&&!ke(i))return[new tt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!ke(i))return[new tt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!De(i,["zoom","feature-state"]))return[new tt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!ze(i))return[new tt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function er(t){const e=t.key,i=t.value,r=t.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(Wi(i))&&n.push(new tt(e,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(Wi(i))&&n.push(new tt(e,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function ir(t){return Bi(Hi(t.value))?tr(et({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):rr(t)}function rr(t){const e=t.value,i=t.key;if("array"!==yi(e))return[new tt(i,e,`array expected, ${yi(e)} found`)];const r=t.styleSpec;let n,s=[];if(e.length<1)return[new tt(i,e,"filter array must have at least 1 element")];switch(s=s.concat(er({key:`${i}[0]`,value:e[0],valueSpec:r.filter_operator,style:t.style,styleSpec:t.styleSpec})),Wi(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Wi(e[1])&&s.push(new tt(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&s.push(new tt(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(n=yi(e[1]),"string"!==n&&s.push(new tt(`${i}[1]`,e[1],`string expected, ${n} found`)));for(let a=2;a{t in i&&e.push(new tt(r,i[t],`"${t}" is prohibited for ref layers`))})),n.layers.forEach((e=>{Wi(e.id)===o&&(t=e)})),t?t.ref?e.push(new tt(r,i.ref,"ref cannot reference another ref layer")):a=Wi(t.type):e.push(new tt(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&&Wi(t.type);t?"vector"===s&&"raster"===a?e.push(new tt(r,i.source,`layer "${i.id}" requires a raster source`)):"raster"===s&&"raster"!==a?e.push(new tt(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==s||i["source-layer"]?"raster-dem"===s&&"hillshade"!==a?e.push(new tt(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 tt(r,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new tt(r,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new tt(r,i.source,`source "${i.source}" not found`))}else e.push(new tt(r,i,'missing required property "source"'));return e=e.concat(Ki({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:ir,layout:t=>Ki({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":t=>ar(et({layerType:a},t))}}),paint:t=>Ki({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":t=>sr(et({layerType:a},t))}})}})),e}function lr(t){const e=t.value,i=t.key,r=yi(e);return"string"!==r?[new tt(i,e,`string expected, ${r} found`)]:[]}const cr={promoteId:function({key:t,value:e}){if("string"===yi(e))return lr({key:t,value:e});{const i=[];for(const r in e)i.push(...lr({key:`${t}.${r}`,value:e[r]}));return i}}};function hr(t){const e=t.value,i=t.key,r=t.styleSpec,n=t.style,s=t.validateSpec;if(!e.type)return[new tt(i,e,'"type" is required')];const a=Wi(e.type);let o;switch(a){case"vector":case"raster":case"raster-dem":return o=Ki({key:i,value:e,valueSpec:r[`source_${a.replace("-","_")}`],style:t.style,styleSpec:r,objectElementValidators:cr,validateSpec:s}),o;case"geojson":if(o=Ki({key:i,value:e,valueSpec:r.source_geojson,style:n,styleSpec:r,validateSpec:s,objectElementValidators:cr}),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(...tr({key:`${i}.${t}.map`,value:n,validateSpec:s,expressionContext:"cluster-map"})),o.push(...tr({key:`${i}.${t}.reduce`,value:a,validateSpec:s,expressionContext:"cluster-reduce"}))}return o;case"video":return Ki({key:i,value:e,valueSpec:r.source_video,style:n,validateSpec:s,styleSpec:r});case"image":return Ki({key:i,value:e,valueSpec:r.source_image,style:n,validateSpec:s,styleSpec:r});case"canvas":return[new tt(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return er({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,validateSpec:s,styleSpec:r})}}function ur(t){const e=t.value,i=t.styleSpec,r=i.light,n=t.style;let s=[];const a=yi(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new tt("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 tt(a,e[a],`unknown property "${a}"`)])}return s}function pr(t){const e=t.value,i=t.styleSpec,r=i.terrain,n=t.style;let s=[];const a=yi(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new tt("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 tt(a,e[a],`unknown property "${a}"`)]);return s}function dr(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 tt(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 tt(r,i,`all the sprites' URLs must be unique, but ${i[a].url} is duplicated`)),s.push(i[a].url),e=e.concat(Ki({key:`${r}[${a}]`,value:i[a],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:t.validateSpec}));return e}return lr({key:r,value:i})}const fr={"*":()=>[],array:Yi,boolean:function(t){const e=t.value,i=t.key,r=yi(e);return"boolean"!==r?[new tt(i,e,`boolean expected, ${r} found`)]:[]},number:Ji,color:function(t){const e=t.key,i=t.value,r=yi(i);return"string"!==r?[new tt(e,i,`color expected, ${r} found`)]:qt.parse(String(i))?[]:[new tt(e,i,`color expected, "${i}" found`)]},constants:Xi,enum:er,filter:ir,function:Qi,layer:or,object:Ki,source:hr,light:ur,terrain:pr,string:lr,formatted:function(t){return 0===lr(t).length?[]:tr(t)},resolvedImage:function(t){return 0===lr(t).length?[]:tr(t)},padding:function(t){const e=t.key,i=t.value;if("array"===yi(i)){if(i.length<1||i.length>4)return[new tt(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(Xi({key:"constants",value:t.constants,style:t,styleSpec:e,validateSpec:mr}))),xr(i)}function yr(t){return function(e){return t({...e,validateSpec:mr})}}function xr(t){return[].concat(t).sort(((t,e)=>t.line-e.line))}function vr(t){return function(...e){return xr(t.apply(this,e))}}_r.source=vr(yr(hr)),_r.sprite=vr(yr(dr)),_r.glyphs=vr(yr(gr)),_r.light=vr(yr(ur)),_r.terrain=vr(yr(pr)),_r.layer=vr(yr(or)),_r.filter=vr(yr(ir)),_r.paintProperty=vr(yr(sr)),_r.layoutProperty=vr(yr(ar));const br=_r,wr=br.light,Tr=br.paintProperty,Er=br.layoutProperty;function Sr(t,e){let i=!1;if(e&&e.length)for(const r of e)t.fire(new V(new Error(r.message))),i=!0;return i}class Ir{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 p=l;p<=h;p++)for(let l=c;l<=u;l++){const c=this.d*l+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+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[i];n[i]=Ar[r].shallow.indexOf(i)>=0?s:Pr(s,e)}t instanceof Error&&(n.message=t.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(n.$name=r),n}throw new Error("can't serialize object of type "+typeof t)}function zr(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||Mr(t)||E(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(zr);if("object"==typeof t){const e=t.$name||"Object";if(!Ar[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=Ar[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]=Ar[e].shallow.indexOf(i)>=0?n:zr(n)}return r}throw new Error("can't deserialize object of type "+typeof t)}class kr{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 Lr(t){for(const e of t)if(Fr(e.charCodeAt(0)))return!0;return!1}function Br(t){for(const e of t)if(!Rr(e.charCodeAt(0)))return!1;return!0}function Rr(t){return!(Dr.Arabic(t)||Dr["Arabic Supplement"](t)||Dr["Arabic Extended-A"](t)||Dr["Arabic Presentation Forms-A"](t)||Dr["Arabic Presentation Forms-B"](t))}function Fr(t){return!(746!==t&&747!==t&&(t<4352||!(Dr["Bopomofo Extended"](t)||Dr.Bopomofo(t)||Dr["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Dr["CJK Compatibility Ideographs"](t)||Dr["CJK Compatibility"](t)||Dr["CJK Radicals Supplement"](t)||Dr["CJK Strokes"](t)||!(!Dr["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Dr["CJK Unified Ideographs Extension A"](t)||Dr["CJK Unified Ideographs"](t)||Dr["Enclosed CJK Letters and Months"](t)||Dr["Hangul Compatibility Jamo"](t)||Dr["Hangul Jamo Extended-A"](t)||Dr["Hangul Jamo Extended-B"](t)||Dr["Hangul Jamo"](t)||Dr["Hangul Syllables"](t)||Dr.Hiragana(t)||Dr["Ideographic Description Characters"](t)||Dr.Kanbun(t)||Dr["Kangxi Radicals"](t)||Dr["Katakana Phonetic Extensions"](t)||Dr.Katakana(t)&&12540!==t||!(!Dr["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)||!(!Dr["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Dr["Unified Canadian Aboriginal Syllabics"](t)||Dr["Unified Canadian Aboriginal Syllabics Extended"](t)||Dr["Vertical Forms"](t)||Dr["Yijing Hexagram Symbols"](t)||Dr["Yi Syllables"](t)||Dr["Yi Radicals"](t))))}function Or(t){return!(Fr(t)||function(t){return!!(Dr["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Dr["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)||Dr["Letterlike Symbols"](t)||Dr["Number Forms"](t)||Dr["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)||Dr["Control Pictures"](t)&&9251!==t||Dr["Optical Character Recognition"](t)||Dr["Enclosed Alphanumerics"](t)||Dr["Geometric Shapes"](t)||Dr["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Dr["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Dr["CJK Symbols and Punctuation"](t)||Dr.Katakana(t)||Dr["Private Use Area"](t)||Dr["CJK Compatibility Forms"](t)||Dr["Small Form Variants"](t)||Dr["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 Ur(t){return t>=1424&&t<=2303||Dr["Arabic Presentation Forms-A"](t)||Dr["Arabic Presentation Forms-B"](t)}function Vr(t,e){return!(!e&&Ur(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Dr.Khmer(t))}function Nr(t){for(const e of t)if(Ur(e.charCodeAt(0)))return!0;return!1}const $r="deferred",qr="loading",Zr="loaded";let jr=null,Gr="unavailable",Xr=null;const Wr=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(Gr="error"),jr&&jr(t)};function Hr(){Kr.fire(new U("pluginStateChange",{pluginStatus:Gr,pluginURL:Xr}))}const Kr=new N,Yr=function(){return Gr},Jr=function(){if(Gr!==$r||!Xr)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Gr=qr,Hr(),Xr&&B({url:Xr},(t=>{t?Wr(t):(Gr=Zr,Hr())}))},Qr={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Gr===Zr||null!=Qr.applyArabicShaping,isLoading:()=>Gr===qr,setState(t){if(!b())throw new Error("Cannot set the state of the rtl-text-plugin when not in the web-worker context");Gr=t.pluginStatus,Xr=t.pluginURL},isParsed(){if(!b())throw new Error("rtl-text-plugin is only parsed on the worker-threads");return null!=Qr.applyArabicShaping&&null!=Qr.processBidirectionalText&&null!=Qr.processStyledBidirectionalText},getPluginURL(){if(!b())throw new Error("rtl-text-plugin url can only be queried from the worker threads");return Xr}};class tn{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 kr,this.transition={})}isSupportedScript(t){return function(t,e){for(const i of t)if(!Vr(i.charCodeAt(0),e))return!1;return!0}(t,Qr.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),i=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*e}}}class en{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(xi(t))return new Di(t,e);if(Ci(t)){const i=ki(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=qt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)?"variableAnchorOffsetCollection"===e.type&&Array.isArray(t)&&(i=Ht.parse(t)):i=Xt.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 rn{constructor(t){this.property=t,this.value=new en(t,void 0)}transitioned(t,e){return new sn(this.property,this.value,e,p({},t.transition,this.transition),t.now)}untransitioned(){return new sn(this.property,this.value,null,{},0)}}class nn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return g(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new rn(this._values[t].property)),this._values[t].value=new en(this._values[t].property,null===e?void 0:g(e))}getTransition(t){return g(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new rn(this._values[t].property)),this._values[t].transition=g(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 an(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 an(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class sn{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 an{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,i){const r=new cn(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 on{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}hasValue(t){return void 0!==this._values[t].value}getValue(t){return g(this._values[t].value)}setValue(t,e){this._values[t]=new en(this._values[t].property,null===e?void 0:g(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 cn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}}class ln{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 cn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class hn{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=Oe[this.specification.type];return r?r(t,e,i):t}}class un{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,i,r){return new ln(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 ln(this,{kind:"constant",value:void 0},t.parameters);const r=Oe[this.specification.type];if(r){const n=r(t.value.value,e.value.value,i);return new ln(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 pn extends un{possiblyEvaluate(t,e,i,r){if(void 0===t.value)return new ln(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 ln(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 ln(this,{kind:"constant",value:i},e)}return new ln(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 dn{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 tn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new tn(Math.floor(e.zoom),e)),t.expression.evaluate(new tn(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 fn{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){return!!t.expression.evaluate(e,null,{},i,r)}interpolate(){return!1}}class mn{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 en(i,void 0),n=this.defaultTransitionablePropertyValues[e]=new rn(i);this.defaultTransitioningPropertyValues[e]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=r.possiblyEvaluate({})}}}Cr("DataDrivenProperty",un),Cr("DataConstantProperty",hn),Cr("CrossFadedDataDrivenProperty",pn),Cr("CrossFadedProperty",dn),Cr("ColorRampProperty",fn);const gn="-transition";class _n extends N{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 on(e.layout)),e.paint)){this._transitionablePaint=new nn(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 cn(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(Er,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return t.endsWith(gn)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(Tr,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(t.endsWith(gn))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),m(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)&&Sr(this,t.call(br,{key:e,layerType:this.type,objectKey:i,value:r,styleSpec:$,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 ln&&mi(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const yn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class xn{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 vn{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 bn(t,e=1){let i=0,r=0;return{members:t.map((t=>{const n=yn[t.type].BYTES_PER_ELEMENT,s=i=wn(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:wn(i,Math.max(r,e)),alignment:e}}function wn(t,e){return Math.ceil(t/e)*e}class Tn extends vn{_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}}Tn.prototype.bytesPerElement=4,Cr("StructArrayLayout2i4",Tn);class En extends vn{_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}}En.prototype.bytesPerElement=6,Cr("StructArrayLayout3i6",En);class Sn extends vn{_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}}Sn.prototype.bytesPerElement=8,Cr("StructArrayLayout4i8",Sn);class In extends vn{_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}}In.prototype.bytesPerElement=12,Cr("StructArrayLayout2i4i12",In);class An extends vn{_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}}An.prototype.bytesPerElement=8,Cr("StructArrayLayout2i4ub8",An);class Cn extends vn{_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}}Cn.prototype.bytesPerElement=8,Cr("StructArrayLayout2f8",Cn);class Mn extends vn{_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}}Mn.prototype.bytesPerElement=20,Cr("StructArrayLayout10ui20",Mn);class Pn extends vn{_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 p=this.length;return this.resize(p+1),this.emplace(p,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,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=i,this.int16[d+2]=r,this.int16[d+3]=n,this.uint16[d+4]=s,this.uint16[d+5]=a,this.uint16[d+6]=o,this.uint16[d+7]=l,this.int16[d+8]=c,this.int16[d+9]=h,this.int16[d+10]=u,this.int16[d+11]=p,t}}Pn.prototype.bytesPerElement=24,Cr("StructArrayLayout4i4ui4i24",Pn);class zn extends vn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.float32[n+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}zn.prototype.bytesPerElement=12,Cr("StructArrayLayout3f12",zn);class kn extends vn{_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}}kn.prototype.bytesPerElement=4,Cr("StructArrayLayout1ul4",kn);class Dn extends vn{_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}}Dn.prototype.bytesPerElement=20,Cr("StructArrayLayout6i1ul2ui20",Dn);class Ln extends vn{_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}}Ln.prototype.bytesPerElement=12,Cr("StructArrayLayout2i2i2i12",Ln);class Bn extends vn{_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}}Bn.prototype.bytesPerElement=16,Cr("StructArrayLayout2f1f2i16",Bn);class Rn extends vn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=12*t,a=3*t;return this.uint8[s+0]=e,this.uint8[s+1]=i,this.float32[a+1]=r,this.float32[a+2]=n,t}}Rn.prototype.bytesPerElement=12,Cr("StructArrayLayout2ub2f12",Rn);class Fn extends vn{_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}}Fn.prototype.bytesPerElement=6,Cr("StructArrayLayout3ui6",Fn);class On extends vn{_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,p,d,f,m,g){const _=this.length;return this.resize(_+1),this.emplace(_,t,e,i,r,n,s,a,o,l,c,h,u,p,d,f,m,g)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,p,d,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]=p,this.uint8[v+36]=d,this.uint8[v+37]=f,this.uint8[v+38]=m,this.uint32[x+10]=g,this.int16[y+22]=_,t}}On.prototype.bytesPerElement=48,Cr("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",On);class Un extends vn{_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,p,d,f,m,g,_,y,x,v,b,w,T,E,S,I,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,p,d,f,m,g,_,y,x,v,b,w,T,E,S,I,A)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,p,d,f,m,g,_,y,x,v,b,w,T,E,S,I,A,C){const M=32*t,P=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]=p,this.uint16[M+12]=d,this.uint16[M+13]=f,this.uint16[M+14]=m,this.uint16[M+15]=g,this.uint16[M+16]=_,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[P+12]=E,this.float32[P+13]=S,this.float32[P+14]=I,this.uint16[M+30]=A,this.uint16[M+31]=C,t}}Un.prototype.bytesPerElement=64,Cr("StructArrayLayout8i15ui1ul2f2ui64",Un);class Vn extends vn{_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}}Vn.prototype.bytesPerElement=4,Cr("StructArrayLayout1f4",Vn);class Nn extends vn{_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}}Nn.prototype.bytesPerElement=12,Cr("StructArrayLayout1ui2f12",Nn);class $n extends vn{_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}}$n.prototype.bytesPerElement=8,Cr("StructArrayLayout1ul2ui8",$n);class qn extends vn{_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}}qn.prototype.bytesPerElement=4,Cr("StructArrayLayout2ui4",qn);class Zn extends vn{_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}}Zn.prototype.bytesPerElement=2,Cr("StructArrayLayout1ui2",Zn);class jn extends vn{_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}}jn.prototype.bytesPerElement=16,Cr("StructArrayLayout4f16",jn);class Gn extends xn{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 n(this.anchorPointX,this.anchorPointY)}}Gn.prototype.size=20;class Xn extends Dn{get(t){return new Gn(this,t)}}Cr("CollisionBoxArray",Xn);class Wn extends xn{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]}}Wn.prototype.size=48;class Hn extends On{get(t){return new Wn(this,t)}}Cr("PlacedSymbolArray",Hn);class Kn extends xn{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]}}Kn.prototype.size=64;class Yn extends Un{get(t){return new Kn(this,t)}}Cr("SymbolInstanceArray",Yn);class Jn extends Vn{getoffsetX(t){return this.float32[1*t+0]}}Cr("GlyphOffsetArray",Jn);class Qn extends En{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Cr("SymbolLineVertexArray",Qn);class ts extends xn{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]}}ts.prototype.size=12;class es extends Nn{get(t){return new ts(this,t)}}Cr("TextAnchorOffsetArray",es);class is extends xn{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]}}is.prototype.size=8;class rs extends $n{get(t){return new is(this,t)}}Cr("FeatureIndexArray",rs);class ns extends Tn{}class ss extends Tn{}class as extends Tn{}class os extends In{}class ls extends An{}class cs extends Cn{}class hs extends Mn{}class us extends Pn{}class ps extends zn{}class ds extends kn{}class fs extends Ln{}class ms extends Rn{}class gs extends Fn{}class _s extends qn{}const ys=bn([{name:"a_pos",components:2,type:"Int16"}],4),{members:xs}=ys;class vs{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,r){let n=this.segments[this.segments.length-1];return t>vs.MAX_VERTEX_ARRAY_LENGTH&&y(`Max vertices per segment is ${vs.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!n||n.vertexLength+t>vs.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 vs([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function bs(t,e){return 256*(t=h(Math.floor(t),0,255))+h(Math.floor(e),0,255)}vs.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Cr("SegmentVector",vs);const ws=bn([{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 Ts={exports:{}},Es={exports:{}};Es.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 Ss=Es.exports,Is={exports:{}};Is.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 As=Ss,Cs=Is.exports;Ts.exports=As,Ts.exports.murmur3=As,Ts.exports.murmur2=Cs;var Ms=e(Ts.exports);class Ps{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,r){this.ids.push(zs(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=zs(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 ks(i,r,0,i.length-1),e&&e.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(t){const e=new Ps;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function zs(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:Ms(String(t))}function ks(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;Ds(t,s,a),Ds(e,3*s,3*a),Ds(e,3*s+1,3*a+1),Ds(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 Fs(t,e):new Bs(t,e)}}class Ns{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 Rs(t,e):new Bs(t,e)}}class $s{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 tn(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=Us(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 tn(this.zoom),e,{},r,[],n),a=this.expression.evaluate(new tn(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=Us(i),s=Us(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 $s||i instanceof qs)for(let e=0;e!0)){this.programConfigurations={};for(const r of t)this.programConfigurations[r.id]=new js(r,e,i);this.needsUpload=!1,this._featureMap=new Ps,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 Xs(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 Ws(t,e,i){const r={color:{source:Cn,composite:jn},number:{source:Vn,composite:Cn}},n=function(t){return{"line-pattern":{source:hs,composite:hs},"fill-pattern":{source:hs,composite:hs},"fill-extrusion-pattern":{source:hs,composite:hs}}[t]}(t);return n&&n[i]||r[e][i]}Cr("ConstantBinder",Vs),Cr("CrossFadedConstantBinder",Ns),Cr("SourceExpressionBinder",$s),Cr("CrossFadedCompositeBinder",Zs),Cr("CompositeExpressionBinder",qs),Cr("ProgramConfiguration",js,{omit:["_buffers"]}),Cr("ProgramConfigurationSet",Gs);const Hs=8192,Ks=Math.pow(2,14)-1,Ys=-Ks-1;function Js(t){const e=Hs/t.extent,i=t.loadGeometry();for(let t=0;ti.x+1||si.y+1)&&y("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return i}function Qs(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Js(t):[]}}function ta(t,e,i,r,n){t.emplaceBack(2*e+(r+1)/2,2*i+(n+1)/2)}class ea{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 ss,this.indexArray=new gs,this.segments=new vs,this.programConfigurations=new Gs(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=Qs(e,t);if(!this.layers[0]._featureFilter.filter(new tn(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:Js(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,xs),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>=Hs||r<0||r>=Hs)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=n.vertexLength;ta(this.layoutVertexArray,i,r,-1,-1),ta(this.layoutVertexArray,i,r,1,-1),ta(this.layoutVertexArray,i,r,1,1),ta(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 ia(t,e){for(let i=0;i1){if(aa(t,e))return!0;for(let r=0;r1?i:i.sub(e)._mult(n)._add(e))}function ha(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 ua(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 pa(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=x(t,e,i[0]);return s!==x(t,e,i[1])||s!==x(t,e,i[2])||s!==x(t,e,i[3])}function da(t,e,i){const r=e.paint.get(t).value;return"constant"===r.kind?r.value:i.programConfigurations.get(e.id).getMaxValue(t)}function fa(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ma(t,e,i,r,s){if(!e[0]&&!e[1])return t;const a=n.convert(e)._mult(s);"viewport"===i&&a._rotate(-r);const o=[];for(let e=0;eAa(t,e)))}(l,o),p=h?c*a:c;for(const t of r)for(const e of t){const t=h?e:Aa(e,o);let i=p;const r=Sa([],[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]),ra(u,t,i))return!0}return!1}}function Aa(t,e){const i=Sa([],[t.x,t.y,0,1],e);return new n(i[0]/i[3],i[1]/i[3])}class Ca extends ea{}let Ma;Cr("HeatmapBucket",Ca,{omit:["layers"]});var Pa={get paint(){return Ma=Ma||new mn({"heatmap-radius":new un($.paint_heatmap["heatmap-radius"]),"heatmap-weight":new un($.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new hn($.paint_heatmap["heatmap-intensity"]),"heatmap-color":new fn($.paint_heatmap["heatmap-color"]),"heatmap-opacity":new hn($.paint_heatmap["heatmap-opacity"])})}};function za(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 ka(t,{width:e,height:i},r){if(e===t.width&&i===t.height)return;const n=za({},{width:e,height:i},r);Da(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 Da(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 Xa(p,d,i,r,n,c,0),d}function ja(t,e,i,r,n){var s,a;if(n===go(t,e,i,r)>0)for(s=e;s=e;s-=r)a=po(s,t[s],t[s+1],a);return a&&ao(a,a.next)&&(fo(a),a=a.next),a}function Ga(t,e){if(!t)return t;e||(e=t);var i,r=t;do{if(i=!1,r.steiner||!ao(r,r.next)&&0!==so(r.prev,r,r.next))r=r.next;else{if(fo(r),(r=e=r.prev)===r.next)break;i=!0}}while(i||r!==e);return e}function Xa(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=eo(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?Ha(t,r,n,s):Wa(t))e.push(o.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),fo(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Xa(t=Ka(Ga(t),e,i),e,i,r,n,s,2):2===a&&Ya(t,e,i,r,n,s):Xa(Ga(t),e,i,r,n,s,1);break}}}function Wa(t){var e=t.prev,i=t,r=t.next;if(so(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,d=o>l?o>c?o:c:l>c?l:c,f=r.next;f!==e;){if(f.x>=h&&f.x<=p&&f.y>=u&&f.y<=d&&ro(n,o,s,l,a,c,f.x,f.y)&&so(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function Ha(t,e,i,r){var n=t.prev,s=t,a=t.next;if(so(n,s,a)>=0)return!1;for(var o=n.x,l=s.x,c=a.x,h=n.y,u=s.y,p=a.y,d=ol?o>c?o:c:l>c?l:c,g=h>u?h>p?h:p:u>p?u:p,_=eo(d,f,e,i,r),y=eo(m,g,e,i,r),x=t.prevZ,v=t.nextZ;x&&x.z>=_&&v&&v.z<=y;){if(x.x>=d&&x.x<=m&&x.y>=f&&x.y<=g&&x!==n&&x!==a&&ro(o,h,l,u,c,p,x.x,x.y)&&so(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=d&&v.x<=m&&v.y>=f&&v.y<=g&&v!==n&&v!==a&&ro(o,h,l,u,c,p,v.x,v.y)&&so(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=_;){if(x.x>=d&&x.x<=m&&x.y>=f&&x.y<=g&&x!==n&&x!==a&&ro(o,h,l,u,c,p,x.x,x.y)&&so(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=m&&v.y>=f&&v.y<=g&&v!==n&&v!==a&&ro(o,h,l,u,c,p,v.x,v.y)&&so(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Ka(t,e,i){var r=t;do{var n=r.prev,s=r.next.next;!ao(n,s)&&oo(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),fo(r),fo(r.next),r=t=s),r=r.next}while(r!==t);return Ga(r)}function Ya(t,e,i,r,n,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&no(a,o)){var l=uo(a,o);return a=Ga(a,a.next),l=Ga(l,l.next),Xa(a,e,i,r,n,s,0),void Xa(l,e,i,r,n,s,0)}o=o.next}a=a.next}while(a!==t)}function Ja(t,e){return t.x-e.x}function Qa(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&&ro(si.x||r.x===i.x&&to(i,r)))&&(i=r,p=l)),r=r.next}while(r!==c);return i}(t,e);if(!i)return e;var r=uo(i,t);return Ga(r,r.next),Ga(i,i.next)}function to(t,e){return so(t.prev,t,e.prev)<0&&so(e.next,t,t.next)<0}function eo(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 io(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 no(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&&oo(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)&&(so(t.prev,t,e.prev)||so(t,e.prev,e))||ao(t,e)&&so(t.prev,t,t.next)>0&&so(e.prev,e,e.next)>0)}function so(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function ao(t,e){return t.x===e.x&&t.y===e.y}function oo(t,e,i,r){var n=co(so(t,e,i)),s=co(so(t,e,r)),a=co(so(i,r,t)),o=co(so(i,r,e));return n!==s&&a!==o||!(0!==n||!lo(t,i,e))||!(0!==s||!lo(t,r,e))||!(0!==a||!lo(i,t,r))||!(0!==o||!lo(i,e,r))}function lo(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 co(t){return t>0?1:t<0?-1:0}function ho(t,e){return so(t.prev,t,t.next)<0?so(t,e,t.next)>=0&&so(t,t.prev,e)>=0:so(t,e,t.prev)<0||so(t,t.next,e)<0}function uo(t,e){var i=new mo(t.i,t.x,t.y),r=new mo(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 po(t,e,i,r){var n=new mo(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 fo(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 mo(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 go(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 _o=e(qa.exports);function yo(t,e,i,r,n){xo(t,e,i||0,r||t.length-1,n||bo)}function xo(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);xo(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,p=r;for(vo(t,i,e),n(t[r],h)>0&&vo(t,i,r);u0;)p--}0===n(t[i],h)?vo(t,i,p):vo(t,++p,r),p<=e&&(i=p+1),e<=p&&(r=p-1)}}function vo(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function bo(t,e){return te?1:0}function wo(t,e){const i=t.length;if(i<=1)return[t];const r=[];let n,s;for(let e=0;e1)for(let t=0;tt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new as,this.indexArray=new gs,this.indexArray2=new _s,this.programConfigurations=new Gs(t.layers,t.zoom),this.segments=new vs,this.segments2=new vs,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=Eo("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=Qs(a,t);if(!this.layers[0]._featureFilter.filter(new tn(this.zoom),h,i))continue;const u=n?r.evaluate(h,{},i,e.availableImages):void 0,p={id:o,properties:a.properties,type:a.type,sourceLayerIndex:c,index:l,geometry:t?h.geometry:Js(a),patterns:{},sortKey:u};s.push(p)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:a}=r;if(this.hasPattern){const t=So("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,$a),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 wo(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 Bo(s,a));else{if(7!==r)throw new Error("unknown command "+r);e&&e.push(e[0].clone())}}return e&&o.push(e),o},Fo.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]},Fo.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=Fo.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))}$o.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 Vo(this._pbf,e,this.extent,this._keys,this._values)};var Zo=No;function jo(t,e,i){if(3===t){var r=new Zo(i,i.readVarint()+i.pos);r.length&&(e[r.name]=r)}}Lo.VectorTile=function(t,e){this.layers=t.readFields(jo,{},e)},Lo.VectorTileFeature=Ro,Lo.VectorTileLayer=No;const Go=Lo.VectorTileFeature.types,Xo=Math.pow(2,13);function Wo(t,e,i,r,n,s,a,o){t.emplaceBack(e,i,2*Math.floor(r*Xo)+a,n*Xo*2,s*Xo*2,Math.round(o))}class Ho{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 os,this.centroidVertexArray=new ns,this.indexArray=new gs,this.programConfigurations=new Gs(t.layers,t.zoom),this.segments=new vs,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.features=[],this.hasPattern=Eo("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=Qs(r,t);if(!this.layers[0]._featureFilter.filter(new tn(this.zoom),o,i))continue;const l={id:n,sourceLayerIndex:a,index:s,geometry:t?o.geometry:Js(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(So("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,Do),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,ko.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,i,r,n){const s={x:0,y:0,vertexCount:0};for(const i of wo(e,500)){let e=0;for(const t of i)e+=t.length;let r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of i){if(0===t.length)continue;if(Yo(t))continue;let e=0;for(let i=0;i=1){const a=t[i-1];if(!Ko(n,a)){r.vertexLength+4>vs.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=n.sub(a)._perp()._unit(),i=a.dist(n);e+i>32768&&(e=0),Wo(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,0,e),Wo(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,1,e),s.x+=2*n.x,s.y+=2*n.y,s.vertexCount+=2,e+=i,Wo(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,e),Wo(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,e),s.x+=2*a.x,s.y+=2*a.y,s.vertexCount+=2;const o=r.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),r.vertexLength+=4,r.primitiveLength+=2}}}}if(r.vertexLength+e>vs.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),"Polygon"!==Go[t.type])continue;const n=[],a=[],o=r.vertexLength;for(const t of i)if(0!==t.length){t!==i[0]&&a.push(n.length/2);for(let e=0;eHs)||t.y===e.y&&(t.y<0||t.y>Hs)}function Yo(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Hs))||t.every((t=>t.y<0))||t.every((t=>t.y>Hs))}let Jo;Cr("FillExtrusionBucket",Ho,{omit:["layers","features"]});var Qo={get paint(){return Jo=Jo||new mn({"fill-extrusion-opacity":new hn($["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new un($["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new hn($["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new hn($["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new pn($["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new un($["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new un($["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new hn($["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class tl extends _n{constructor(t){super(t,Qo)}createBucket(t){return new Ho(t)}queryRadius(){return fa(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,i,r,s,a,o,l){const c=ma(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),p=function(t,e,i,r){const s=[];for(const i of t){const t=[i.x,i.y,0,1];Sa(t,t,e),s.push(new n(t[0]/t[3],t[1]/t[3]))}return s}(c,l),d=function(t,e,i,r){const s=[],a=[],o=r[8]*e,l=r[9]*e,c=r[10]*e,h=r[11]*e,u=r[8]*i,p=r[9]*i,d=r[10]*i,f=r[11]*i;for(const e of t){const t=[],i=[];for(const s of e){const e=s.x,a=s.y,m=r[0]*e+r[4]*a+r[12],g=r[1]*e+r[5]*a+r[13],_=r[2]*e+r[6]*a+r[14],y=r[3]*e+r[7]*a+r[15],x=_+c,v=y+h,b=m+u,w=g+p,T=_+d,E=y+f,S=new n((m+o)/v,(g+l)/v);S.z=x/v,t.push(S);const I=new n(b/E,w/E);I.z=T/E,i.push(I)}s.push(t),a.push(i)}return[s,a]}(r,u,h,l);return function(t,e,i){let r=1/0;na(i,e)&&(r=il(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 ls,this.layoutVertexArray2=new cs,this.indexArray=new gs,this.programConfigurations=new Gs(t.layers,t.zoom),this.segments=new vs,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=Eo("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=Qs(e,t);if(!this.layers[0]._featureFilter.filter(new tn(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:Js(e),patterns:{},sortKey:h};s.push(u)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:a}=r;if(this.hasPattern){const t=So("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,al)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,nl),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(p);if(t>2*c){const e=u.sub(u.sub(p)._mult(c/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,f,0,0,h),p=e}}const T=p&&d;let E=T?i:a?"butt":r;if(T&&"round"===E&&(xn&&(E="bevel"),"bevel"===E&&(x>2&&(E="flipbevel"),x100)g=m.mult(-1);else{const t=x*f.add(m).mag()/f.sub(m).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(u,g,0,0,h),this.addCurrentVertex(u,g.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){const t=-Math.sqrt(x*x-1),e=w?t:0,i=w?0:t;if(p&&this.addCurrentVertex(u,f,e,i,h),"fakeround"===E){const t=Math.round(180*v/Math.PI/20);for(let e=1;e2*c){const e=u.add(d.sub(u)._mult(c/t)._round());this.updateDistance(u,e),this.addCurrentVertex(e,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>cl/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*(cl-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 ul,pl;Cr("LineBucket",hl,{omit:["layers","patternFeatures"]});var dl={get paint(){return pl=pl||new mn({"line-opacity":new un($.paint_line["line-opacity"]),"line-color":new un($.paint_line["line-color"]),"line-translate":new hn($.paint_line["line-translate"]),"line-translate-anchor":new hn($.paint_line["line-translate-anchor"]),"line-width":new un($.paint_line["line-width"]),"line-gap-width":new un($.paint_line["line-gap-width"]),"line-offset":new un($.paint_line["line-offset"]),"line-blur":new un($.paint_line["line-blur"]),"line-dasharray":new dn($.paint_line["line-dasharray"]),"line-pattern":new pn($.paint_line["line-pattern"]),"line-gradient":new fn($.paint_line["line-gradient"])})},get layout(){return ul=ul||new mn({"line-cap":new hn($.layout_line["line-cap"]),"line-join":new un($.layout_line["line-join"]),"line-miter-limit":new hn($.layout_line["line-miter-limit"]),"line-round-limit":new hn($.layout_line["line-round-limit"]),"line-sort-key":new un($.layout_line["line-sort-key"])})}};class fl extends un{possiblyEvaluate(t,e){return e=new tn(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=p({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,r)}}let ml;class gl extends _n{constructor(t){super(t,dl),this.gradientVersion=0,ml||(ml=new fl(dl.paint.properties["line-width"].specification),ml.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(t){"line-gradient"===t&&(this.stepInterpolant=this._transitionablePaint._values["line-gradient"].value.expression._styleExpression.expression instanceof Be,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"]=ml.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)}createBucket(t){return new hl(t)}queryRadius(t){const e=t,i=_l(da("line-width",this,e),da("line-gap-width",this,e)),r=da("line-offset",this,e);return i/2+Math.abs(r)+fa(this.paint.get("line-translate"))}queryIntersectsFeature(t,e,i,r,s,a,o){const l=ma(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),a.angle,o),c=o/2*_l(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 yl=bn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),xl=bn([{name:"a_projected_pos",components:3,type:"Float32"}],4);bn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const vl=bn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);bn([{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 bl=bn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),wl=bn([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Tl(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()),Qr.applyArabicShaping&&(t=Qr.applyArabicShaping(t)),t}(t.text,e,i)})),t}bn([{name:"triangle",components:3,type:"Uint16"}]),bn([{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"}]),bn([{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"}]),bn([{type:"Float32",name:"offsetX"}]),bn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),bn([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Sl=24,Il=Ml,Al=function(t,e,i,r,n){var s,a,o=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,p=i?-1:1,d=t[e+u];for(u+=p,s=d&(1<<-h)-1,d>>=-h,h+=o;h>0;s=256*s+t[e+u],u+=p,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=r;h>0;a=256*a+t[e+u],u+=p,h-=8);if(0===s)s=1-c;else{if(s===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),s-=c}return(d?-1:1)*a*Math.pow(2,s-r)},Cl=function(t,e,i,r,n,s){var a,o,l,c=8*s-n-1,h=(1<>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,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?p/l:p*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+d]=255&o,d+=f,o/=256,n-=8);for(a=a<0;t[i+d]=255&a,d+=f,a/=256,c-=8);t[i+d-f]|=128*m};function Ml(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Ml.Varint=0,Ml.Fixed64=1,Ml.Bytes=2,Ml.Fixed32=5;var Pl=4294967296,zl=1/Pl,kl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Dl(t){return t.type===Ml.Bytes?t.readVarint()+t.pos:t.pos+1}function Ll(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Bl(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 Rl(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function Xl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Ml.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=jl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Xl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=jl(this.buf,this.pos)+jl(this.buf,this.pos+4)*Pl;return this.pos+=8,t},readSFixed64:function(){var t=jl(this.buf,this.pos)+Xl(this.buf,this.pos+4)*Pl;return this.pos+=8,t},readFloat:function(){var t=Al(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Al(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 Ll(t,r,e);if(r|=(127&(n=s[i.pos++]))<<3,n<128)return Ll(t,r,e);if(r|=(127&(n=s[i.pos++]))<<10,n<128)return Ll(t,r,e);if(r|=(127&(n=s[i.pos++]))<<17,n<128)return Ll(t,r,e);if(r|=(127&(n=s[i.pos++]))<<24,n<128)return Ll(t,r,e);if(r|=(1&(n=s[i.pos++]))<<31,n<128)return Ll(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&&kl?function(t,e,i){return kl.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!==Ml.Bytes)return t.push(this.readVarint(e));var i=Dl(this);for(t=t||[];this.pos127;);else if(e===Ml.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Ml.Fixed32)this.pos+=4;else{if(e!==Ml.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&&Bl(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),Cl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Cl(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&&Bl(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,e,i){this.writeTag(t,Ml.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Rl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Fl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Ol,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Nl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,$l,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Zl,e)},writeBytesField:function(t,e){this.writeTag(t,Ml.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Ml.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Ml.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Ml.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Ml.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Ml.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Ml.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Ml.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Ml.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Ml.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Wl=e(Il);const Hl=3;function Kl(t,e,i){1===t&&i.readMessage(Yl,e)}function Yl(t,e,i){if(3===t){const{id:t,bitmap:r,width:n,height:s,left:a,top:o,advance:l}=i.readMessage(Jl,{});e.push({id:t,bitmap:new La({width:n+2*Hl,height:s+2*Hl},r),metrics:{width:n,height:s,left:a,top:o,advance:l}})}}function Jl(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 Ql=Hl;function tc(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&&cc[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 oc;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(ac.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 lc(e,i,r,n,s,a,o,l,c,h,u,p,d,f,m,g){const _=oc.fromFeature(e,s);let y;p===t.WritingMode.vertical&&_.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Qr;if(x&&1===_.sections.length){y=[];const t=x(_.toString(),gc(_,h,a,i,n,f,m));for(const e of t){const t=new oc;t.text=e,t.sections=_.sections;for(let i=0;i0&&r>w&&(w=r)}else{const t=r[m.fontStack],e=t&&t[_];if(e&&e.rect)T=e.rect,v=e.metrics;else{const t=i[m.fontStack],e=t&&t[_];if(!e)continue;v=e.metrics}y=(s-m.scale)*Sl}I?(e.verticalizable=!0,b.push({glyph:_,imageName:E,x:d,y:f+y,vertical:I,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:v,rect:T}),d+=S*m.scale+h):(b.push({glyph:_,imageName:E,x:d,y:f+y,vertical:I,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:v,rect:T}),d+=v.advance*m.scale+h)}0!==b.length&&(m=Math.max(d-h,m),yc(b,0,b.length-1,_,w)),d=0;const T=a*s+w;v.lineOffset=Math.max(w,l),f+=T,g=Math.max(T,g),++y}var x;const v=f-sc,{horizontalAlign:b,verticalAlign:w}=_c(o);(function(t,e,i,r,n,s,a,o,l){const c=(e-i)*n;let h=0;h=s!==a?-o*r-sc:(-r*l+.5)*a;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=h})(e.positionedLines,_,b,w,m,g,a,v,s.length),e.top+=-w*v,e.bottom=e.top+v,e.left+=-b*m,e.right=e.left+m}(w,i,r,n,y,o,l,c,p,h,d,g),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(b)&&w}const cc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},hc={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function uc(t,e,i,r,n,s){if(e.imageName){const t=r[e.imageName];return t?t.displaySize[0]*e.scale*Sl/s+n:0}{const r=i[e.fontStack],s=r&&r[t];return s?s.metrics.advance*e.scale+n:0}}function pc(t,e,i,r){const n=Math.pow(t-e,2);return r?t=0;let h=0;for(let i=0;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=ba([]),this.placementViewportMatrix=ba([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ec(this.zoom,i["text-size"]),this.iconSizeData=Ec(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),s=r.get("symbol-z-order");this.canOverlap="never"!==Sc(r,"text-overlap","text-allow-overlap")||"never"!==Sc(r,"icon-overlap","icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==s&&!n.isConstant(),this.sortFeaturesByY=("viewport-y"===s||"auto"===s&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new zc(new Gs(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new zc(new Gs(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Jn,this.lineVertexArray=new Qn,this.symbolInstances=new Yn,this.textAnchorOffsets=new es}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 p=i.iconDependencies,d=i.glyphDependencies,f=i.availableImages,m=new tn(this.zoom);for(const{feature:i,id:o,index:l,sourceLayerIndex:g}of e){const e=n._featureFilter.needGeometry,_=Qs(i,e);if(!n._featureFilter.filter(m,_,r))continue;let y,x;if(e||(_.geometry=Js(i)),c){const t=n.getValueAndResolveTokens("text-field",_,r,f),e=Gt.factory(t);Pc(e)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===Yr()||this.hasRTLText&&Qr.isParsed())&&(y=Tl(e,n,_))}if(h){const t=n.getValueAndResolveTokens("icon-image",_,r,f);x=t instanceof Kt?t:Kt.fromString(t)}if(!y&&!x)continue;const v=this.sortFeaturesByKey?u.evaluate(_,{},r):void 0;if(this.features.push({id:o,text:y,icon:x,index:l,sourceLayerIndex:g,geometry:_.geometry,properties:i.properties,type:Ic[i.type],sortKey:v}),x&&(p[x.name]=!0),y){const e=a.evaluate(_,{},r).join(","),i="viewport"!==s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of y.sections)if(t.image)p[t.image.name]=!0;else{const r=Lr(y.toString()),n=t.fontStack||e,s=d[n]=d[n]||{};this.calculateGlyphDependencies(t.text,s,i,this.allowVerticalPlacement,r)}}}"line"===s.get("symbol-placement")&&(this.features=function(t){const e={},i={},r=[];let n=0;function s(e){r.push(t[e]),n++}function 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 Lc,Bc;Cr("SymbolBucket",Dc,{omit:["layers","collisionBoxArray","features","compareText"]}),Dc.MAX_GLYPHS=65535,Dc.addDynamicAttributes=Mc;var Rc={get paint(){return Bc=Bc||new mn({"icon-opacity":new un($.paint_symbol["icon-opacity"]),"icon-color":new un($.paint_symbol["icon-color"]),"icon-halo-color":new un($.paint_symbol["icon-halo-color"]),"icon-halo-width":new un($.paint_symbol["icon-halo-width"]),"icon-halo-blur":new un($.paint_symbol["icon-halo-blur"]),"icon-translate":new hn($.paint_symbol["icon-translate"]),"icon-translate-anchor":new hn($.paint_symbol["icon-translate-anchor"]),"text-opacity":new un($.paint_symbol["text-opacity"]),"text-color":new un($.paint_symbol["text-color"],{runtimeType:lt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new un($.paint_symbol["text-halo-color"]),"text-halo-width":new un($.paint_symbol["text-halo-width"]),"text-halo-blur":new un($.paint_symbol["text-halo-blur"]),"text-translate":new hn($.paint_symbol["text-translate"]),"text-translate-anchor":new hn($.paint_symbol["text-translate-anchor"])})},get layout(){return Lc=Lc||new mn({"symbol-placement":new hn($.layout_symbol["symbol-placement"]),"symbol-spacing":new hn($.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new hn($.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new un($.layout_symbol["symbol-sort-key"]),"symbol-z-order":new hn($.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new hn($.layout_symbol["icon-allow-overlap"]),"icon-overlap":new hn($.layout_symbol["icon-overlap"]),"icon-ignore-placement":new hn($.layout_symbol["icon-ignore-placement"]),"icon-optional":new hn($.layout_symbol["icon-optional"]),"icon-rotation-alignment":new hn($.layout_symbol["icon-rotation-alignment"]),"icon-size":new un($.layout_symbol["icon-size"]),"icon-text-fit":new hn($.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new hn($.layout_symbol["icon-text-fit-padding"]),"icon-image":new un($.layout_symbol["icon-image"]),"icon-rotate":new un($.layout_symbol["icon-rotate"]),"icon-padding":new un($.layout_symbol["icon-padding"]),"icon-keep-upright":new hn($.layout_symbol["icon-keep-upright"]),"icon-offset":new un($.layout_symbol["icon-offset"]),"icon-anchor":new un($.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new hn($.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new hn($.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new hn($.layout_symbol["text-rotation-alignment"]),"text-field":new un($.layout_symbol["text-field"]),"text-font":new un($.layout_symbol["text-font"]),"text-size":new un($.layout_symbol["text-size"]),"text-max-width":new un($.layout_symbol["text-max-width"]),"text-line-height":new hn($.layout_symbol["text-line-height"]),"text-letter-spacing":new un($.layout_symbol["text-letter-spacing"]),"text-justify":new un($.layout_symbol["text-justify"]),"text-radial-offset":new un($.layout_symbol["text-radial-offset"]),"text-variable-anchor":new hn($.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new un($.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new un($.layout_symbol["text-anchor"]),"text-max-angle":new hn($.layout_symbol["text-max-angle"]),"text-writing-mode":new hn($.layout_symbol["text-writing-mode"]),"text-rotate":new un($.layout_symbol["text-rotate"]),"text-padding":new hn($.layout_symbol["text-padding"]),"text-keep-upright":new hn($.layout_symbol["text-keep-upright"]),"text-transform":new un($.layout_symbol["text-transform"]),"text-offset":new un($.layout_symbol["text-offset"]),"text-allow-overlap":new hn($.layout_symbol["text-allow-overlap"]),"text-overlap":new hn($.layout_symbol["text-overlap"]),"text-ignore-placement":new hn($.layout_symbol["text-ignore-placement"]),"text-optional":new hn($.layout_symbol["text-optional"])})}};class Fc{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:nt,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}}Cr("FormatSectionOverride",Fc,{omit:["defaultValue"]});class Oc extends _n{constructor(t){super(t,Rc)}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()||Ci(s.value)||!n?n:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>i in t?String(t[i]):""))}(e.properties,n)}createBucket(t){return new Dc(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of Rc.paint.overridableProperties){if(!Oc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new Fc(e),r=new Ai(i,e.property.specification);let n=null;n="constant"===e.value.kind||"source"===e.value.kind?new Pi("source",r):new zi("composite",r,e.value.zoomStops),this.paint._values[t]=new ln(e.property,n,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&Oc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),r=Rc.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 Gt)s(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{n||(e instanceof ee&&Qt(e.value)===pt?s(e.value.sections):e instanceof si?s(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return n}}let Uc;var Vc={get paint(){return Uc=Uc||new mn({"background-color":new hn($.paint_background["background-color"]),"background-pattern":new dn($.paint_background["background-pattern"]),"background-opacity":new hn($.paint_background["background-opacity"])})}};class Nc extends _n{constructor(t){super(t,Vc)}}let $c;var qc={get paint(){return $c=$c||new mn({"raster-opacity":new hn($.paint_raster["raster-opacity"]),"raster-hue-rotate":new hn($.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new hn($.paint_raster["raster-brightness-min"]),"raster-brightness-max":new hn($.paint_raster["raster-brightness-max"]),"raster-saturation":new hn($.paint_raster["raster-saturation"]),"raster-contrast":new hn($.paint_raster["raster-contrast"]),"raster-resampling":new hn($.paint_raster["raster-resampling"]),"raster-fade-duration":new hn($.paint_raster["raster-fade-duration"])})}};class Zc extends _n{constructor(t){super(t,qc)}}class jc extends _n{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 Gc{constructor(t){this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){delete this._channel,this._callback=()=>{}}}const Xc=6371008.8;class Wc{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 Wc(u(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 Xc*Math.acos(Math.min(n,1))}static convert(t){if(t instanceof Wc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Wc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Wc(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 Hc=2*Math.PI*Xc;function Kc(t){return Hc*Math.cos(t*Math.PI/180)}function Yc(t){return(180+t)/360}function Jc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Qc(t,e){return t/Kc(e)}function th(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class eh{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Wc.convert(t);return new eh(Yc(i.lng),Jc(i.lat),Qc(e,i.lat))}toLngLat(){return new Wc(360*this.x-180,th(this.y))}toAltitude(){return this.z*Kc(th(this.y))}meterInMercatorCoordinateUnits(){return 1/Hc*(t=th(this.y),1/Math.cos(t*Math.PI/180));var t}}function ih(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 rh{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=ah(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=ih(256*(n=this.x),256*(s=Math.pow(2,a)-s-1),a),l=ih(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 n((t.x*e-this.x)*Hs,(t.y*e-this.y)*Hs)}toString(){return`${this.z}/${this.x}/${this.y}`}}class nh{constructor(t,e){this.wrap=t,this.canonical=e,this.key=ah(t,e.z,e.z,e.x,e.y)}}class sh{constructor(t,e,i,r,n){if(t= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=e,this.canonical=new rh(i,+r,+n),this.key=ah(e,t,i,r,n)}clone(){return new sh(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 sh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new sh(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?ah(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):ah(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 sh(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 sh(e,this.wrap,e,i,r),new sh(e,this.wrap,e,i+1,r),new sh(e,this.wrap,e,i,r+1),new sh(e,this.wrap,e,i+1,r+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=i),i=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}_unpackMapbox(t,e,i){return(256*t*256+256*e+i)/10-1e4}_unpackTerrarium(t,e,i){return 256*t+e+i/256-32768}getPixels(){return new Ba({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 ch{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 hh{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Ir(Hs,16,0),this.grid3D=new Ir(Hs,16,0),this.featureIndexArray=new rs,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 Lo.VectorTile(new Wl(this.rawTileData)).layers,this.sourceLayerCoder=new lh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,i,r){this.loadVTLayers();const s=t.params||{},a=Hs/t.tileSize/t.scale,o=Fi(s.filter),l=t.queryGeometry,c=t.queryPadding*a,h=ph(l),u=this.grid.query(h.minX-c,h.minY-c,h.maxX+c,h.maxY+c),p=ph(t.cameraQueryGeometry),d=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,((e,i,r,s)=>function(t,e,i,r,s){for(const n of t)if(e<=n.x&&i<=n.y&&r>=n.x&&s>=n.y)return!0;const a=[new n(e,i),new n(e,s),new n(r,s),new n(r,i)];if(t.length>2)for(const e of a)if(ua(t,e))return!0;for(let e=0;e(p||(p=Js(e)),i.queryIntersectsFeature(l,e,r,p,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),f=this.vtLayers[d].feature(r);if(n.needGeometry){const t=Qs(f,!0);if(!n.filter(new tn(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!n.filter(new tn(this.tileID.overscaledZ),f))return;const m=this.getId(f,d);for(let e=0;e{const a=e instanceof cn?e.get(s):null;return a&&a.evaluate?a.evaluate(i,r,n):a}))}function ph(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 dh(t,e){return e-t}function fh(t,e,i,r,s){const a=[];for(let o=0;o=r&&h.x>=r||(o.x>=r?o=new n(r,o.y+(r-o.x)/(h.x-o.x)*(h.y-o.y))._round():h.x>=r&&(h=new n(r,o.y+(r-o.x)/(h.x-o.x)*(h.y-o.y))._round()),o.y>=s&&h.y>=s||(o.y>=s?o=new n(o.x+(s-o.y)/(h.y-o.y)*(h.x-o.x),s)._round():h.y>=s&&(h=new n(o.x+(s-o.y)/(h.y-o.y)*(h.x-o.x),s)._round()),c&&o.equals(c[c.length-1])||(c=[o],a.push(c)),c.push(h)))))}}return a}Cr("FeatureIndex",hh,{omit:["rawTileData","sourceLayerCoder"]});class mh extends n{constructor(t,e,i,r){super(t,e),this.angle=i,void 0!==r&&(this.segment=r)}clone(){return new mh(this.x,this.y,this.angle,this.segment)}}function gh(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 _h(t){let e=0;for(let i=0;ic){const h=(c-l)/s,u=Oe.number(r.x,n.x,h),p=Oe.number(r.y,n.y,h),d=new mh(u,p,n.angleTo(r),i);return d._round(),!a||gh(t,d,o,a,e)?d:void 0}l+=s}}function bh(t,e,i,r,n,s,a,o,l){const c=yh(r,s,a),h=xh(r,n),u=h*a,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-u=0&&_=0&&y=0&&p+c<=h){const i=new mh(_,y,m,e);i._round(),r&&!gh(t,i,s,r,n)||d.push(i)}}u+=f}return o||d.length||a||(d=wh(t,u/2,i,r,n,s,a,!0,l)),d}Cr("Anchor",mh);const Th=ec;function Eh(t,e,i,r){const s=[],a=t.image,o=a.pixelRatio,l=a.paddedRect.w-2*Th,c=a.paddedRect.h-2*Th,h=t.right-t.left,u=t.bottom-t.top,p=a.stretchX||[[0,l]],d=a.stretchY||[[0,c]],f=(t,e)=>t+e[1]-e[0],m=p.reduce(f,0),g=d.reduce(f,0),_=l-m,y=c-g;let x=0,v=m,b=0,w=g,T=0,E=_,S=0,I=y;if(a.content&&r){const t=a.content;x=Sh(p,0,t[0]),b=Sh(d,0,t[1]),v=Sh(p,t[0],t[2]),w=Sh(d,t[1],t[3]),T=t[0]-x,S=t[1]-b,E=t[2]-t[0]-v,I=t[3]-t[1]-w}const A=(r,s,l,c)=>{const p=Ah(r.stretch-x,v,h,t.left),d=Ch(r.fixed-T,E,r.stretch,m),f=Ah(s.stretch-b,w,u,t.top),_=Ch(s.fixed-S,I,s.stretch,g),y=Ah(l.stretch-x,v,h,t.left),A=Ch(l.fixed-T,E,l.stretch,m),C=Ah(c.stretch-b,w,u,t.top),M=Ch(c.fixed-S,I,c.stretch,g),P=new n(p,f),z=new n(y,f),k=new n(y,C),D=new n(p,C),L=new n(d/o,_/o),B=new n(A/o,M/o),R=e*Math.PI/180;if(R){const t=Math.sin(R),e=Math.cos(R),i=[e,-t,t,e];P._matMult(i),z._matMult(i),D._matMult(i),k._matMult(i)}const F=r.stretch+r.fixed,O=s.stretch+s.fixed;return{tl:P,tr:z,bl:D,br:k,tex:{x:a.paddedRect.x+Th+F,y:a.paddedRect.y+Th+O,w:l.stretch+l.fixed-F,h:c.stretch+c.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:L,pixelOffsetBR:B,minFontScaleX:E/o/h,minFontScaleY:I/o/u,isSDF:i}};if(r&&(a.stretchX||a.stretchY)){const t=Ih(p,_,m),e=Ih(d,y,g);for(let i=0;i0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let c=a.top*o-l[0],u=a.bottom*o+l[2],p=a.left*o-l[3],d=a.right*o+l[1];const f=a.collisionPadding;if(f&&(p-=f[0]*o,c-=f[1]*o,d+=f[2]*o,u+=f[3]*o),h){const t=new n(p,c),e=new n(d,c),i=new n(p,u),r=new n(d,u),s=h*Math.PI/180;t._rotate(s),e._rotate(s),i._rotate(s),r._rotate(s),p=Math.min(t.x,e.x,i.x,r.x),d=Math.max(t.x,e.x,i.x,r.x),c=Math.min(t.y,e.y,i.y,r.y),u=Math.max(t.y,e.y,i.y,r.y)}t.emplaceBack(e.x,e.y,p,c,d,u,i,r,s)}this.boxEndIndex=t.length}}class Ph{constructor(t=[],e=zh){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 zh(t,e){return te?1:0}function kh(t,e=1,i=!1){let r=1/0,s=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-s);let h=c/2;const u=new Ph([],Dh);if(0===c)return new n(r,s);for(let e=r;ep.d||!p.d)&&(p=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,d)),r.max-p.d<=e||(h=r.h/2,u.push(new Lh(r.p.x-h,r.p.y-h,h,t)),u.push(new Lh(r.p.x+h,r.p.y-h,h,t)),u.push(new Lh(r.p.x-h,r.p.y+h,h,t)),u.push(new Lh(r.p.x+h,r.p.y+h,h,t)),d+=4)}return i&&(console.log(`num probes: ${d}`),console.log(`best distance: ${p.d}`)),p.p}function Dh(t,e){return e.max-t.max}function Lh(t,e,i,r){this.p=new n(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,ca(t,n,o))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}var Bh;t.TextAnchorEnum=void 0,(Bh=t.TextAnchorEnum||(t.TextAnchorEnum={}))[Bh.center=1]="center",Bh[Bh.left=2]="left",Bh[Bh.right=3]="right",Bh[Bh.top=4]="top",Bh[Bh.bottom=5]="bottom",Bh[Bh["top-left"]=6]="top-left",Bh[Bh["top-right"]=7]="top-right",Bh[Bh["bottom-left"]=8]="bottom-left",Bh[Bh["bottom-right"]=9]="bottom-right";const Rh=7,Fh=Number.POSITIVE_INFINITY;function Oh(t,e){return e[1]!==Fh?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-Rh;break;case"bottom-right":case"bottom-left":case"bottom":n=-i+Rh}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-Rh;break;case"bottom-right":case"bottom-left":r=-n+Rh;break;case"bottom":r=-e+Rh;break;case"top":r=e-Rh}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 Uh(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*Sl));r.startsWith("top")?n[1]-=Rh:r.startsWith("bottom")&&(n[1]+=Rh),e[i+1]=n}return new Ht(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)*Sl,Fh]:n.get("text-offset").evaluate(e,{},i).map((t=>t*Sl));const s=[];for(const t of a)s.push(t,Oh(t,r));return new Ht(s)}return null}function Vh(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 Nh(e,i,r,n,s,a,o,l,c,h,u){let p=a.textMaxSize.evaluate(i,{});void 0===p&&(p=o);const d=e.layers[0].layout,f=d.get("icon-offset").evaluate(i,{},u),m=qh(r.horizontal),g=o/24,_=e.tilePixelRatio*g,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*d.get("symbol-spacing"),w=d.get("text-padding")*e.tilePixelRatio,T=function(t,e,i,r=1){const n=t.get("icon-padding").evaluate(e,{},i),s=n&&n.values;return[s[0]*r,s[1]*r,s[2]*r,s[3]*r]}(d,i,u,e.tilePixelRatio),E=d.get("text-max-angle")/180*Math.PI,S="viewport"!==d.get("text-rotation-alignment")&&"point"!==d.get("symbol-placement"),I="map"===d.get("icon-rotation-alignment")&&"point"!==d.get("symbol-placement"),A=d.get("symbol-placement"),C=b/2,M=d.get("icon-text-fit");let P;n&&"none"!==M&&(e.allowVerticalPlacement&&r.vertical&&(P=vc(n,r.vertical,M,d.get("icon-text-fit-padding"),f,g)),m&&(n=vc(n,m,M,d.get("icon-text-fit-padding"),f,g)));const z=(l,p)=>{p.x<0||p.x>=Hs||p.y<0||p.y>=Hs||function(e,i,r,n,s,a,o,l,c,h,u,p,d,f,m,g,_,x,v,b,w,T,E,S,I){const A=e.addToLineVertexArray(i,r);let C,M,P,z,k=0,D=0,L=0,B=0,R=-1,F=-1;const O={};let U=Ms("");if(e.allowVerticalPlacement&&n.vertical){const t=l.layout.get("text-rotate").evaluate(w,{},S)+90;P=new Mh(c,i,h,u,p,n.vertical,d,f,m,t),o&&(z=new Mh(c,i,h,u,p,o,_,x,m,t))}if(s){const r=l.layout.get("icon-rotate").evaluate(w,{}),n="none"!==l.layout.get("icon-text-fit"),a=Eh(s,r,E,n),d=o?Eh(o,r,E,n):void 0;M=new Mh(c,i,h,u,p,s,_,x,!1,r),k=4*a.length;const f=e.iconSizeData;let m=null;"source"===f.kind?(m=[wc*l.layout.get("icon-size").evaluate(w,{})],m[0]>Tc&&y(`${e.layerIds[0]}: Value for "icon-size" is >= ${bc}. Reduce your "icon-size".`)):"composite"===f.kind&&(m=[wc*T.compositeIconSizes[0].evaluate(w,{},S),wc*T.compositeIconSizes[1].evaluate(w,{},S)],(m[0]>Tc||m[1]>Tc)&&y(`${e.layerIds[0]}: Value for "icon-size" is >= ${bc}. Reduce your "icon-size".`)),e.addSymbols(e.icon,a,m,b,v,w,t.WritingMode.none,i,A.lineStartIndex,A.lineLength,-1,S),R=e.icon.placedSymbolArray.length-1,d&&(D=4*d.length,e.addSymbols(e.icon,d,m,b,v,w,t.WritingMode.vertical,i,A.lineStartIndex,A.lineLength,-1,S),F=e.icon.placedSymbolArray.length-1)}const V=Object.keys(n.horizontal);for(const r of V){const s=n.horizontal[r];if(!C){U=Ms(s.text);const t=l.layout.get("text-rotate").evaluate(w,{},S);C=new Mh(c,i,h,u,p,s,d,f,m,t)}const o=1===s.positionedLines.length;if(L+=$h(e,i,s,a,l,m,w,g,A,n.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,o?V:[r],O,R,T,S),o)break}n.vertical&&(B+=$h(e,i,n.vertical,a,l,m,w,g,A,t.WritingMode.vertical,["vertical"],O,F,T,S));const N=C?C.boxStartIndex:e.collisionBoxArray.length,$=C?C.boxEndIndex:e.collisionBoxArray.length,q=P?P.boxStartIndex:e.collisionBoxArray.length,Z=P?P.boxEndIndex:e.collisionBoxArray.length,j=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(P,H),H=K(M,H),H=K(z,H);const Y=H>-1?1:0;Y&&(H*=I/Sl),e.glyphOffsetArray.length>=Dc.MAX_GLYPHS&&y("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 J=Uh(l,w,S),[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,R,F,U,N,$,q,Z,j,G,X,W,h,L,B,k,D,Y,0,d,H,Q,tt)}(e,p,l,r,n,s,P,e.layers[0],e.collisionBoxArray,i.index,i.sourceLayerIndex,e.index,_,[w,w,w,w],S,c,v,T,I,f,i,a,h,u,o)};if("line"===A)for(const t of fh(i.geometry,0,0,Hs,Hs)){const i=bh(t,b,E,r.vertical||m,n,24,x,e.overscaling,Hs);for(const r of i)m&&Zh(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=vh(t,E,r.vertical||m,n,24,x);e&&z(t,e)}}else if("Polygon"===i.type)for(const t of wo(i.geometry,0)){const e=kh(t,16);z(t[0],new mh(e.x,e.y,0))}else if("LineString"===i.type)for(const t of i.geometry)z(t,new mh(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 mh(e.x,e.y,0))}function $h(t,e,i,r,s,a,o,l,c,h,u,p,d,f,m){const g=function(t,e,i,r,s,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=Ql+1,p=!0,d=1,f=0;const m=(s||l)&&r.vertical,g=r.metrics.advance*r.scale/2;if(l&&e.verticalizable&&(f=t.lineOffset/2-(r.imageName?-(Sl-r.metrics.width*r.scale)/2:(r.scale-1)*Sl)),r.imageName){const t=o[r.imageName];p=t.sdf,d=t.pixelRatio,u=ec/d}const _=s?[r.x+g,r.y]:[0,0];let y=s?[0,0]:[r.x+g+i[0],r.y+i[1]-f],x=[0,0];m&&(x=y,y=[0,0]);const v=(r.metrics.left-u)*r.scale-g+y[0],b=(-r.metrics.top-u)*r.scale+y[1],w=v+a.w*r.scale/d,T=b+a.h*r.scale/d,E=new n(v,b),S=new n(w,b),I=new n(v,T),A=new n(w,T);if(m){const t=new n(-g,g-sc),e=-Math.PI/2,i=Sl/2-g,s=new n(5-sc-i,-(r.imageName?i:0)),a=new n(...x);E._rotateAround(e,t)._add(s)._add(a),S._rotateAround(e,t)._add(s)._add(a),I._rotateAround(e,t)._add(s)._add(a),A._rotateAround(e,t)._add(s)._add(a)}if(c){const t=Math.sin(c),e=Math.cos(c),i=[e,-t,t,e];E._matMult(i),S._matMult(i),I._matMult(i),A._matMult(i)}const C=new n(0,0),M=new n(0,0);h.push({tl:E,tr:S,bl:I,br:A,tex:a,writingMode:e.writingMode,glyphOffset:_,sectionIndex:r.sectionIndex,isSDF:p,pixelOffsetTL:C,pixelOffsetBR:M,minFontScaleX:0,minFontScaleY:0})}return h}(0,i,l,s,a,o,r,t.allowVerticalPlacement),_=t.textSizeData;let x=null;"source"===_.kind?(x=[wc*s.layout.get("text-size").evaluate(o,{})],x[0]>Tc&&y(`${t.layerIds[0]}: Value for "text-size" is >= ${bc}. Reduce your "text-size".`)):"composite"===_.kind&&(x=[wc*f.compositeTextSizes[0].evaluate(o,{},m),wc*f.compositeTextSizes[1].evaluate(o,{},m)],(x[0]>Tc||x[1]>Tc)&&y(`${t.layerIds[0]}: Value for "text-size" is >= ${bc}. Reduce your "text-size".`)),t.addSymbols(t.text,g,x,l,a,o,h,e,c.lineStartIndex,c.lineLength,d,m);for(const e of u)p[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function qh(t){for(const e in t)return t[e];return null}function Zh(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=jh[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 Gh(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=jh.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 Xh(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 p=u+h>>1,d=s[2*p],f=s[2*p+1];d>=t&&d<=i&&f>=e&&f<=r&&l.push(n[p]),(0===c?t<=d:e<=f)&&(o.push(u),o.push(p-1),o.push(1-c)),(0===c?i>=d:r>=f)&&(o.push(p+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++)Yh(n[2*i],n[2*i+1],t,e)<=l&&o.push(r[i]);continue}const p=u+h>>1,d=n[2*p],f=n[2*p+1];Yh(d,f,t,e)<=l&&o.push(r[p]),(0===c?t-i<=d:e-i<=f)&&(a.push(u),a.push(p-1),a.push(1-c)),(0===c?t+i>=d:e+i>=f)&&(a.push(p+1),a.push(h),a.push(1-c))}return o}}function Xh(t,e,i,r,n,s){if(n-r<=i)return;const a=r+n>>1;Wh(t,e,a,r,n,s),Xh(t,e,i,r,a-1,1-s),Xh(t,e,i,a+1,n,1-s)}function Wh(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);Wh(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(Hh(t,e,r,i),e[2*n+s]>a&&Hh(t,e,r,n);oa;)l--}e[2*r+s]===a?Hh(t,e,r,l):(l++,Hh(t,e,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function Hh(t,e,i,r){Kh(t,i,r),Kh(e,2*i,2*r),Kh(e,2*i+1,2*r+1)}function Kh(t,e,i){const r=t[e];t[e]=t[i],t[i]=r}function Yh(t,e,i,r){const n=t-i,s=e-r;return n*n+s*s}var Jh;t.PerformanceMarkers=void 0,(Jh=t.PerformanceMarkers||(t.PerformanceMarkers={})).create="create",Jh.load="load",Jh.fullLoad="fullLoad";let Qh=null,tu=[];const eu=1e3/60,iu="loadTime",ru="fullLoadTime",nu={mark(t){performance.mark(t)},frame(t){const e=t;null!=Qh&&tu.push(e-Qh),Qh=e},clearMetrics(){Qh=null,tu=[],performance.clearMeasures(iu),performance.clearMeasures(ru);for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e])},getPerformanceMetrics(){performance.measure(iu,t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure(ru,t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName(iu)[0].duration,i=performance.getEntriesByName(ru)[0].duration,r=tu.length,n=1/(tu.reduce(((t,e)=>t+e),0)/r/1e3),s=tu.filter((t=>t>eu)).reduce(((t,e)=>t+(e-eu)/eu),0);return{loadTime:e,fullLoadTime:i,fps:n,percentDroppedFrames:s/(r+s)*100,totalFrames:r}}};t.AJAXError=P,t.ARRAY_TYPE=va,t.Actor=class{constructor(t,e,i){this.receive=t=>{const e=t.data,i=e.id;if(i&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[i];const t=this.cancelCallbacks[i];delete this.cancelCallbacks[i],t&&t()}else b()||e.mustQueue?(this.tasks[i]=e,this.taskQueue.push(i),this.invoker.trigger()):this.processTask(i,e)},this.process=()=>{if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)},this.target=t,this.parent=e,this.mapId=i,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new Gc(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=b()?t:window}send(t,e,i,r,n=!1){const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(this.callbacks[s]=i);const a=T(this.globalScope)?void 0:[];return this.target.postMessage({id:s,type:t,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:Pr(e,a)},a),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:r,sourceMapId:this.mapId})}}}processTask(t,e){if(""===e.type){const i=this.callbacks[t];delete this.callbacks[t],i&&(e.error?i(zr(e.error)):i(null,zr(e.data)))}else{let i=!1;const r=T(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{i=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?Pr(e):null,data:Pr(n,r)},r)}:t=>{i=!0};let s=null;const a=zr(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,a,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,t[0],a.source)[t[1]](a,n)}else n(new Error(`Could not find function ${e.type}`));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)}},t.AlphaImage=La,t.CanonicalTileID=rh,t.CollisionBoxArray=Xn,t.CollisionCircleLayoutArray=class extends Bn{},t.Color=qt,t.DEMData=oh,t.DataConstantProperty=hn,t.DictionaryCoder=lh,t.EXTENT=Hs,t.ErrorEvent=V,t.EvaluationParameters=tn,t.Event=U,t.Evented=N,t.FeatureIndex=hh,t.FillBucket=Io,t.FillExtrusionBucket=Ho,t.GeoJSONFeature=ch,t.ImageAtlas=rc,t.ImagePosition=ic,t.KDBush=Gh,t.LineBucket=hl,t.LineStripIndexArray=class extends Zn{},t.LngLat=Wc,t.MercatorCoordinate=eh,t.ONE_EM=Sl,t.OverscaledTileID=sh,t.PerformanceUtils=nu,t.Point=n,t.Pos3dArray=class extends En{},t.PosArray=ns,t.Properties=mn,t.Protobuf=Wl,t.QuadTriangleArray=class extends Fn{},t.RGBAImage=Ba,t.RasterBoundsArray=class extends Sn{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.SegmentVector=vs,t.SymbolBucket=Dc,t.Transitionable=nn,t.TriangleIndexArray=gs,t.Uniform1f=Bs,t.Uniform1i=class extends Ls{constructor(t,e){super(t,e),this.current=0}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))}},t.Uniform2f=class extends Ls{constructor(t,e){super(t,e),this.current=[0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))}},t.Uniform3f=class extends Ls{constructor(t,e){super(t,e),this.current=[0,0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))}},t.Uniform4f=Rs,t.UniformColor=Fs,t.UniformMatrix4f=class extends Ls{constructor(t,e){super(t,e),this.current=Os}set(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=nh,t.ValidationError=tt,t.ZoomHistory=kr,t.addDynamicAttributes=Mc,t.arrayBufferToImage=function(t,e){const i=new Image;i.onload=()=>{e(null,i),URL.revokeObjectURL(i.src),i.onload=null,window.requestAnimationFrame((()=>{i.src=S}))},i.onerror=()=>e(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const r=new Blob([new Uint8Array(t)],{type:"image/png"});i.src=t.byteLength?URL.createObjectURL(r):S},t.arrayBufferToImageBitmap=function(t,e){const i=new Blob([new Uint8Array(t)],{type:"image/png"});createImageBitmap(i).then((t=>{e(null,t)})).catch((t=>{e(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))},t.asyncAll=function(t,e,i){if(!t.length)return i(null,[]);let r=t.length;const n=new Array(t.length);let s=null;t.forEach(((t,a)=>{e(t,((t,e)=>{t&&(s=t),n[a]=e,0==--r&&i(s,n)}))}))},t.bezier=l,t.browser=C,t.clamp=h,t.clipLine=fh,t.clone=function(t){var e=new va(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=g,t.collisionCircleLayout=wl,t.config=M,t.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.create=function(){var t=new va(16);return va!=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.createExpression=Mi,t.createFilter=Fi,t.createLayout=bn,t.createStyleLayer=function(t){if("custom"===t.type)return new jc(t);switch(t.type){case"background":return new Nc(t);case"circle":return new Ia(t);case"fill":return new Po(t);case"fill-extrusion":return new tl(t);case"heatmap":return new Fa(t);case"hillshade":return new Va(t);case"line":return new gl(t);case"raster":return new Zc(t);case"symbol":return new Oc(t)}},t.deepEqual=function t(e,i){if(Array.isArray(e)){if(!Array.isArray(i)||e.length!==i.length)return!1;for(let r=0;r{r[t.source]?i.push({command:G.removeLayer,args:[t.id]}):s.push(t)})),i=i.concat(n),function(t,e,i){e=e||[];const r=(t=t||[]).map(J),n=e.map(J),s=t.reduce(Q,{}),a=e.reduce(Q,{}),o=r.slice(),l=Object.create(null);let c,h,u,p,d,f,m;for(c=0,h=0;c{}}},t.groupByLayout=function(t,e){const i={};for(let r=0;r@\,;\:\\"\/\[\]\?\=\{\}\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.parseGlyphPbf=function(t){return new Wl(t).readFields(Kl,[])},t.pbf=Il,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=Hs/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const i=e.bucket.layers[0],r=i.layout,n=i._unevaluatedLayout._values,s={layoutIconSize:n["icon-size"].possiblyEvaluate(new tn(e.bucket.zoom+1),e.canonical),layoutTextSize:n["text-size"].possiblyEvaluate(new tn(e.bucket.zoom+1),e.canonical),textMaxSize:n["text-size"].possiblyEvaluate(new tn(18))};if("composite"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.textSizeData;s.compositeTextSizes=[n["text-size"].possiblyEvaluate(new tn(t),e.canonical),n["text-size"].possiblyEvaluate(new tn(i),e.canonical)]}if("composite"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.iconSizeData;s.compositeIconSizes=[n["icon-size"].possiblyEvaluate(new tn(t),e.canonical),n["icon-size"].possiblyEvaluate(new tn(i),e.canonical)]}const a=r.get("text-line-height")*Sl,o="viewport"!==r.get("text-rotation-alignment")&&"point"!==r.get("symbol-placement"),l=r.get("text-keep-upright"),c=r.get("text-size");for(const n of e.bucket.features){const h=r.get("text-font").evaluate(n,{},e.canonical).join(","),u=c.evaluate(n,{},e.canonical),p=s.layoutTextSize.evaluate(n,{},e.canonical),d=s.layoutIconSize.evaluate(n,{},e.canonical),f={horizontal:{},vertical:void 0},m=n.text;let g,_=[0,0];if(m){const s=m.toString(),c=r.get("text-letter-spacing").evaluate(n,{},e.canonical)*Sl,d=Br(s)?c:0,g=r.get("text-anchor").evaluate(n,{},e.canonical),y=Uh(i,n,e.canonical);if(!y){const t=r.get("text-radial-offset").evaluate(n,{},e.canonical);_=t?Oh(g,[t*Sl,Fh]):r.get("text-offset").evaluate(n,{},e.canonical).map((t=>t*Sl))}let x=o?"center":r.get("text-justify").evaluate(n,{},e.canonical);const v=r.get("symbol-placement"),b="point"===v?r.get("text-max-width").evaluate(n,{},e.canonical)*Sl:0,w=()=>{e.bucket.allowVerticalPlacement&&Lr(s)&&(f.vertical=lc(m,e.glyphMap,e.glyphPositions,e.imagePositions,h,b,a,g,"left",d,_,t.WritingMode.vertical,!0,v,p,u))};if(!o&&y){const i=new Set;if("auto"===x)for(let t=0;tthis._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.potpack(r),a=new t.AlphaImage({width:n||1,height:s||1});for(const r in e){const n=e[r];for(const e in n){const s=n[+e];if(!s||0===s.bitmap.width||0===s.bitmap.height)continue;const o=i[r][e].rect;t.AlphaImage.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.register("GlyphAtlas",i);class r{constructor(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1}parse(e,r,s,a,o){this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;const l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:s},p=r.familiesBySource[this.source];for(const i in p){const r=e.layers[i];if(!r)continue;1===r.version&&t.warnOnce(`Vector tile source "${this.source}" layer "${i}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const a=l.encode(i),o=[];for(let t=0;t=i.maxzoom||"none"!==i.visibility&&(n(e,this.zoom,s),(h[i.id]=i.createBucket({index:c.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:a,sourceID:this.source})).populate(o,u,this.tileID.canonical),c.bucketLayerIDs.push(e.map((t=>t.id))))}}let d,f,m,g;const _=t.mapObject(u.glyphDependencies,(t=>Object.keys(t).map(Number)));this.inFlightDependencies.forEach((t=>null==t?void 0:t.cancel())),this.inFlightDependencies=[];const y=++this.dependencySentinel;Object.keys(_).length?this.inFlightDependencies.push(a.send("getGlyphs",{uid:this.uid,stacks:_,source:this.source,tileID:this.tileID,type:"glyphs"},((t,e)=>{y===this.dependencySentinel&&(d||(d=t,f=e,b.call(this)))}))):f={};const x=Object.keys(u.iconDependencies);x.length?this.inFlightDependencies.push(a.send("getImages",{icons:x,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{y===this.dependencySentinel&&(d||(d=t,m=e,b.call(this)))}))):m={};const v=Object.keys(u.patternDependencies);function b(){if(d)return o(d);if(f&&m&&g){const e=new i(f),r=new t.ImageAtlas(m,g);for(const i in h){const a=h[i];a instanceof t.SymbolBucket?(n(a.layers,this.zoom,s),t.performSymbolLayout({bucket:a,glyphMap:f,glyphPositions:e.positions,imageMap:m,imagePositions:r.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):a.hasPattern&&(a instanceof t.LineBucket||a instanceof t.FillBucket||a instanceof t.FillExtrusionBucket)&&(n(a.layers,this.zoom,s),a.addFeatures(u,this.tileID.canonical,r.patternPositions))}this.status="done",o(null,{buckets:Object.values(h).filter((t=>!t.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?f:null,iconMap:this.returnDependencies?m:null,glyphPositions:this.returnDependencies?e.positions:null})}}v.length?this.inFlightDependencies.push(a.send("getImages",{icons:v,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{y===this.dependencySentinel&&(d||(d=t,g=e,b.call(this)))}))):g={},b.call(this)}}function n(e,i,r){const n=new t.EvaluationParameters(i);for(const t of e)t.recalculate(n,r)}function s(e,i){const r=t.getArrayBuffer(e.request,((e,r,n,s)=>{e?i(e):r&&i(null,{vectorTile:new t.vectorTile.VectorTile(new t.Protobuf(r)),rawData:r,cacheControl:n,expires:s})}));return()=>{r.cancel(),i()}}class a{constructor(t,e,i,r){this.actor=t,this.layerIndex=e,this.availableImages=i,this.loadVectorData=r||s,this.fetching={},this.loading={},this.loaded={}}loadTile(e,i){const n=e.uid;this.loading||(this.loading={});const s=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),a=this.loading[n]=new r(e);a.abort=this.loadVectorData(e,((e,r)=>{if(delete this.loading[n],e||!r)return a.status="done",this.loaded[n]=a,i(e);const o=r.rawData,l={};r.expires&&(l.expires=r.expires),r.cacheControl&&(l.cacheControl=r.cacheControl);const c={};if(s){const t=s.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}a.vectorTile=r.vectorTile,a.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,r)=>{if(delete this.fetching[n],e||!r)return i(e);i(null,t.extend({rawTileData:o.slice(0)},r,l,c))})),this.loaded=this.loaded||{},this.loaded[n]=a,this.fetching[n]={rawTileData:o,cacheControl:l,resourceTiming:c}}))}reloadTile(e,i){const r=this.loaded,n=e.uid;if(r&&r[n]){const s=r[n];s.showCollisionBoxes=e.showCollisionBoxes,"parsing"===s.status?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,r)=>{if(e||!r)return i(e,r);let s;if(this.fetching[n]){const{rawTileData:e,cacheControl:i,resourceTiming:a}=this.fetching[n];delete this.fetching[n],s=t.extend({rawTileData:e.slice(0)},r,i,a)}else s=r;i(null,s)})):"done"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,i):i())}}abortTile(t,e){const i=this.loading,r=t.uid;i&&i[r]&&i[r].abort&&(i[r].abort(),delete i[r]),e()}removeTile(t,e){const i=this.loaded,r=t.uid;i&&i[r]&&delete i[r],e()}}class o{constructor(){this.loaded={}}loadTile(e,i){const{uid:r,encoding:n,rawImageData:s}=e,a=t.isImageBitmap(s)?this.getImageData(s):s,o=new t.DEMData(r,a,n);this.loaded=this.loaded||{},this.loaded[r]=o,i(null,o)}getImageData(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d",{willReadFrequently:!0})),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const i=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:i.width,height:i.height},i.data)}removeTile(t){const e=this.loaded,i=t.uid;e&&e[i]&&delete e[i]}}function l(t,e){if(0!==t.length){c(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 h=t.getDefaultExportFromCjs((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},P=Math.fround||(z=new Float32Array(1),t=>(z[0]=+t,z[0]));var z;const k=3,D=5,L=6;class B{constructor(t){this.options=Object.assign(Object.create(M),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(O(i),U(s),O(n),U(r)),l=a.data,c=[];for(const t of o){const e=this.stride*t;c.push(l[e+D]>1?R(l,e,this.clusterProps):this.points[l[e+k]])}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+D]>1?R(s,i,this.clusterProps):this.points[s[i+k]])}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=F(e,t,this.clusterProps),c=e[t],h=e[t+1];else{const i=this.points[e[t+k]];l=i.properties;const[r,n]=i.geometry.coordinates;c=O(r),h=U(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 p;p=o||this.options.generateId?e[t+k]:this.points[e[t+k]].id,void 0!==p&&(u.id=p),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&&(d+=o[i+D])}if(d>p&&d>=s){let t,s=r*p,a=h*p,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+D];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/d,a/d,1/0,m,-1,d),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+D]>1){const r=this.clusterProps[t[e+L]];return i?Object.assign({},r):r}const r=this.points[t[e+k]].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+k],properties:F(t,e,i),geometry:{type:"Point",coordinates:[(r=t[e],360*(r-.5)),V(t[e+1])]}};var r}function F(t,e,i){const r=t[e+D],n=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+"k":r,s=t[e+L],a=-1===s?{}:Object.assign({},i[s]);return Object.assign(a,{cluster:!0,cluster_id:t[e+k],point_count:r,point_count_abbreviated:n})}function O(t){return t/360+.5}function U(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){for(var n,s=r,a=i-e>>1,o=i-e,l=t[e],c=t[e+1],h=t[i],u=t[i+1],p=e+3;ps)n=p,s=d;else if(d===s){var f=Math.abs(p-a);fr&&(n-e>3&&N(t,e,n,r),t[n+2]=s,i-n>3&&N(t,n,i,r))}function $(t,e,i,r,n,s){var a=n-i,o=s-r;if(0!==a||0!==o){var 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)*a+(o=e-r)*o}function q(t,e,i,r){var n={id:void 0===t?null:t,type:e,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,i=t.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)Z(t,e);else if("Polygon"===i||"MultiLineString"===i)for(var r=0;r0&&(a+=r?(n*c-l*s)/2:Math.sqrt(Math.pow(l-n,2)+Math.pow(c-s,2))),n=l,s=c}var h=e.length-3;e[2]=1,N(e,0,h,i),e[h+2]=1,e.size=Math.abs(a),e.start=0,e.end=e.size}function W(t,e,i,r){for(var n=0;n1?1:i}function Y(t,e,i,r,n,s,a,o){if(r/=e,s>=(i/=e)&&a=r)return null;for(var l=[],c=0;c=i&&f=r)){var m=[];if("Point"===p||"MultiPoint"===p)J(u,m,i,r,n);else if("LineString"===p)Q(u,m,i,r,n,!1,o.lineMetrics);else if("MultiLineString"===p)et(u,m,i,r,n,!1);else if("Polygon"===p)et(u,m,i,r,n,!0);else if("MultiPolygon"===p)for(var g=0;g=i&&a<=r&&(e.push(t[s]),e.push(t[s+1]),e.push(t[s+2]))}}function Q(t,e,i,r,n,s,a){for(var o,l,c=tt(t),h=0===n?rt:nt,u=t.start,p=0;pi&&(l=h(c,d,f,g,_,i),a&&(c.start=u+o*l)):y>r?x=i&&(l=h(c,d,f,g,_,i),v=!0),x>r&&y<=r&&(l=h(c,d,f,g,_,r),v=!0),!s&&v&&(a&&(c.end=u+o*l),e.push(c),c=tt(t)),a&&(u+=o)}var b=t.length-3;d=t[b],f=t[b+1],m=t[b+2],(y=0===n?d:f)>=i&&y<=r&&it(c,d,f,m),b=c.length-3,s&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&it(c,c[0],c[1],c[2]),c.length&&e.push(c)}function tt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function et(t,e,i,r,n,s){for(var a=0;aa.maxX&&(a.maxX=h),u>a.maxY&&(a.maxY=u)}return a}function ht(t,e,i,r){var n=e.geometry,s=e.type,a=[];if("Point"===s||"MultiPoint"===s)for(var o=0;o0&&e.size<(n?a:r))i.numPoints+=e.length/3;else{for(var o=[],l=0;la)&&(i.numSimplified++,o.push(e[l]),o.push(e[l+1])),i.numPoints++;n&&function(t,e){for(var i=0,r=0,n=t.length,s=n-2;r0===e)for(r=0,n=t.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(t,e){var i=[];if("FeatureCollection"===t.type)for(var r=0;r1&&console.time("creation"),p=this.tiles[u]=ct(t,e,i,r,l),this.tileCoords.push({z:e,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,r,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var d="z"+e;this.stats[d]=(this.stats[d]||0)+1,this.total++}if(p.source=t,n){if(e===l.maxZoom||e===n)continue;var f=1<1&&console.time("clipping");var m,g,_,y,x,v,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,E=1+b;m=g=_=y=null,x=Y(t,h,i-b,i+T,0,p.minX,p.maxX,l),v=Y(t,h,i+w,i+E,0,p.minX,p.maxX,l),t=null,x&&(m=Y(x,h,r-b,r+T,1,p.minY,p.maxY,l),g=Y(x,h,r+w,r+E,1,p.minY,p.maxY,l),x=null),v&&(_=Y(v,h,r-b,r+T,1,p.minY,p.maxY,l),y=Y(v,h,r+w,r+E,1,p.minY,p.maxY,l),v=null),c>1&&console.timeEnd("clipping"),o.push(m||[],e+1,2*i,2*r),o.push(g||[],e+1,2*i,2*r+1),o.push(_||[],e+1,2*i+1,2*r),o.push(y||[],e+1,2*i+1,2*r+1)}}},pt.prototype.getTile=function(t,e,i){var r=this.options,n=r.extent,s=r.debug;if(t<0||t>24)return null;var a=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);for(var l,c=t,h=e,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[dt(c,h,u)];return l&&l.source?(s>1&&console.log("found parent tile z%d-%d-%d",c,h,u),s>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,t,e,i),s>1&&console.timeEnd("drilling down"),this.tiles[o]?ot(this.tiles[o],n):null):null};class yt extends a{constructor(e,i,r,n){super(e,i,r,_t),this._dataUpdateable=new Map,this.loadGeoJSON=(e,i)=>{const{promoteId:r}=e;if(e.request)return t.getJSON(e.request,((t,e,n,s)=>{this._dataUpdateable=mt(e,r)?gt(e,r):void 0,i(t,e,n,s)}));if("string"==typeof e.data)try{const t=JSON.parse(e.data);this._dataUpdateable=mt(t,r)?gt(t,r):void 0,i(null,t)}catch(t){i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`))}else e.dataDiff?this._dataUpdateable?(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={...e},t.set(i.id,e),o&&(e.properties={...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),i(null,{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())})):i(new Error(`Cannot update existing geojson data in ${e.source}`)):i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}},n&&(this.loadGeoJSON=n)}loadData(e,i){var r;null===(r=this._pendingRequest)||void 0===r||r.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request);this._pendingCallback=i,this._pendingRequest=this.loadGeoJSON(e,((r,s)=>{if(delete this._pendingCallback,delete this._pendingRequest,r||!s)return i(r);if("object"!=typeof s)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));{h(s,!0);try{if(e.filter){const i=t.createExpression(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const r=s.features.filter((t=>i.value.evaluate({zoom:0},t)));s={type:"FeatureCollection",features:r}}this._geoJSONIndex=e.cluster?new B(function({superclusterOptions:e,clusterProperties:i}){if(!i||!e)return e;const r={},n={},s={accumulated:null,zoom:0},a={properties:null},o=Object.keys(i);for(const e of o){const[s,a]=i[e],o=t.createExpression(a),l=t.createExpression("string"==typeof s?[s,["accumulated"],["get",e]]:s);r[e]=o.value,n[e]=l.value}return e.map=t=>{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(s.features):function(t,e){return new pt(t,e)}(s,e.geojsonVtOptions)}catch(r){return i(r)}this.loaded={};const a={};if(n){const t=n.finish();t&&(a.resourceTiming={},a.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}i(null,a)}}))}reloadTile(t,e){const i=this.loaded;return i&&i[t.uid]?super.reloadTile(t,e):this.loadTile(t,e)}removeSource(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()}getClusterExpansionZoom(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}}getClusterChildren(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}}getClusterLeaves(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}}}class xt{constructor(e){this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:a,geojson:yt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(t,e)=>{if(this.workerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=e=>{if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}}setReferrer(t,e){this.referrer=e}setImages(t,e,i){this.availableImages[t]=e;for(const i in this.workerSources[t]){const r=this.workerSources[t][i];for(const t in r)r[t].availableImages=e}i()}setLayers(t,e,i){this.getLayerIndex(t).replace(e),i()}updateLayers(t,e,i){this.getLayerIndex(t).update(e.layers,e.removedIds),i()}loadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).loadTile(e,i)}loadDEMTile(t,e,i){this.getDEMWorkerSource(t,e.source).loadTile(e,i)}reloadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).reloadTile(e,i)}abortTile(t,e,i){this.getWorkerSource(t,e.type,e.source).abortTile(e,i)}removeTile(t,e,i){this.getWorkerSource(t,e.type,e.source).removeTile(e,i)}removeDEMTile(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)}removeSource(t,e,i){if(!this.workerSources[t]||!this.workerSources[t][e.type]||!this.workerSources[t][e.type][e.source])return;const r=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==r.removeSource?r.removeSource(e,i):i()}loadWorkerSource(t,e,i){try{this.self.importScripts(e.url),i()}catch(t){i(t.toString())}}syncRTLPluginState(e,i,r){try{t.plugin.setState(i);const e=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=e){this.self.importScripts(e);const i=t.plugin.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${e}`),i)}}catch(t){r(t.toString())}}getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}getLayerIndex(t){let 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={send:(e,i,r)=>{this.actor.send(e,i,r,t)}};this.workerSources[t][e][i]=new this.workerSourceTypes[e](r,this.getLayerIndex(t),this.getAvailableImages(t))}return this.workerSources[t][e][i]}getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new o),this.demWorkerSources[t][e]}}return t.isWorker()&&(self.worker=new xt(self)),xt})),r(["./shared"],(function(t){var e="3.3.1";class i{static testProp(t){if(!i.docStyle)return t[0];for(let e=0;e{window.removeEventListener("click",i.suppressClickInternal,!0)}),0)}static mousePos(e,i){const r=e.getBoundingClientRect();return new t.Point(i.clientX-r.left-e.clientLeft,i.clientY-r.top-e.clientTop)}static touchPos(e,i){const r=e.getBoundingClientRect(),n=[];for(let s=0;s{i=[],n=0,s=0,a={}},e.addThrottleControl=t=>{const e=s++;return a[e]=t,e},e.removeThrottleControl=t=>{delete a[t],c()},e.getImage=(t,e,s=!0)=>{r.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*");const a={requestParameters:t,supportImageRefresh:s,callback:e,cancelled:!1,completed:!1,cancel:()=>{a.completed||a.cancelled||(a.cancelled=!0,a.innerRequest&&(a.innerRequest.cancel(),n--),c())}};return i.push(a),c(),a};const o=e=>{const{requestParameters:i,supportImageRefresh:r,callback:n}=e;return t.extend(i,{type:"image"}),(!1!==r||t.isWorker()||t.getProtocolAction(i.url)||i.headers&&!Object.keys(i.headers).reduce(((t,e)=>t&&"accept"===e),!0)?t.makeRequest:h)(i,((t,i,r,s)=>{l(e,n,t,i,r,s)}))},l=(e,i,r,s,a,o)=>{r?i(r):s instanceof HTMLImageElement||t.isImageBitmap(s)?i(null,s):s&&((e,i)=>{"function"==typeof createImageBitmap?t.arrayBufferToImageBitmap(e,i):t.arrayBufferToImage(e,i)})(s,((t,e)=>{null!=t?i(t):null!=e&&i(null,e,{cacheControl:a,expires:o})})),e.cancelled||(e.completed=!0,n--,c())},c=()=>{const e=(()=>{const t=Object.keys(a);let e=!1;if(t.length>0)for(const i of t)if(e=a[i](),e)break;return e})()?t.config.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.config.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=n;t0;t++){const e=i.shift();if(e.cancelled){t--;continue}const r=o(e);n++,e.innerRequest=r}},h=(e,i)=>{const r=new Image,n=e.url;let s=!1;const a=e.credentials;return a&&"include"===a?r.crossOrigin="use-credentials":(a&&"same-origin"===a||!t.sameOrigin(n))&&(r.crossOrigin="anonymous"),r.fetchPriority="high",r.onload=()=>{i(null,r),r.onerror=r.onload=null},r.onerror=()=>{s||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.")),r.onerror=r.onload=null},r.src=n,{cancel:()=>{s=!0,r.src=""}}}}(c||(c={})),c.resetRequestQueue(),function(t){t.Glyphs="Glyphs",t.Image="Image",t.Source="Source",t.SpriteImage="SpriteImage",t.SpriteJSON="SpriteJSON",t.Style="Style",t.Tile="Tile",t.Unknown="Unknown"}(h||(h={}));class u{constructor(t){this._transformRequestFn=t}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}normalizeSpriteURL(t,e,i){const r=function(t){const e=t.match(p);if(!e)throw new Error(`Unable to parse URL "${t}"`);return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}(t);return r.path+=`${e}${i}`,function(t){const e=t.params.length?`?${t.params.join("&")}`:"";return`${t.protocol}://${t.authority}${t.path}${e}`}(r)}setTransformRequest(t){this._transformRequestFn=t}}const p=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function d(e){var i=new t.ARRAY_TYPE(3);return i[0]=e[0],i[1]=e[1],i[2]=e[2],i}var f,m=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 t.ARRAY_TYPE(3),t.ARRAY_TYPE!=Float32Array&&(f[0]=0,f[1]=0,f[2]=0);var g=function(t){var e=t[0],i=t[1];return e*e+i*i};function _(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 y(e,i,r,n,s){if(n)return void e(n);if(s!==Object.values(i).length||s!==Object.values(r).length)return;const a={};for(const e in i){a[e]={};const n=t.browser.getImageCanvasContext(r[e]),s=i[e];for(const t in s){const{width:i,height:r,x:o,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:p,content:d}=s[t];a[e][t]={data:null,pixelRatio:h,sdf:c,stretchX:u,stretchY:p,content:d,spriteData:{width:i,height:r,x:o,y:l,context:n}}}}e(null,a)}!function(){var e=new t.ARRAY_TYPE(2);t.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0)}();class x{constructor(t,e,i,r){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,r)}update(e,i,r){const{width:n,height:s}=e,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],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.isImageBitmap(e)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,e):l.texImage2D(l.TEXTURE_2D,0,this.format,n,s,0,this.format,l.UNSIGNED_BYTE,e.data);else{const{x:i,y:a}=r||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.isImageBitmap(e)?l.texSubImage2D(l.TEXTURE_2D,0,i,a,l.RGBA,l.UNSIGNED_BYTE,e):l.texSubImage2D(l.TEXTURE_2D,0,i,a,n,s,l.RGBA,l.UNSIGNED_BYTE,e.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 v(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class b extends t.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,callback:e}of this.requestors)this._notify(t,e);this.requestors=[]}}getImage(e){const i=this.images[e];if(i&&!i.data&&i.spriteData){const e=i.spriteData;i.data=new t.RGBAImage({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.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(e,i){let r=!0;const n=i.data||i.spriteData;return this._validateStretch(i.stretchX,n&&n.width)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "stretchX" value`))),r=!1),this._validateStretch(i.stretchY,n&&n.height)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "stretchY" value`))),r=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" 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]-1);l++,s[l]=o,a[l]=c,a[l+1]=w}for(let o=0,l=0;o{let r=this.entries[t];r||(r=this.entries[t]={glyphs:{},requests:{},ranges:{}});let n=r.glyphs[e];if(void 0!==n)return void i(null,{stack:t,id:e,glyph:n});if(n=this._tinySDF(r,t,e),n)return r.glyphs[e]=n,void i(null,{stack:t,id:e,glyph:n});const s=Math.floor(e/256);if(256*s>65535)return void i(new Error("glyphs > 65535 not supported"));if(r.ranges[s])return void i(null,{stack:t,id:e,glyph:n});if(!this.url)return void i(new Error("glyphsUrl is not set"));let a=r.requests[s];a||(a=r.requests[s]=[],S.loadGlyphRange(t,s,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(r.glyphs[+t]=e[+t]);r.ranges[s]=!0}for(const i of a)i(t,e);delete r.requests[s]}))),a.push(((r,n)=>{r?i(r):n&&i(null,{stack:t,id:e,glyph:n[e]||null})}))}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:r,glyph:n}of e)(t[i]||(t[i]={}))[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics};i(null,t)}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&(t.unicodeBlockLookup["CJK Unified Ideographs"](e)||t.unicodeBlockLookup["Hangul Syllables"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,r){const n=this.localIdeographFontFamily;if(!n)return;if(!this._doesCharSupportLocalGlyph(r))return;let s=e.tinySDF;if(!s){let t="400";/bold/i.test(i)?t="900":/medium/i.test(i)?t="500":/light/i.test(i)&&(t="200"),s=e.tinySDF=new S.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:n,fontWeight:t})}const a=s.draw(String.fromCharCode(r));return{id:r,bitmap:new t.AlphaImage({width:a.width||30,height:a.height||30},a.data),metrics:{width:a.glyphWidth||24,height:a.glyphHeight||24,left:a.glyphLeft||0,top:a.glyphTop-27||-8,advance:a.glyphAdvance||24}}}}S.loadGlyphRange=function(e,i,r,n,s){const a=256*i,o=a+255,l=n.transformRequest(r.replace("{fontstack}",e).replace("{range}",`${a}-${o}`),h.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)s(e);else if(i){const e={};for(const r of t.parseGlyphPbf(i))e[r.id]=r;s(null,e)}}))},S.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),p=new Uint8ClampedArray(u),d={data:p,width:c,height:h,glyphWidth:o,glyphHeight:l,glyphTop:a,glyphLeft:0,glyphAdvance:e};if(0===o||0===l)return d;const{ctx:f,buffer:m,gridInner:g,gridOuter:_}=this;f.clearRect(m,m,o,l),f.fillText(t,m,m+a);const y=f.getImageData(m,m,o,l);_.fill(w,0,u),g.fill(0,0,u);for(let t=0;t0?t*t:0,g[r]=t<0?t*t:0}}T(_,0,0,c,h,c,this.f,this.v,this.z),T(g,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 p=e/i*(r+1);if(a.isDash){const t=r-Math.abs(p);u=Math.sqrt(h*h+t*t)}else u=r-Math.sqrt(h*h+p*p);this.data[n+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(e,i){const r=i?7:0,n=2*r+1;if(this.nextRow+n>this.height)return t.warnOnce("LineAtlas out of space"),null;let s=0;for(let t=0;t{t.send(e,i,r)}),r=r||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(t=!0){this.actors.forEach((t=>{t.remove()})),this.actors=[],t&&this.workerPool.release(this.id)}}function k(e,i,r){const n=function(i,n){if(i)return r(i);if(n){const i=t.pick(t.extend(n,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(i.vectorLayers=n.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),r(null,i)}};return e.url?t.getJSON(i.transformRequest(e.url,h.Source),n):t.browser.frame((()=>n(null,e)))}z.Actor=t.Actor;class D{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(e){return this._ne=e instanceof t.LngLat?new t.LngLat(e.lng,e.lat):t.LngLat.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.LngLat?new t.LngLat(e.lng,e.lat):t.LngLat.convert(e),this}extend(e){const i=this._sw,r=this._ne;let n,s;if(e instanceof t.LngLat)n=e,s=e;else{if(!(e instanceof D))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(D.convert(e)):this.extend(t.LngLat.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(t.LngLat.convert(e)):this;if(n=e._sw,s=e._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 t.LngLat(n.lng,n.lat),this._ne=new t.LngLat(s.lng,s.lat)),this}getCenter(){return new t.LngLat((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 t.LngLat(this.getWest(),this.getNorth())}getSouthEast(){return new t.LngLat(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(e){const{lng:i,lat:r}=t.LngLat.convert(e);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 D?t:t?new D(t):t}static fromLngLat(e,i=0){const r=360*i/40075017,n=r/Math.cos(Math.PI/180*e.lat);return new D(new t.LngLat(e.lng-n,e.lat-r),new t.LngLat(e.lng+n,e.lat+r))}}class L{constructor(t,e,i){this.bounds=D.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(e){const i=Math.pow(2,e.z),r=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),n=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),s=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),a=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=r&&e.x=n&&e.y{this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=k(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new L(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))},this.serialize=()=>t.extend({},this._options),this.id=e,this.dispatcher=r,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(i,["url","scheme","tileSize","promoteId"])),this._options=t.extend({type:"vector"},i),this._collectResourceTiming=i.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(n)}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}loadTile(t,e){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(i,h.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};function n(i,r){return delete t.request,t.aborted?e(null):i&&404!==i.status?e(i):(r&&r.resourceTiming&&(t.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&t.setExpiryData(r),t.loadVectorData(r,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}r.request.collectResourceTiming=this._collectResourceTiming,t.actor&&"expired"!==t.state?"loading"===t.state?t.reloadCallback=e:t.request=t.actor.send("reloadTile",r,n.bind(this)):(t.actor=this.dispatcher.getActor(),t.request=t.actor.send("loadTile",r,n.bind(this)))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class R extends t.Evented{constructor(e,i,r,n){super(),this.id=e,this.dispatcher=r,this.setEventedParent(n),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},i),t.extend(this,t.pick(i,["url","scheme","tileSize"]))}load(){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=k(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new L(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t,e){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.request=c.getImage(this.map._requestManager.transformRequest(i,h.Tile),((i,r,n)=>{if(delete t.request,t.aborted)t.state="unloaded",e(null);else if(i)t.state="errored",e(i);else if(r){this.map._refreshExpiredTiles&&n&&t.setExpiryData(n);const i=this.map.painter.context,s=i.gl;t.texture=this.map.painter.getTileTexture(r.width),t.texture?t.texture.update(r,{useMipmap:!0}):(t.texture=new x(i,r,s.RGBA,{useMipmap:!0}),t.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),i.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax)),t.state="loaded",e(null)}}),this.map._refreshExpiredTiles)}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e()}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()}hasTransition(){return!1}}class F extends R{constructor(e,i,r,n){super(e,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function n(t,r){t&&(e.state="errored",i(t)),r&&(e.dem=r,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded",i(null))}e.request=c.getImage(this.map._requestManager.transformRequest(r,h.Tile),function(r,s){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(s){this.map._refreshExpiredTiles&&e.setExpiryData(s),delete s.cacheControl,delete s.expires;const i=t.isImageBitmap(s)&&(null==C&&(C="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),C)?s:t.browser.getImageData(s,1),r={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",r,n.bind(this)))}}.bind(this),this.map._refreshExpiredTiles),e.neighboringTiles=this._getNeighboringTiles(e.tileID)}_getNeighboringTiles(e){const i=e.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,s=0===i.x?e.wrap-1:e.wrap,a=(i.x+1+r)%r,o=i.x+1===r?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,o,i.z,a,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,o,i.z,a,i.y-1).key]={backfilled:!1}),i.y+1{this._updateWorkerData()},this.serialize=()=>t.extend({},this._options,{type:this.type,data:this._data}),this.id=e,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=r.getActor(),this.setEventedParent(n),this._data=i.data,this._options=t.extend({},i),this._collectResourceTiming=i.collectResourceTiming,void 0!==i.maxzoom&&(this.maxzoom=i.maxzoom),i.type&&(this.type=i.type),i.attribution&&(this.attribution=i.attribution),this.promoteId=i.promoteId;const s=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:i.cluster||!1,geojsonVtOptions:{buffer:(void 0!==i.buffer?i.buffer:128)*s,tolerance:(void 0!==i.tolerance?i.tolerance:.375)*s,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:i.lineMetrics||!1,generateId:i.generateId||!1},superclusterOptions:{maxZoom:void 0!==i.clusterMaxZoom?i.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,i.clusterMinPoints||2),extent:t.EXTENT,radius:(i.clusterRadius||50)*s,log:!1,generateId:i.generateId||!1},clusterProperties:i.clusterProperties,filter:i.filter},i.workerOptions),"string"==typeof this.promoteId&&(this.workerOptions.promoteId=this.promoteId)}onAdd(t){this.map=t,this.load()}setData(t){return this._data=t,this._updateWorkerData(),this}updateData(t){return this._updateWorkerData(t),this}setClusterOptions(t){return this.workerOptions.cluster=t.cluster,t&&(void 0!==t.clusterRadius&&(this.workerOptions.superclusterOptions.radius=t.clusterRadius),void 0!==t.clusterMaxZoom&&(this.workerOptions.superclusterOptions.maxZoom=t.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this}getClusterChildren(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this}getClusterLeaves(t,e,i,r){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:i},r),this}_updateWorkerData(e){const i=t.extend({},this.workerOptions);e?i.dataDiff=e:"string"==typeof this._data?(i.request=this.map._requestManager.transformRequest(t.browser.resolveURL(this._data),h.Source),i.request.collectResourceTiming=this._collectResourceTiming):i.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new t.Event("dataloading",{dataType:"source"})),this.actor.send(`${this.type}.loadData`,i,((e,i)=>{if(this._pendingLoads--,this._removed||i&&i.abandoned)return void this.fire(new t.Event("dataabort",{dataType:"source"}));let r=null;if(i&&i.resourceTiming&&i.resourceTiming[this.id]&&(r=i.resourceTiming[this.id].slice(0)),e)return void this.fire(new t.ErrorEvent(e));const n={dataType:"source"};this._collectResourceTiming&&r&&r.length>0&&t.extend(n,{resourceTiming:r}),this.fire(new t.Event("data",{...n,sourceDataType:"metadata"})),this.fire(new t.Event("data",{...n,sourceDataType:"content"}))}))}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,r,((r,n)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):r?e(r):(t.loadVectorData(n,this.map.painter,"reloadTile"===i),e(null)))))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0}unloadTile(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})}hasTransition(){return!1}}var U=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class V extends t.Evented{constructor(e,i,r,n){super(),this.load=(e,i)=>{this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=c.getImage(this.map._requestManager.transformRequest(this.url,h.Image),((r,n)=>{this._request=null,this._loaded=!0,r?this.fire(new t.ErrorEvent(r)):n&&(this.image=n,e&&(this.coordinates=e),i&&i(),this._finishLoading())}))},this.prepare=()=>{if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,U.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new x(e,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 t.Event("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))},this.serialize=()=>({type:"image",url:this.options.url,coordinates:this.coordinates}),this.id=e,this.dispatcher=r,this.coordinates=i.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=i}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.cancel(),this._request=null)}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,r=1/0,n=-1/0,s=-1/0;for(const t of e)i=Math.min(i,t.x),r=Math.min(r,t.y),n=Math.max(n,t.x),s=Math.max(s,t.y);const 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 t.CanonicalTileID(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 t.RasterBoundsArray,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(r[2].x,r[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))}hasTransition(){return!1}}class N extends V{constructor(e,i,r,n){super(e,i,r,n),this.load=()=>{this._loaded=!1;const e=this.options;this.urls=[];for(const t of e.urls)this.urls.push(this.map._requestManager.transformRequest(t,h.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))},this.prepare=()=>{if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,U.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new x(e,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 t.Event("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))},this.serialize=()=>({type:"video",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type="video",this.options=i}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}hasTransition(){return this.video&&!this.video.paused}}class $ extends V{constructor(e,i,r,n){super(e,i,r,n),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},this.prepare=()=>{let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,r=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,U.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new x(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 t.Event("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))},this.serialize=()=>({type:"canvas",coordinates:this.coordinates}),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}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 q={},Z=t=>{switch(t){case"geojson":return O;case"image":return V;case"raster":return R;case"raster-dem":return F;case"vector":return B;case"video":return N;case"canvas":return $}return q[t]};function j(e,i){const r=t.create();return t.translate(r,r,[1,1,0]),t.scale(r,r,[.5*e.width,.5*e.height,1]),t.multiply(r,r,e.calculatePosMatrix(i.toUnwrapped()))}function G(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(X);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 X(t,e){const i=t.tileID,r=e.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}class W{constructor(e,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.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}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new x(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new x(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(e,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=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,r=void 0===e?0:this.data[i].indexOf(e),n=this.data[i][r];return this.data[i].splice(r,1),n.timeout&&clearTimeout(n.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(n.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const r of this.data[i])t(r.value)||e.push(r);for(const t of e)this.remove(t.value.tileID,t)}}class K{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,i,r){const n=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][n]=this.stateChanges[e][n]||{},t.extend(this.stateChanges[e][n],r),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==n&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][n]){this.deletedStates[e][n]={};for(const t in this.state[e][n])r[t]||(this.deletedStates[e][n][t]=null)}else for(const t in r)this.deletedStates[e]&&this.deletedStates[e][n]&&null===this.deletedStates[e][n][t]&&delete this.deletedStates[e][n][t]}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const r=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][r]&&(this.deletedStates[t][r]=this.deletedStates[t][r]||{},this.deletedStates[t][r][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][r])for(i in this.deletedStates[t][r]={},this.stateChanges[t][r])this.deletedStates[t][r][i]=null;else this.deletedStates[t][r]=null;else this.deletedStates[t]=null}getState(e,i){const r=String(i),n=t.extend({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return{};for(const e in t)delete n[e]}return n}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(e,i){const r={};for(const e in this.stateChanges){this.state[e]=this.state[e]||{};const i={};for(const r in this.stateChanges[e])this.state[e][r]||(this.state[e][r]={}),t.extend(this.state[e][r],this.stateChanges[e][r]),i[r]=this.state[e][r];r[e]=i}for(const e in this.deletedStates){this.state[e]=this.state[e]||{};const i={};if(null===this.deletedStates[e])for(const t in this.state[e])i[t]={},this.state[e][t]={};else for(const t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(const i of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][i];i[t]=this.state[e][t]}r[e]=r[e]||{},t.extend(r[e],i)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const t in e)e[t].setFeatureState(r,i)}}class Y extends t.Evented{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)})),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((t,e,i,r)=>{const n=new(Z(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 H(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new K,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,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(J).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const r=e.tileID,n=i.tileID,s=new t.Point(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),a=new t.Point(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(J).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,e){const i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)))}_tileLoaded(e,i,r,n){if(n)return e.state="errored",void(404!==n.status?this._source.fire(new t.ErrorEvent(n,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.browser.now(),"expired"===r&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(t){const e=this.getRenderableIds();for(let r=0;r1||(Math.abs(i)>1&&(1===Math.abs(i+n)?i+=n:1===Math.abs(i-n)&&(i-=n)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,r),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,r){for(const n in this._tiles){let s=this._tiles[n];if(r[n]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>i)continue;let 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}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(e){const i=Math.ceil(e.width/this._source.tileSize)+1,r=Math.ceil(e.height/this._source.tileSize)+1,n=Math.floor(i*r*(null===this._maxTileCacheZoomLevels?t.config.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])}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(r=r.filter((t=>this._source.hasTile(t))))):r=[];const n=e.coveringZoomLevel(this._source),s=Math.max(n-Y.maxOverzooming,this._source.minzoom),a=Math.max(n+Y.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 t.Event("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const l=this._updateRetainedTiles(r,n);if(Q(this._source.type)){const e={},o={},c=Object.keys(l),h=t.browser.now();for(const t of c){const i=l[t],r=this._tiles[t];if(!r||0!==r.fadeEndTime&&r.fadeEndTime<=h)continue;const n=this.findLoadedParent(i,s);n&&(this._addTile(n.tileID),e[n.tileID.key]=n.tileID),o[t]=i}this._retainLoadedChildren(o,n,a,l);for(const t in e)l[t]||(this._coveredTiles[t]=!0,l[t]=e[t]);if(i){const t={},e={};for(const i of r)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const r=e[i].children(this._source.maxzoom);this._tiles[r[0].key]&&this._tiles[r[1].key]&&this._tiles[r[2].key]&&this._tiles[r[3].key]&&(t[r[0].key]=l[r[0].key]=r[0],t[r[1].key]=l[r[1].key]=r[1],t[r[2].key]=l[r[2].key]=r[2],t[r[3].key]=l[r[3].key]=r[3],delete e[i])}for(const i in e){const r=this.findLoadedParent(e[i],this._source.minzoom);if(r){t[r.tileID.key]=l[r.tileID.key]=r.tileID;for(const e in t)t[e].isChildOf(r.tileID)&&delete t[e]}}for(const e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}for(const t in l)this._tiles[t].clearFadeHold();const c=t.keysDifference(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()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){const i={},r={},n=Math.max(e-Y.maxOverzooming,this._source.minzoom),s=Math.max(e+Y.maxUnderzooming,this._source.minzoom),a={};for(const r of t){const t=this._addTile(r);i[r.key]=r,t.hasData()||ethis._source.maxzoom){const t=s.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else{const t=s.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let a=t.wasRequested();for(let e=s.overscaledZ-1;e>=n;--e){const n=s.scaledTo(e);if(r[n.key])break;if(r[n.key]=!0,t=this.getTile(n),!t&&a&&(t=this._addTile(n)),t){const e=t.hasData();if((a||e)&&(i[n.key]=n),a=t.wasRequested(),e)break}}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,r=this._tiles[t].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}e.push(r.key);const t=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;r=t}for(const t of e)this._loadedParentTiles[t]=i}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));const r=i;return i||(i=new W(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,r||this._source.fire(new t.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(e,i,r){const n=[],s=this.transform;if(!s)return n;const a=r?s.getCameraQueryGeometry(e):e,o=e.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,p=-1/0,d=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),p=Math.max(p,t.x),d=Math.max(d,t.y);for(let e=0;e=0&&g[1].y+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(Q(this._source.type)){const e=t.browser.now();for(const t in this._tiles)if(this._tiles[t].fadeEndTime>=e)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 J(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 Q(t){return"raster"===t||"image"===t||"video"===t}Y.maxOverzooming=10,Y.maxUnderzooming=3;const tt="mapboxgl_preloaded_worker_pool";class et{constructor(){this.active={}}acquire(e){if(!this.workers)for(this.workers=[];this.workers.length{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[tt]}numActive(){return Object.keys(this.active).length}}const it=Math.floor(t.browser.hardwareConcurrency/2);let rt;function nt(){return rt||(rt=new et),rt}et.workerCount=t.isSafari(globalThis)?Math.max(Math.min(it,3),1):1;class st{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 at(t,e){let i=!0;return"always"===t||"never"!==t&&"never"!==e||(i=!1),i}class ot{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,p=this.boxKeys[a];if(t<=n[u+2]&&e<=n[u+3]&&i>=n[u+0]&&r>=n[u+1]&&(!o||o(p))&&(!c||!at(h,p.overlapMode))&&(s.push({key:p,x1:n[u],y1:n[u+1],x2:n[u+2],y2:n[u+3]}),c))return!0}}const p=this.circleCells[n];if(null!==p){const n=this.circles;for(const a of p)if(!l.circle[a]){l.circle[a]=!0;const u=3*a,p=this.circleKeys[a];if(this._circleAndRectCollide(n[u],n[u+1],n[u+2],t,e,i,r)&&(!o||o(p))&&(!c||!at(h,p.overlapMode))){const t=n[u],e=n[u+1],i=n[u+2];if(s.push({key:p,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return!0}}}return!1}_queryCellCircle(t,e,i,r,n,s,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))&&!at(h,r.overlapMode))return s.push(!0),!0}}const p=this.circleCells[n];if(null!==p){const t=this.circles;for(const e of p)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,r=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!o||o(r))&&!at(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 p=l;p<=h;p++)for(let l=c;l<=u;l++)if(n.call(this,t,e,i,r,this.xCellCount*l+p,s,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,p=h-c;return u*u+p*p<=i*i}}function lt(e,i,r,n,s){const a=t.create();return i?(t.scale(a,a,[1/s,1/s,1]),r||t.rotateZ(a,a,n.angle)):t.multiply(a,n.labelPlaneMatrix,e),a}function ct(e,i,r,n,s){if(i){const i=t.clone(e);return t.scale(i,i,[s,s,1]),r||t.rotateZ(i,i,-n.angle),i}return n.glCoordMatrix}function ht(e,i,r){let n;r?(n=[e.x,e.y,r(e.x,e.y),1],t.transformMat4(n,n,i)):(n=[e.x,e.y,0,1],Et(n,n,i));const s=n[3];return{point:new t.Point(n[0]/s,n[1]/s),signedDistanceFromCamera:s}}function ut(t,e){return.5+t/e*.5}function pt(t,e){const i=t[0]/t[3],r=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&r>=-e[1]&&r<=e[1]}function dt(e,i,r,n,s,a,o,l,c,h){const u=n?e.textSizeData:e.iconSizeData,p=t.evaluateSizeForZoom(u,r.transform.zoom),d=[256/r.width*2+1,256/r.height*2+1],f=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();const m=e.lineVertexArray,g=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,_=r.transform.width/r.transform.height;let y=!1;for(let n=0;nMath.abs(r.x-i.x)*n?{useVertical:!0}:(e===t.WritingMode.vertical?i.yr.x)?{needsFlipping:!0}:null}function gt(e,i,r,n,s,a,o,l,c,h,u,p,d,f,m,g){const _=i/24,y=e.lineOffsetX*_,x=e.lineOffsetY*_;let v;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,s=e.lineStartIndex+e.lineLength,h=ft(_,l,y,x,r,u,p,e,c,a,d,m,g);if(!h)return{notEnoughRoom:!0};const b=ht(h.first.point,o,g).point,w=ht(h.last.point,o,g).point;if(n&&!r){const t=mt(e.writingMode,b,w,f);if(t)return t}v=[h.first];for(let n=e.glyphStartIndex+1;n0?a.point:_t(p,n,i,1,s,g),l=mt(e.writingMode,i,o,f);if(l)return l}const i=bt(_*l.getoffsetX(e.glyphStartIndex),y,x,r,u,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,a,d,m,g);if(!i)return{notEnoughRoom:!0};v=[i]}for(const e of v)t.addDynamicAttributes(h,e.point,e.angle);return{}}function _t(t,e,i,r,n,s){const a=ht(t.add(t.sub(e)._unit()),n,s).point,o=i.sub(a);return i.add(o._mult(r/o.mag()))}function yt(e,i){const{projectionCache:r,lineVertexArray:n,labelPlaneMatrix:s,tileAnchorPoint:a,distanceFromAnchor:o,getElevation:l,previousVertex:c,direction:h,absOffsetX:u}=i;if(r.projections[e])return r.projections[e];const p=new t.Point(n.getx(e),n.gety(e)),d=ht(p,s,l);if(d.signedDistanceFromCamera>0)return r.projections[e]=d.point,d.point;const f=e-h;return _t(0===o?a:new t.Point(n.getx(f),n.gety(f)),p,c,u-o+1,s,l)}function xt(t,e,i){return t._unit()._perp()._mult(e*i)}function vt(e,i,r,n,s,a,o,l){const{projectionCache:c,direction:h}=l;if(c.offsets[e])return c.offsets[e];const u=r.add(i);if(e+h=s)return c.offsets[e]=u,u;const p=yt(e+h,l),d=xt(p.sub(r),o,h),f=r.add(d),m=p.add(d);return c.offsets[e]=t.findLineIntersection(a,u,f,m)||u,c.offsets[e]}function bt(t,e,i,r,n,s,a,o,l,c,h,u,p,d){const f=r?t-e:t+e;let m=f>0?1:-1,g=0;r&&(m*=-1,g=Math.PI),m<0&&(g+=Math.PI);let _,y,x=m>0?o+a:o+a+1,v=n,b=n,w=0,T=0;const E=Math.abs(f),S=[];let I;for(;w+T<=E;){if(x+=m,x=l)return null;w+=T,b=v,y=_;const t={projectionCache:u,lineVertexArray:c,labelPlaneMatrix:h,tileAnchorPoint:s,distanceFromAnchor:w,getElevation:d,previousVertex:b,direction:m,absOffsetX:E};if(v=yt(x,t),0===i)S.push(b),I=v.sub(b);else{let e;const r=v.sub(b);e=0===r.mag()?xt(yt(x+m,t).sub(v),i,m):xt(r,i,m),y||(y=b.add(e)),_=vt(x,e,v,o,l,y,i,t),S.push(y),I=_.sub(y)}T=I.mag()}const A=I._mult((E-w)/T)._add(y||b),C=g+Math.atan2(v.y-b.y,v.x-b.x);return S.push(A),{point:A,angle:p?C:0,path:S}}const wt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Tt(t,e){for(let i=0;i=1;t--)h.push(a.path[t]);for(let t=1;tht(t,l,f)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let _=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=r.x&&i.x<=n.x&&e.y>=r.y&&i.y<=n.y?[h]:i.xn.x||i.yn.y?[]:t.clipLine([h],r.x,r.y,n.x,n.y)}for(const t of _){s.reset(t,.25*i);let r=0;r=s.length<=.5*i?1:Math.ceil(s.paddedLength/g)+1;for(let t=0;t=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(t,e,i,r){return i>=0&&t=0&&et.collisionGroupID===e}}return this.collisionGroups[t]}}function Lt(e,i,r,n,s){const{horizontalAlign:a,verticalAlign:o}=t.getAnchorAlignment(e);return new t.Point(-(a-.5)*i+n[0]*s,-(o-.5)*r+n[1]*s)}function Bt(e,i,r,n,s,a){const{x1:o,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:p}=e,d=new t.Point(i,r);return n&&d._rotate(s?a:-a),{x1:o+d.x,y1:c+d.y,x2:l+d.x,y2:h+d.y,anchorPointX:u,anchorPointY:p}}class Rt{constructor(t,e,i,r,n){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new It(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new Dt(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(e,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=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),p="map"===l.get("text-pitch-alignment"),d="map"===l.get("text-rotation-alignment"),f=At(r,1,this.transform.zoom),m=lt(u,p,d,this.transform,f);let g=null;if(p){const e=ct(u,p,d,this.transform,f);g=t.multiply([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[s.bucketInstanceId]=new kt(s.bucketInstanceId,a,s.sourceLayerIndex,s.index,r.tileID);const _={bucket:s,layout:l,posMatrix:u,textLabelPlaneMatrix:m,labelToScreenMatrix:g,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:o,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(n)for(const t of s.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=t;e.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:_})}attemptAnchorPlacement(e,i,r,n,s,a,o,l,c,h,u,p,d,f,m,g){const _=t.TextAnchorEnum[e.textAnchor],y=[e.textOffset0,e.textOffset1],x=Lt(_,r,n,y,s),v=this.collisionIndex.placeCollisionBox(Bt(i,x.x,x.y,a,o,this.transform.angle),u,l,c,h.predicate,g);if((!m||0!==this.collisionIndex.placeCollisionBox(Bt(m,x.x,x.y,a,o,this.transform.angle),u,l,c,h.predicate,g).box.length)&&v.box.length>0){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:y,width:r,height:n,anchor:_,textBoxScale:s,prevAnchor:t},this.markUsedJustification(d,_,p,f),d.allowVerticalPlacement&&(this.markUsedOrientation(d,f,p),this.placedOrientations[p.crossTileID]=f),{shift:x,placedGlyphBoxes:v}}}placeLayerBucketPart(e,i,r){const{bucket:n,layout:s,posMatrix:a,textLabelPlaneMatrix:o,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:p,collisionGroup:d}=e.parameters,f=s.get("text-optional"),m=s.get("icon-optional"),g=t.getOverlapMode(s,"text-overlap","text-allow-overlap"),_="always"===g,y=t.getOverlapMode(s,"icon-overlap","icon-allow-overlap"),x="always"===y,v="map"===s.get("text-rotation-alignment"),b="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),E=_&&(x||!n.hasIconData()||m),S=x&&(_||!n.hasTextData()||f);!n.collisionArrays&&u&&n.deserializeCollisionBoxes(u);const I=this.retainedQueryData[n.bucketInstanceId].tileID,A=this.terrain?(t,e)=>this.terrain.getElevation(I,t,e):null,C=(e,u)=>{var x,T;if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Pt(!1,!1,!1));let I=!1,C=!1,M=!0,P=null,z={box:null,offscreen:null},k={box:null,offscreen:null},D=null,L=null,B=null,R=0,F=0,O=0;u.textFeatureIndex?R=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(R=e.featureIndex),u.verticalTextFeatureIndex&&(F=u.verticalTextFeatureIndex);const U=u.textBox;if(U){const i=i=>{let r=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(n,r,e))}return r},r=(i,r)=>{if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of n.writingModes)if(e===t.WritingMode.vertical?(z=r(),k=z):z=i(),z&&z.box&&z.box.length)break}else z=i()},s=e.textAnchorOffsetStartIndex,o=e.textAnchorOffsetEndIndex;if(o===s){const s=(t,i)=>{const r=this.collisionIndex.placeCollisionBox(t,g,c,a,d.predicate,A);return r&&r.box&&r.box.length&&(this.markUsedOrientation(n,i,e),this.placedOrientations[e.crossTileID]=i),r};r((()=>s(U,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?s(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(z&&z.box&&z.box.length)}else{let l=t.TextAnchorEnum[null===(T=null===(x=this.prevPlacement)||void 0===x?void 0:x.variableOffsets[e.crossTileID])||void 0===T?void 0:T.anchor];const h=(t,i,r)=>{const h=t.x2-t.x1,u=t.y2-t.y1,p=e.textBoxScale,f=w&&"never"===y?i:null;let m={box:[],offscreen:!1},_="never"===g?1:2,x="never";l&&_++;for(let i=0;i<_;i++){for(let i=s;ih(U,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&!(z&&z.box&&z.box.length)&&e.numVerticalGlyphVertices>0&&i?h(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),z&&(I=z.box,M=z.offscreen);const p=i(z&&z.box);if(!I&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(n,t.anchor,e,p))}}}if(D=z,I=D&&D.box&&D.box.length>0,M=D&&D.offscreen,e.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(n.textSizeData,p,i),h=s.get("text-padding");L=this.collisionIndex.placeCollisionCircles(g,i,n.lineVertexArray,n.glyphOffsetArray,c,a,o,l,r,b,d.predicate,e.collisionCircleDiameter,h,A),L.circles.length&&L.collisionDetected&&!r&&t.warnOnce("Collisions detected, but collision boxes are not shown"),I=_||L.circles.length>0&&!L.collisionDetected,M=M&&L.offscreen}if(u.iconFeatureIndex&&(O=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&P?Bt(t,P.x,P.y,v,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,y,c,a,d.predicate,A)};k&&k.box&&k.box.length&&u.verticalIconBox?(B=t(u.verticalIconBox),C=B.box.length>0):(B=t(u.iconBox),C=B.box.length>0),M=M&&B.offscreen}const V=f||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,N=m||0===e.numIconVertices;if(V||N?N?V||(C=C&&I):I=C&&I:C=I=C&&I,I&&D&&D.box&&this.collisionIndex.insertCollisionBox(D.box,g,s.get("text-ignore-placement"),n.bucketInstanceId,k&&k.box&&F?F:R,d.ID),C&&B&&this.collisionIndex.insertCollisionBox(B.box,y,s.get("icon-ignore-placement"),n.bucketInstanceId,O,d.ID),L&&(I&&this.collisionIndex.insertCollisionCircles(L.circles,g,s.get("text-ignore-placement"),n.bucketInstanceId,R,d.ID),r)){const t=n.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new zt);for(let t=0;t=0;--e){const i=t[e];C(n.symbolInstances.get(i),n.collisionArrays[i])}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=s>=0&&t!==s?0:r.crossTileID)}markUsedOrientation(e,i,r){const n=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,s=i===t.WritingMode.vertical?i:0,a=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(const t of a)e.text.placedSymbolArray.get(t).placedOrientation=n;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=s)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const r=e?e.symbolFadeChange(t):1,n=e?e.opacities:{},s=e?e.variableOffsets:{},a=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],s=n[t];s?(this.opacities[t]=new Mt(s,r,e.text,e.icon),i=i||e.text!==s.text.placed||e.icon!==s.icon.placed):(this.opacities[t]=new Mt(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 Mt(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,i,r.collisionBoxArray)}}updateBucketOpacities(e,i,r){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const n=e.layers[0],s=n.layout,a=new Mt(null,0,!1,!1,!0),o=s.get("text-allow-overlap"),l=s.get("icon-allow-overlap"),c=n._unevaluatedLayout.hasValue("text-variable-anchor")||n._unevaluatedLayout.hasValue("text-variable-anchor-offset"),h="map"===s.get("text-rotation-alignment"),u="map"===s.get("text-pitch-alignment"),p="none"!==s.get("icon-text-fit"),d=new Mt(null,0,o&&(l||!e.hasIconData()||s.get("icon-optional")),l&&(o||!e.hasTextData()||s.get("text-optional")),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);const f=(t,e,i)=>{for(let r=0;r0,_=this.placedOrientations[n.crossTileID],y=_===t.WritingMode.vertical,x=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(s>0||o>0){const t=jt(m.text);f(e.text,s,y?Gt:t),f(e.text,o,x?Gt:t);const i=m.text.isHidden();[n.rightJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||y?1:0)})),n.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).hidden=i||x?1:0);const r=this.variableOffsets[n.crossTileID];r&&this.markUsedJustification(e,r.anchor,n,_);const a=this.placedOrientations[n.crossTileID];a&&(this.markUsedJustification(e,"left",n,a),this.markUsedOrientation(e,a,n))}if(g){const t=jt(m.icon),i=!(p&&n.verticalPlacedIconSymbolIndex&&y);n.placedIconSymbolIndex>=0&&(f(e.icon,n.numIconVertices,i?t:Gt),e.icon.placedSymbolArray.get(n.placedIconSymbolIndex).hidden=m.icon.isHidden()),n.verticalPlacedIconSymbolIndex>=0&&(f(e.icon,n.numVerticalIconVertices,i?Gt:t),e.icon.placedSymbolArray.get(n.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[r];if(i){let r=new t.Point(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(c){const e=this.variableOffsets[l];e?(r=Lt(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),h&&r._rotate(u?this.transform.angle:-this.transform.angle)):t=!1}i.textBox&&Ft(e.textCollisionBox.collisionVertexArray,m.text.placed,!t||y,r.x,r.y),i.verticalTextBox&&Ft(e.textCollisionBox.collisionVertexArray,m.text.placed,!t||x,r.x,r.y)}const n=Boolean(!x&&i.verticalIconBox);i.iconBox&&Ft(e.iconCollisionBox.collisionVertexArray,m.icon.placed,n,p?r.x:0,p?r.y:0),i.verticalIconBox&&Ft(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!n,p?r.x:0,p?r.y:0)}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Ft(t,e,i,r,n){t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0)}const Ot=Math.pow(2,25),Ut=Math.pow(2,24),Vt=Math.pow(2,17),Nt=Math.pow(2,16),$t=Math.pow(2,9),qt=Math.pow(2,8),Zt=Math.pow(2,1);function jt(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*Ot+e*Ut+i*Vt+e*Nt+i*$t+e*qt+i*Zt+e}const Gt=0;class Xt{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&&t.browser.now()-n>2;for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],n=this.placement.collisionIndex.transform.zoom;if("symbol"===t.type&&(!t.minzoom||t.minzoom<=n)&&(!t.maxzoom||t.maxzoom>n)){if(this._inProgressLayer||(this._inProgressLayer=new Xt(t)),this._inProgressLayer.continuePlacement(r[t.source],this.placement,this._showCollisionBoxes,t,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const Ht=512/t.EXTENT/2;class Kt{constructor(e,i,r){this.tileID=e,this.bucketInstanceId=r,this._symbolsByKey={};const n=new Map;for(let t=0;t({x:Math.floor(t.anchorX*Ht),y:Math.floor(t.anchorY*Ht)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(r.positions.length>128){const e=new t.KDBush(r.positions.length,16,Uint16Array);for(const{x:t,y:i}of r.positions)e.add(t,i);e.finish(),delete r.positions,r.index=e}this._symbolsByKey[e]=r}}getScaledCoordinates(e,i){const{x:r,y:n,z:s}=this.tileID.canonical,{x:a,y:o,z:l}=i.canonical,c=Ht/Math.pow(2,l-s),h=(o*t.EXTENT+e.anchorY)*c,u=n*t.EXTENT*Ht;return{x:Math.floor((a*t.EXTENT+e.anchorX)*c-r*t.EXTENT*Ht),y:Math.floor(h-u)}}findMatches(t,e,i){const r=this.tileID.canonical.zt))}}class Yt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Jt{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 te=(e,i)=>t.emitValidationErrors(e,i&&i.filter((t=>"source.canvas"!==t.identifier))),ee=t.pick(t.operations,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setGlyphs","setSprite"]),ie=t.pick(t.operations,["setCenter","setZoom","setBearing","setPitch"]),re=t.emptyStyle();class ne extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new z(nt(),this,e._getMapId()),this.imageManager=new b,this.imageManager.setEventedParent(this),this.glyphManager=new S(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new P(256,512),this.crossTileSymbolIndex=new Qt,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());const r=this;this._rtlTextPluginCallback=ne.registerForPluginStateChange((e=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in r.sourceCaches){const e=r.sourceCaches[t].getSource().type;"vector"!==e&&"geojson"!==e||r.sourceCaches[t].reload()}}))})),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e)}}))}loadURL(e,i={},r){this.fire(new t.Event("dataloading",{dataType:"style"})),i.validate="boolean"!=typeof i.validate||i.validate;const n=this.map._requestManager.transformRequest(e,h.Style);this._request=t.getJSON(n,((e,n)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):n&&this._load(n,i,r)}))}loadJSON(e,i={},r){this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.browser.frame((()=>{this._request=null,i.validate=!1!==i.validate,this._load(e,i,r)}))}loadEmpty(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(re,{validate:!1})}_load(e,i,r){var n;const s=i.transformStyle?i.transformStyle(r,e):e;if(!i.validate||!te(this,t.validateStyle(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 M(this.stylesheet.light),this.map.setTerrain(null!==(n=this.stylesheet.terrain)&&void 0!==n?n:null),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}}_createLayers(){const e=t.derefLayers(this.stylesheet.layers);this.dispatcher.broadcast("setLayers",e),this._order=e.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of e){const e=t.createStyleLayer(i);e.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=e}}_loadSprite(e,i=!1,r=undefined){this.imageManager.setLoaded(!1),this._spriteRequest=function(e,i,r,n){const s=_(e),a=s.length,o=r>1?"@2x":"",l={},u={},p={};for(const{id:e,url:r}of s){const s=i.transformRequest(i.normalizeSpriteURL(r,o,".json"),h.SpriteJSON),d=`${e}_${s.url}`;l[d]=t.getJSON(s,((t,i)=>{delete l[d],u[e]=i,y(n,u,p,t,a)}));const f=i.transformRequest(i.normalizeSpriteURL(r,o,".png"),h.SpriteImage),m=`${e}_${f.url}`;l[m]=c.getImage(f,((t,i)=>{delete l[m],p[e]=i,y(n,u,p,t,a)}))}return{cancel(){for(const t of Object.values(l))t.cancel()}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,n)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(n)for(const t in n){this._spritesImagesIds[t]=[];const e=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in n))):[];for(const t of e)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const e in n[t]){const r="default"===t?e:`${t}:${e}`;this._spritesImagesIds[t].push(r),r in this.imageManager.images?this.imageManager.updateImage(r,n[t][e],!1):this.imageManager.addImage(r,n[t][e]),i&&(this._changedImages[r]=!0)}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"})),r&&r(e)}))}_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("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const r=e.sourceLayer;if(!r)return;const n=i.getSource();("geojson"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(new t.ErrorEvent(new Error(`Source layer "${r}" does not exist on source "${n.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_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;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];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 t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}const r={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];r[t]=e.used,e.used=!1}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0)}for(const e in r){const i=this.sourceCaches[e];r[e]!==i.used&&i.fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:e}))}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeByIds(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,i={}){this._checkLoaded();const r=this.serialize();if(e=i.transformStyle?i.transformStyle(r,e):e,te(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=t.derefLayers(e.layers);const n=t.diffStyles(r,e).filter((t=>!(t.command in ie)));if(0===n.length)return!1;const s=n.filter((t=>!(t.command in ee)));if(s.length>0)throw new Error(`Unimplemented: ${s.map((t=>t.command)).join(", ")}.`);for(const t of n)"setTransition"!==t.command&&this[t.command].apply(this,t.args);return this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,r={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,`sources.${e}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=this.sourceCaches[e]=new Y(e,i,this.dispatcher);n.style=this,n.setEventedParent(this,(()=>({isSourceLoaded:n.loaded(),source:n.serialize(),sourceId:e}))),n.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(const i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while layer "${i}" is using it.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){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(e,i,r={}){this._checkLoaded();const n=e.id;if(this.getLayer(n))return void this.fire(new t.ErrorEvent(new Error(`Layer "${n}" already exists on this map.`)));let s;if("custom"===e.type){if(te(this,t.validateCustomStyleLayer(e)))return;s=t.createStyleLayer(e)}else{if("source"in e&&"object"==typeof e.source&&(this.addSource(n,e.source),e=t.clone$1(e),e=t.extend(e,{source:n})),this._validate(t.validateStyle.layer,`layers.${n}`,e,{arrayIndex:-1},r))return;s=t.createStyleLayer(e),this._validateLayer(s),s.setEventedParent(this,{layer:{id:n}})}const a=i?this._order.indexOf(i):this._order.length;if(i&&-1===a)this.fire(new t.ErrorEvent(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(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const r=this._order.indexOf(e);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new t.ErrorEvent(new Error(`Cannot move layer "${e}" before non-existing layer "${i}".`))):(this._order.splice(n,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer "${e}".`)));i.setEventedParent(null);const r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map)}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,r){this._checkLoaded();const n=this.getLayer(e);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,i,r={}){this._checkLoaded();const n=this.getLayer(e);if(n){if(!t.deepEqual(n.filter,i))return null==i?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(t.validateStyle.filter,`layers.${n.id}.filter`,i,null,r)||(n.filter=t.clone$1(i),this._updateLayer(n)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,r,n={}){this._checkLoaded();const s=this.getLayer(e);s?t.deepEqual(s.getLayoutProperty(i),r)||(s.setLayoutProperty(i,r,n),this._updateLayer(s)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,i){const r=this.getLayer(e);if(r)return r.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,i,r,n={}){this._checkLoaded();const s=this.getLayer(e);s?t.deepEqual(s.getPaintProperty(i),r)||(s.setPaintProperty(i,r,n)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const r=e.source,n=e.sourceLayer,s=this.sourceCaches[r];if(void 0===s)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const a=s.getSource().type;"geojson"===a&&n?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==a||n?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),s.setFeatureState(n,e.id,i)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,i){this._checkLoaded();const r=e.source,n=this.sourceCaches[r];if(void 0===n)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const s=n.getSource().type,a="vector"===s?e.sourceLayer:void 0;"vector"!==s||a?i&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):n.removeFeatureState(a,e.id,i):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const i=e.source,r=e.sourceLayer,n=this.sourceCaches[i];if(void 0!==n)return"vector"!==n.getSource().type||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),n.getFeatureState(r,e.id)):void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const e=t.mapObject(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order),r=this.stylesheet;return t.filterObject({version:r.version,name:r.name,metadata:r.metadata,light:r.light,center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch,sprite:r.sprite,glyphs:r.glyphs,transition:r.transition,sources:e,layers:i},(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,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i);const r=this.sourceCaches[e];return r?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),r=[],n={};for(let t=0;t{q[t]=e})(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},i):i(null,null))}getLight(){return this.light.getLight()}setLight(e,i={}){this._checkLoaded();const r=this.light.getLight();let n=!1;for(const i in e)if(!t.deepEqual(e[i],r[i])){n=!0;break}if(!n)return;const s={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,i),this.light.updateTransitions(s)}_validate(e,i,r,n,s={}){return(!s||!1!==s.validate)&&te(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:r,styleSpec:t.v8Spec},n)))}_remove(e=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginStateChange",this._rtlTextPluginCallback);for(const t in this._layers)this._layers[t].setEventedParent(null);for(const t in this.sourceCaches){const e=this.sourceCaches[t];e.setEventedParent(null),e.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(e)}_clearSource(t){this.sourceCaches[t].clearTiles()}_reloadSource(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()}_updateSources(t){for(const e in this.sourceCaches)this.sourceCaches[e].update(t,this.map.terrain)}_generateCollisionBoxes(){for(const t in this.sourceCaches)this._reloadSource(t)}_updatePlacement(e,i,r,n,s=!1){let a=!1,o=!1;const l={};for(const t of this._order){const i=this._layers[t];if("symbol"!==i.type)continue;if(!l[i.source]){const t=this.sourceCaches[i.source];l[i.source]=t.getRenderableIds(!0).map((e=>t.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const r=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);a=a||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new Wt(e,this.map.terrain,this._order,s,i,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.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(t.browser.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const r=this.sourceCaches[e.source];r&&r.setDependencies(e.tileID.key,e.type,e.icons)}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);const r=this.sourceCaches[e.source];r&&r.setDependencies(e.tileID.key,e.type,[""])}getResource(e,i,r){return t.makeRequest(i,r)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,i={}){this._checkLoaded(),e&&this._validate(t.validateStyle.glyphs,"glyphs",e,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,i,r={},n){this._checkLoaded();const s=[{id:e,url:i}],a=[..._(this.stylesheet.sprite),...s];this._validate(t.validateStyle.sprite,"sprite",a,null,r)||(this.stylesheet.sprite=a,this._loadSprite(s,!0,n))}removeSprite(e){this._checkLoaded();const i=_(this.stylesheet.sprite);if(i.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(const t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;i.splice(i.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}else this.fire(new t.ErrorEvent(new Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return _(this.stylesheet.sprite)}setSprite(e,i={},r){this._checkLoaded(),e&&this._validate(t.validateStyle.sprite,"sprite",e,null,i)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,r):(this._unloadSprite(),r&&r(null)))}}ne.registerForPluginStateChange=t.registerForPluginStateChange;var se=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),ae="attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}";const oe={prelude:le("#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:le("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:le("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:le("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:le("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:le("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:le("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:le("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:le("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:le("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:le("#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:le("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:le("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:le("#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:le("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:le("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:le("#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:le("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:le("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:le("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:le("#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:le("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:le("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:le("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:le("#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}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:le("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:le("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",ae),terrainDepth:le("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);}",ae),terrainCoords:le("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);}",ae)};function le(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 ce{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_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,b),this.binderUniforms=r?r.getUniforms(e,b):[]}draw(t,e,i,r,n,s,a,o,l,c,h,u,p,d,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,p,{zoom:d});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 ce)).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 pe(t,e,i){const r=1/At(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 de=(e,i,r,n)=>{const s=i.style.light,a=s.properties.get("position"),o=[a.x,a.y,a.z],l=function(){var e=new t.ARRAY_TYPE(9);return t.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}();"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:e,u_lightpos:o,u_lightintensity:s.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:n}},fe=(e,i,r,n,s,a,o)=>t.extend(de(e,i,r,n),pe(a,i,o),{u_height_factor:-Math.pow(2,s.overscaledZ)/o.tileSize/8}),me=t=>({u_matrix:t}),ge=(e,i,r,n)=>t.extend(me(e),pe(r,i,n)),_e=(t,e)=>({u_matrix:t,u_world:e}),ye=(e,i,r,n,s)=>t.extend(ge(e,i,r,n),{u_world:s}),xe=(t,e,i,r)=>{const n=t.transform;let s,a;if("map"===r.paint.get("circle-pitch-alignment")){const t=At(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}},ve=(t,e,i)=>{const r=At(i,1,e.zoom),n=Math.pow(2,e.zoom-i.tileID.overscaledZ),s=i.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:r,u_extrude_scale:[e.pixelsToGLUnits[0]/(r*n),e.pixelsToGLUnits[1]/(r*n)],u_overscale_factor:s}},be=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),we=t=>({u_matrix:t}),Te=(t,e,i,r)=>({u_matrix:t,u_extrude_scale:At(e,1,i),u_intensity:r});function Ee(e,i){const r=Math.pow(2,i.canonical.z),n=i.canonical.y;return[new t.MercatorCoordinate(0,n/r).toLngLat().lat,new t.MercatorCoordinate(0,(n+1)/r).toLngLat().lat]}const Se=(t,e,i,r)=>{const n=t.transform;return{u_matrix:Pe(t,e,i,r),u_ratio:1/At(e,1,n.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]]}},Ie=(e,i,r,n,s)=>t.extend(Se(e,i,r,s),{u_image:0,u_image_height:n}),Ae=(t,e,i,r,n)=>{const s=t.transform,a=Me(e,s);return{u_matrix:Pe(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_ratio:1/At(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]]}},Ce=(e,i,r,n,s,a)=>{const o=e.lineAtlas,l=Me(i,e.transform),c="round"===r.layout.get("line-cap"),h=o.getDash(n.from,c),u=o.getDash(n.to,c),p=h.width*s.fromScale,d=u.width*s.toScale;return t.extend(Se(e,i,r,a),{u_patternscale_a:[l/p,-h.height/2],u_patternscale_b:[l/d,-u.height/2],u_sdfgamma:o.width/(256*Math.min(p,d)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:s.t})};function Me(t,e){return 1/At(t,1,e.tileZoom)}function Pe(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 ze=(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:ke(n.paint.get("raster-hue-rotate"))};var s,a};function ke(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 De=(t,e,i,r,n,s,a,o,l,c)=>{const h=n.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:n.options.fadeDuration?n.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:o,u_is_text:+l,u_pitch_with_map:+r,u_texsize:c,u_texture:0}},Le=(e,i,r,n,s,a,o,l,c,h,u)=>{const p=s.transform;return t.extend(De(e,i,r,n,s,a,o,l,c,h),{u_gamma_scale:n?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+u})},Be=(e,i,r,n,s,a,o,l,c,h)=>t.extend(Le(e,i,r,n,s,a,o,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Re=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),Fe=(e,i,r,n,s,a)=>t.extend(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/At(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:e,u_opacity:i}),Oe={fillExtrusion:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fillExtrusionPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fill:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),fillOutline:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),circle:(e,i)=>({u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),collisionBox:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}),collisionCircle:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}),debug:(e,i)=>({u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}),clippingMask:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmapTexture:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}),hillshade:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}),hillshadePrepare:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}),line:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}),lineGradient:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}),linePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),lineSDF:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}),raster:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}),symbolIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}),symbolSDF:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),symbolTextAndIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),background:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}),backgroundPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_ele_delta:new t.Uniform1f(e,i.u_ele_delta)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ele_delta:new t.Uniform1f(e,i.u_ele_delta)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id),u_ele_delta:new t.Uniform1f(e,i.u_ele_delta)})};class Ue{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 Ve={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Ne{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=t.create(),r=y;t.mul(i,_.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,_.placementViewportMatrix),u.push({circleArray:v,circleOffset:d,transform:r,invTransform:i,coord:m}),p+=v.length/4,d=p}x&&h.draw(l,c.LINES,Mi.disabled,zi.disabled,e.colorModeForRenderPass(),ki.disabled,ve(y,e.transform,g),e.style.map.terrain&&e.style.map.terrain.getTerrainData(m),r.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}if(!o||!u.length)return;const f=e.useProgram("collisionCircle"),m=new t.CollisionCircleLayoutArray;m.resize(4*p),m._trim();let g=0;for(const t of u)for(let e=0;e=0&&(m[g.associatedIconIndex]={shiftedAnchor:S,angle:I})}else Tt(g.numGlyphs,d)}if(h){f.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.map.terrain.getElevation(l,t,i):null,i="map"===r.layout.get("text-rotation-alignment");dt(c,l.posMatrix,e,s,R,F,_,h,i,t)}const V=e.translatePosMatrix(l.posMatrix,n,a,o),N=y||s&&T||U?Bi:R,$=e.translatePosMatrix(F,n,a,o,!0),q=d&&0!==r.paint.get(s?"text-halo-width":"icon-halo-width").constantOr(1);let Z;Z=d?c.iconsInText?Be(w.kind,A,x,_,e,V,N,$,M,D):Le(w.kind,A,x,_,e,V,N,$,s,M,!0):De(w.kind,A,x,_,e,V,N,$,s,M);const j={program:I,buffers:u,uniformValues:Z,atlasTexture:P,atlasTextureIcon:L,atlasInterpolation:z,atlasInterpolationIcon:k,isSDF:d,hasHalo:q};if(v&&c.canOverlap){b=!0;const e=u.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:j,terrainData:C})}else E.push({segments:u.segments,sortKey:0,state:j,terrainData:C})}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(d.activeTexture.set(f.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,f.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.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,Vi(i.buffers,t.segments,r,e,i.program,w,u,p,n,t.terrainData)),n.u_is_halo=0}Vi(i.buffers,t.segments,r,e,i.program,w,u,p,i.uniformValues,t.terrainData)}}function Vi(t,e,i,r,n,s,a,o,l,c){const h=r.context;n.draw(h,h.gl.TRIANGLES,s,a,o,ki.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 Ni(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){const t=n.getPaintProperty(e);a=s[t],o=s[t]}a&&o&&t.setConstantPatternPositions(a,o)}function $i(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 p,d,f,m,g;a?(d=h&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",p=o.LINES):(d=h?"fillPattern":"fill",p=o.TRIANGLES);const _=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(d,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)),Ni(x,l,_,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,g=y.segments2;const e=[o.drawingBufferWidth,o.drawingBufferHeight];f="fillOutlinePattern"===d&&h?ye(T,t,u,r,e):_e(T,e)}else m=y.indexBuffer,g=y.segments,f=h?ge(T,t,u,r):me(T);v.draw(t.context,p,n,t.stencilModeForClipping(c),s,ki.disabled,f,b,i.id,y.layoutVertexBuffer,m,g,i.paint,t.transform.zoom,x)}}function qi(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),p=i.getCrossfadeParameters(),d=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 g=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h),_=m.programConfigurations.get(i.id),y=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",_);u&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),_.updatePaintBuffers(p)),Ni(_,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?fe(x,t,v,d,h,p,r):de(x,t,v,d);y.draw(o,o.gl.TRIANGLES,n,s,a,ki.backCCW,b,g,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,_,t.style.map.terrain&&m.centroidVertexBuffer)}}function Zi(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,ki.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:Ee(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 ji(e,i,r,n,s,a){const o=e.context,l=o.gl,c=i.dem;if(c&&c.data){const h=c.dim,u=c.stride,p=c.getPixels();if(o.activeTexture.set(l.TEXTURE1),o.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(u),i.demTexture){const t=i.demTexture;t.update(p,{premultiply:!1}),t.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else i.demTexture=new x(o,p,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);o.activeTexture.set(l.TEXTURE0);let d=i.fbo;if(!d){const t=new x(o,{width:h,height:h,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),d=i.fbo=o.createFramebuffer(h,h,!0,!1),d.colorAttachment.set(t.texture)}o.bindFramebuffer.set(d.framebuffer),o.viewport.set([0,0,h,h]),e.useProgram("hillshadePrepare").draw(o,l.TRIANGLES,n,s,a,ki.disabled,((e,i)=>{const r=i.stride,n=t.create();return t.ortho(n,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(n,n,[0,-t.EXTENT,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,c),null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1}}function Gi(e,i,r,n,s,a){const o=n.paint.get("raster-fade-duration");if(!a&&o>0){const n=t.browser.now(),a=(n-e.timeAdded)/o,l=i?(n-i.timeAdded)/o:-1,c=r.getSource(),h=s.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=u&&e.refreshedUponExpiration?1:t.clamp(u?a:1-l,0,1);return e.refreshedUponExpiration&&a>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const Xi=new t.Color(1,0,0,1),Wi=new t.Color(0,1,0,1),Hi=new t.Color(0,0,1,1),Ki=new t.Color(1,0,1,1),Yi=new t.Color(0,1,1,1);function Ji(t,e,i,r){tr(t,0,e+i/2,t.transform.width,i,r)}function Qi(t,e,i,r){tr(t,e-i/2,0,i,t.transform.height,r)}function tr(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 er(e,i,r){const n=e.context,s=n.gl,a=r.posMatrix,o=e.useProgram("debug"),l=Mi.disabled,c=zi.disabled,h=e.colorModeForRenderPass(),u="$debug",p=e.style.map.terrain&&e.style.map.terrain.getTerrainData(r);n.activeTexture.set(s.TEXTURE0);const d=i.getTileByID(r.key).latestRawTileData,f=Math.floor((d&&d.byteLength||0)/1024),m=i.getTile(r).tileSize,g=512/Math.min(m,512)*(r.overscaledZ/e.transform.zoom)*.5;let _=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(_+=` => ${r.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,r=t.context.gl,n=t.debugOverlayCanvas.getContext("2d");n.clearRect(0,0,i.width,i.height),n.shadowColor="white",n.shadowBlur=2,n.lineWidth=1.5,n.strokeStyle="white",n.textBaseline="top",n.font="bold 36px Open Sans, sans-serif",n.fillText(e,5,5),n.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${_} ${f}kB`),o.draw(n,s.TRIANGLES,l,c,Ai.alphaBlended,ki.disabled,be(a,t.Color.transparent,g),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),o.draw(n,s.LINE_STRIP,l,c,h,ki.disabled,be(a,t.Color.red),p,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function ir(t,e,i){const r=t.context,n=r.gl,s=t.colorModeForRenderPass(),a=new Mi(n.LEQUAL,Mi.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={u_matrix:t.transform.calculatePosMatrix(c.tileID.toUnwrapped()),u_texture:0,u_ele_delta:e.getMeshFrameDelta(t.transform.zoom)};o.draw(r,n.TRIANGLES,a,zi.disabled,s,ki.backCCW,u,h,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class rr{constructor(e,i){this.context=new Ci(e),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.create(),renderTime:0},this.setup(),this.numSublayers=Y.maxUnderzooming+Y.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Qt}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 e=this.context,i=new t.PosArray;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,se.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);const r=new t.PosArray;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(r,se.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);const n=new t.RasterBoundsArray;n.emplaceBack(0,0,0,0),n.emplaceBack(t.EXTENT,0,t.EXTENT,0),n.emplaceBack(0,t.EXTENT,0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(n,U.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);const s=new t.PosArray;s.emplaceBack(0,0),s.emplaceBack(1,0),s.emplaceBack(0,1),s.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(s,se.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);const a=new t.LineStripIndexArray;a.emplaceBack(0),a.emplaceBack(1),a.emplaceBack(3),a.emplaceBack(2),a.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(a);const o=new t.TriangleIndexArray;o.emplaceBack(0,1,2),o.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(o);const l=this.context.gl;this.stencilClearMode=new zi({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){const e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const r=t.create();t.ortho(r,0,this.width,this.height,0,0,1),t.scale(r,r,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,i.TRIANGLES,Mi.disabled,this.stencilClearMode,Ai.disabled,ki.disabled,we(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(Ai.disabled),i.setDepthMode(Mi.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,Mi.disabled,new zi({func:r.ALWAYS,mask:0},e,255,r.KEEP,r.KEEP,r.REPLACE),Ai.disabled,ki.disabled,we(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 zi({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new zi({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),r=i[i.length-1].overscaledZ,n=i[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[r[this.currentLayer]],e=n[t.source],i=s[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;ri.style.map.terrain.getElevation(s,t,e):null)}}}(n,e,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),s),0!==r.paint.get("icon-opacity").constantOr(1)&&Ui(e,i,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),a,o),0!==r.paint.get("text-opacity").constantOr(1)&&Ui(e,i,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),a,o),i.map.showCollisionBoxes&&(Li(e,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),Li(e,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))}(e,i,r,n,this.style.placement.variableOffsets);break;case"circle":!function(e,i,r,n){if("translucent"!==e.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=e.context,h=c.gl,u=e.depthModeForSublayer(0,Mi.ReadOnly),p=zi.disabled,d=e.colorModeForRenderPass(),f=[];for(let s=0;st.sortKey-e.sortKey));for(const t of f){const{programConfiguration:i,program:n,layoutVertexBuffer:s,indexBuffer:a,uniformValues:o,terrainData:l}=t.state;n.draw(c,h.TRIANGLES,u,p,d,ki.disabled,o,l,r.id,s,a,t.segments,r.paint,e.transform.zoom,i)}}(e,i,r,n);break;case"heatmap":!function(e,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){const s=e.context,a=s.gl,o=zi.disabled,l=new Ai([a.ONE,a.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const r=t.gl;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let n=i.heatmapFbo;if(n)r.bindTexture(r.TEXTURE_2D,n.colorAttachment.get()),t.bindFramebuffer.set(n.framebuffer);else{const s=r.createTexture();r.bindTexture(r.TEXTURE_2D,s),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),n=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!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,e,r),s.clear({color:t.Color.transparent});for(let t=0;t{const s=t.create();t.ortho(s,0,e.width,e.height,0,0,1);const a=e.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")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom)}(e,r))}(e,i,r,n);break;case"line":!function(e,i,r,n){if("translucent"!==e.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=e.depthModeForSublayer(0,Mi.ReadOnly),l=e.colorModeForRenderPass(),c=r.paint.get("line-dasharray"),h=r.paint.get("line-pattern"),u=h.constantOr(1),p=r.paint.get("line-gradient"),d=r.getCrossfadeParameters(),f=u?"linePattern":c?"lineSDF":p?"lineGradient":"line",m=e.context,g=m.gl;let _=!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),v=e.context.program.get(),b=e.useProgram(f,y),w=_||b.program!==v,T=e.style.map.terrain&&e.style.map.terrain.getTerrainData(s),E=h.constantOr(null);if(E&&n.imageAtlas){const t=n.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&y.setConstantPatternPositions(e,i)}const S=T?s:null,I=u?Ae(e,n,r,d,S):c?Ce(e,n,r,c,d,S):p?Ie(e,n,r,a.lineClipsArray.length,S):Se(e,n,r,S);if(u)m.activeTexture.set(g.TEXTURE0),n.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),y.updatePaintBuffers(d);else if(c&&(w||e.lineAtlas.dirty))m.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(m);else if(p){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 ue(this.context,oe[t],e,Oe[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 x(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 nr{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(e,i,r){const n=Math.pow(2,r),s=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{const s=1/(r=t.transformMat4([],r,e))[3]/i*n;return t.mul$1(r,r,[s,s,1/r[3],s])})),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}([],m([],s[t[0]],s[t[1]]),m([],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 nr(s,a)}}class sr{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=d(this.min),r=d(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 t=0;t<3;t++){let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(let n=0;nthis.max[t]-this.min[t])return 0}return 1}}class ar{constructor(t=0,e=0,i=0,r=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=i,this.right=r}interpolate(e,i,r){return null!=i.top&&null!=e.top&&(this.top=t.interpolate.number(e.top,i.top,r)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.interpolate.number(e.bottom,i.bottom,r)),null!=i.left&&null!=e.left&&(this.left=t.interpolate.number(e.left,i.left,r)),null!=i.right&&null!=e.right&&(this.right=t.interpolate.number(e.right,i.right,r)),this}getCenter(e,i){const r=t.clamp((this.left+e-this.right)/2,0,e),n=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.Point(r,n)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new ar(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class or{constructor(e,i,r,n,s){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===s||!!s,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ar,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0}clone(){const t=new or(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._minEleveationForCurrentTile=t._minEleveationForCurrentTile,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 t.Point(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var e=new t.ARRAY_TYPE(4);return t.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}(),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(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.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(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const r=this.pointCoordinate(new t.Point(0,0)),n=this.pointCoordinate(new t.Point(this.width,0)),s=this.pointCoordinate(new t.Point(this.width,this.height)),a=this.pointCoordinate(new t.Point(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 t.UnwrappedTileID(r,e))}return i}coveringTiles(e){var i,r;let n=this.coveringZoomLevel(e);const s=n;if(void 0!==e.minzoom&&ne.maxzoom&&(n=e.maxzoom);const a=this.pointCoordinate(this.getCameraPoint()),o=t.MercatorCoordinate.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=nr.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,n);let p=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(p=n);const d=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,f=t=>({aabb:new sr([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],_=[],y=n,x=e.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=e.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===y||b>d+(1<=p){const e=y-n.zoom,i=c[0]-.5-(s<>1),u=n.zoom+1;let p=n.aabb.quadrant(l);if(e.terrain){const s=new t.OverscaledTileID(u,n.wrap,u,c,h),a=e.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;p=new sr([p.min[0],p.min[1],o],[p.max[0],p.max[1],l])}m.push({aabb:p,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(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){const i=this.pointLocation(this.centerPoint,e),r=e.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-r))return;const n=this.getCameraPosition(),s=t.MercatorCoordinate.fromLngLat(n.lngLat,n.altitude),a=t.MercatorCoordinate.fromLngLat(i,r),o=s.x-a.x,l=s.y-a.y,c=s.z-a.z,h=Math.sqrt(o*o+l*l+c*c),u=this.scaleZoom(this.cameraToCenterDistance/h/this.tileSize);this._elevation=r,this._center=i,this.zoom=u}setLocationAtPoint(e,i){const r=this.pointCoordinate(i),n=this.pointCoordinate(this.centerPoint),s=this.locationCoordinate(e),a=new t.MercatorCoordinate(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(e){return t.MercatorCoordinate.fromLngLat(e)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(e,i){if(i){const t=i.pointCoordinate(e);if(null!=t)return t}const r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(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 t.MercatorCoordinate(t.interpolate.number(r[0]/s,n[0]/a,u)/this.worldSize,t.interpolate.number(o,l,u)/this.worldSize)}coordinatePoint(e,i=0,r=this.pixelMatrix){const n=[e.x*this.worldSize,e.y*this.worldSize,i,1];return t.transformMat4(n,n,r),new t.Point(n[0]/n[3],n[1]/n[3])}getBounds(){const e=Math.max(0,this.height/2-this.getHorizon());return(new D).extend(this.pointLocation(new t.Point(0,e))).extend(this.pointLocation(new t.Point(this.width,e))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new D([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=[-this.maxValidLatitude,this.maxValidLatitude])}calculatePosMatrix(e,i=!1){const r=e.key,n=i?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];const s=e.canonical,a=this.worldSize/this.zoomScale(s.z),o=s.x+Math.pow(2,s.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[o*a,s.y*a,0]),t.scale(l,l,[a/t.EXTENT,a/t.EXTENT,1]),t.multiply(l,i?this.alignedProjMatrix:this.projMatrix,l),n[r]=new Float32Array(l),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e,i,r,n,s=-90,a=90,o=-180,l=180;const c=this.size,h=this._unmodified;if(this.latRange){const i=this.latRange;s=t.mercatorYfromLat(i[1])*this.worldSize,a=t.mercatorYfromLat(i[0])*this.worldSize,e=a-sa&&(n=a-e)}if(this.lngRange){const e=(o+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),n=c.x/2;i-nl&&(r=l-n)}void 0===r&&void 0===n||(this.center=this.unproject(new t.Point(void 0!==r?r:u.x,void 0!==n?n:u.y)).wrap()),this._unmodified=h,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let n=t.identity(new Float64Array(16));t.scale(n,n,[this.width/2,-this.height/2,1]),t.translate(n,n,[1,-1,0]),this.labelPlaneMatrix=n,n=t.identity(new Float64Array(16)),t.scale(n,n,[1,-1,1]),t.translate(n,n,[-1,-1,0]),t.scale(n,n,[2/this.width,2/this.height,1]),this.glCoordMatrix=n;const s=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),a=Math.min(this.elevation,this._minEleveationForCurrentTile),o=s-a*this._pixelPerMeter/Math.cos(this._pitch),l=a<0?o:s,c=Math.PI/2+this._pitch,h=this._fov*(.5+e.y/this.height),u=Math.sin(h)*l/Math.sin(t.clamp(Math.PI-c-h,.01,Math.PI-.01)),p=this.getHorizon(),d=2*Math.atan(p/this.cameraToCenterDistance)*(.5+e.y/(2*p)),f=Math.sin(d)*l/Math.sin(t.clamp(Math.PI-c-d,.01,Math.PI-.01)),m=Math.min(u,f),g=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),_=this.height/50;n=new Float64Array(16),t.perspective(n,this._fov,this.width/this.height,_,g),n[8]=2*-e.x/this.width,n[9]=2*e.y/this.height,t.scale(n,n,[1,-1,1]),t.translate(n,n,[0,0,-this.cameraToCenterDistance]),t.rotateX(n,n,this._pitch),t.rotateZ(n,n,this.angle),t.translate(n,n,[-i,-r,0]),this.mercatorMatrix=t.scale([],n,[this.worldSize,this.worldSize,this.worldSize]),t.scale(n,n,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n),t.translate(n,n,[0,0,-this.elevation]),this.projMatrix=n,this.invProjMatrix=t.invert([],n),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n);const 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,E=new Float64Array(n);if(t.translate(E,E,[w>.5?w-1:w,T>.5?T-1:T,0]),this.alignedProjMatrix=E,n=t.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.Point(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return[e[0],i];{let r=i.x,n=i.y,s=i.x,a=i.y;for(const t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),s=Math.max(s,t.x),a=Math.max(a,t.y);return[new t.Point(r,n),new t.Point(s,n),new t.Point(s,a),new t.Point(r,a),new t.Point(r,n)]}}}function lr(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 cr{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=lr(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 hr={linearity:.3,easing:t.bezier(0,0,.3,1)},ur=t.extend({deceleration:2500,maxSpeed:1400},hr),pr=t.extend({deceleration:20,maxSpeed:1400},hr),dr=t.extend({deceleration:1e3,maxSpeed:360},hr),fr=t.extend({deceleration:1e3,maxSpeed:90},hr);class mr{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.browser.now();for(;e.length>0&&i-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.Point(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=_r(i.pan.mag(),r,t.extend({},ur,e||{}));n.offset=i.pan.mult(s.amount/i.pan.mag()),n.center=this._map.transform.center,gr(n,s)}if(i.zoom){const t=_r(i.zoom,r,pr);n.zoom=this._map.transform.zoom+t.amount,gr(n,t)}if(i.bearing){const e=_r(i.bearing,r,dr);n.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),gr(n,e)}if(i.pitch){const t=_r(i.pitch,r,fr);n.pitch=this._map.transform.pitch+t.amount,gr(n,t)}if(n.zoom||n.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;n.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),t.extend(n,{noMoveStart:!0})}}function gr(t,e){(!t.duration||t.durationr.unproject(t))),l=a.reduce(((t,e,i,r)=>t.add(e.div(r.length))),new t.Point(0,0));super(e,{points:a,point:l,lngLats:o,lngLat:r.unproject(l),originalEvent:n}),this._defaultPrevented=!1}}class vr extends t.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}}class br{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new vr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new yr(t.type,this._map,t))}mouseup(t){this._map.fire(new yr(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new yr(t.type,this._map,t))}dblclick(t){return this._firePreventable(new yr(t.type,this._map,t))}mouseover(t){this._map.fire(new yr(t.type,this._map,t))}mouseout(t){this._map.fire(new yr(t.type,this._map,t))}touchstart(t){return this._firePreventable(new xr(t.type,this._map,t))}touchmove(t){this._map.fire(new xr(t.type,this._map,t))}touchend(t){this._map.fire(new xr(t.type,this._map,t))}touchcancel(t){this._map.fire(new xr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class wr{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new yr(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new yr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new yr(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Tr{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(e){return this.transform.pointLocation(t.Point.convert(e),this._map.terrain)}}class Er{constructor(t,e){this._map=t,this._tr=new Tr(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&&(i.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const r=e;if(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)t.fitScreenCoordinates(n,s,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function Sr(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=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){const i=new t.Point(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=Sr(r,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const r=Sr(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 Ar{constructor(t){this.singleTap=new Ir(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 Cr{constructor(t){this._tr=new Tr(t),this._zoomIn=new Ar({numTouches:1,numTaps:2}),this._zoomOut=new Ar({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 Mr{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=function(t){t.preventDefault()}},Lr=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:r=.8})=>{const n=new zr({checkCorrectEvent:t=>0===i.mouseButton(t)&&t.ctrlKey||2===i.mouseButton(t)});return new Mr({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*r}),moveStateManager:n,enable:t,assignEvents:Dr})},Br=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:r=-.5})=>{const n=new zr({checkCorrectEvent:t=>0===i.mouseButton(t)&&t.ctrlKey||2===i.mouseButton(t)});return new Mr({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*r}),moveStateManager:n,enable:t,assignEvents:Dr})};class Rr{constructor(t,e){this._minTouches=t.cooperativeGestures?2:1,this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.Point(0,0),setTimeout((()=>{this._cancelCooperativeMessage=!1}),200)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const n=Sr(r,i),s=new t.Point(0,0),a=new t.Point(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 Zr extends Fr{constructor(t){super(),this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length}_start(t){this._lastPoints=t,qr(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const r=t[0].sub(this._lastPoints[0]),n=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,n,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(r.y+n.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const r=t.mag()>=2,n=e.mag()>=2;if(!r&&!n)return;if(!r||!n)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const s=t.y>0==e.y>0;return qr(t)&&qr(e)&&s}}const jr={panStep:100,bearingStep:15,pitchStep:10};class Gr{constructor(t){this._tr=new Tr(t);const e=jr;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:Xr,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 Xr(t){return t*(2-t)}const Wr=4.000244140625;class Hr{constructor(t,e){this._onTimeout=t=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},this._map=t,this._tr=new Tr(t),this._el=t.getCanvasContainer(),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(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!e[this._map._metaKey])return;e.preventDefault()}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const r=t.browser.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Wr==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(n*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const r=i.mousePos(this._el,e),n=this._tr;this._around=t.LngLat.convert(this._aroundCenter?n.center:n.unproject(r)),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._tr.transform;if(0!==this._delta){const t="wheel"===this._type&&Math.abs(this._delta)>Wr?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const r="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const i="number"==typeof this._targetZoom?this._targetZoom:e.zoom,r=this._startZoom,n=this._easing;let s,a=!1;if("wheel"===this._type&&r&&n){const e=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),o=n(e);s=t.interpolate.number(r,i,o),e<1?this._frameId||(this._frameId=!0):a=!0}else s=i,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:s-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.defaultEasing;if(this._prevEase){const e=this._prevEase,r=(t.browser.now()-e.start)/e.duration,n=e.easing(r+.01)-e.easing(r),s=.27/Math.sqrt(n*n+1e-4)*.01,a=Math.sqrt(.0729-s*s);i=t.bezier(s,a,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:i},i}reset(){this._active=!1}}class Kr{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 Yr{constructor(t){this._tr=new Tr(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 Jr{constructor(){this._tap=new Ar({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 Qr{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}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 tn{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 en{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()}}const rn=t=>t.zoom||t.drag||t.pitch||t.rotate;class nn extends t.Event{}function sn(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class an{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 r="renderFrame"===t.type?void 0:t,n={needsRenderFrame:!1},s={},a={},o=t.touches,l=o?this._getMapTouches(o):void 0,c=l?i.touchPos(this._el,l):i.mousePos(this._el,t);for(const{handlerName:i,handler:o,allowed:h}of this._handlers){if(!o.isEnabled())continue;let u;this._blockedByActive(a,h,i)?o.reset():o[e||t.type]&&(u=o[e||t.type](t,c,l),this.mergeHandlerResult(n,s,u,i,r),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||o.isActive())&&(a[i]=o)}const h={};for(const t in this._previousActiveHandlers)a[t]||(h[t]=r);this._previousActiveHandlers=a,(Object.keys(h).length||sn(n))&&(this._changes.push([n,s,h]),this._triggerRenderFrame()),(Object.keys(a).length||sn(n))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=n;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 mr(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(const[t,e,r]of this._listeners)i.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}destroy(){for(const[t,e,r]of this._listeners)i.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(t){const e=this._map,r=e.getCanvasContainer();this._add("mapEvent",new br(e,t));const n=e.boxZoom=new Er(e,t);this._add("boxZoom",n),t.interactive&&t.boxZoom&&n.enable();const s=new Cr(e),a=new Yr(e);e.doubleClickZoom=new Kr(a,s),this._add("tapZoom",s),this._add("clickZoom",a),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const o=new Jr;this._add("tapDragZoom",o);const l=e.touchPitch=new Zr(e);this._add("touchPitch",l),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const c=Lr(t),h=Br(t);e.dragRotate=new tn(t,c,h),this._add("mouseRotate",c,["mousePitch"]),this._add("mousePitch",h,["mouseRotate"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const u=(({enable:t,clickTolerance:e})=>{const r=new zr({checkCorrectEvent:t=>0===i.mouseButton(t)&&!t.ctrlKey});return new Mr({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:r,enable:t,assignEvents:Dr})})(t),p=new Rr(t,e);e.dragPan=new Qr(r,u,p),this._add("mousePan",u),this._add("touchPan",p,["touchZoom","touchRotate"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const d=new $r,f=new Vr;e.touchZoomRotate=new en(r,f,d,o),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",f,["touchPan","touchRotate"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const m=e.scrollZoom=new Hr(e,(()=>this._triggerRenderFrame()));this._add("scrollZoom",m,["mousePan"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const g=e.keyboard=new Gr(e);this._add("keyboard",g),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add("blockableMapEvent",new wr(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(rn(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(e,i,r,n,s){if(!r)return;t.extend(e,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 e={},i={},r={};for(const[n,s,a]of this._changes)n.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(n.panDelta)),n.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(e.around=n.around),void 0!==n.pinchAround&&(e.pinchAround=n.pinchAround),n.noInertia&&(e.noInertia=n.noInertia),t.extend(i,s),t.extend(r,a);this._updateMapTransform(e,i,r),this._changes=[]}_updateMapTransform(t,e,i){const r=this._map,n=r._getTransformForUpdate(),s=r.terrain;if(!(sn(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 p=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(p,h):(this._terrainMovement=!0,this._map._elevationFreeze=!0,n.setLocationAtPoint(p,h),this._map.once("moveend",(()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,n.recalculateZoom(r.terrain)}))):n.setLocationAtPoint(p,h),r._applyUpdatedTransform(n),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0)}_fireEvents(e,i,r){const n=rn(this._eventsInProgress),s=rn(e),a={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(a[`${t}start`]=i),this._eventsInProgress[t]=e[t]}!n&&s&&this._fireEvent("movestart",s.originalEvent);for(const t in a)this._fireEvent(t,a[t]);s&&this._fireEvent("move",s.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i)}const o={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:r}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||r,o[`${t}end`]=l)}for(const t in o)this._fireEvent(t,o[t]);const c=rn(this._eventsInProgress);if(r&&(n||s)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new nn("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class on extends t.Evented{constructor(e,i){super(),this._renderFrameCallback=()=>{const e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,r){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),r)}panTo(e,i,r){return this.easeTo(t.extend({center:e},i),r)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,r){return this.easeTo(t.extend({zoom:e},i),r)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,r){return this.easeTo(t.extend({bearing:e},i),r)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(r.zoom=t.interpolate.number(n,l,f)),this._rotating&&(r.bearing=t.interpolate.number(s,c,f)),this._pitching&&(r.pitch=t.interpolate.number(a,h,f)),this._padding&&(r.interpolatePadding(o,u,f),d=r.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(f),x)r.setLocationAtPoint(x,v);else{const t=r.zoomScale(r.zoom-n),e=l>n?Math.min(2,y):Math.max(.5,y),i=Math.pow(e,1-f),s=r.unproject(g.add(_.mult(f*i)).mult(t));r.setLocationAtPoint(r.renderWorldCopies?s.wrap():s,d)}this._applyUpdatedTransform(r),this._fireMoveEvents(i)}),(t=>{this.terrain&&this._finalizeElevation(),this._afterEase(i,t)}),e),this}_prepareEase(e,i,r={}){this._moving=!0,i||r.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!r.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!r.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!r.pitching&&this.fire(new t.Event("pitchstart",e))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&i!==this._elevationTarget){const t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(i-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=i}this.transform.elevation=t.interpolate.number(this._elevationStart,this._elevationTarget,e)}_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(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;const r=this._zooming,n=this._rotating,s=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),s&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}flyTo(e,i){if(!e.essential&&t.browser.prefersReducedMotion){const r=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.defaultEasing},e);const r=this._getTransformForUpdate(),n=this.getZoom(),s=this.getBearing(),a=this.getPitch(),o=this.getPadding(),l="zoom"in e?t.clamp(+e.zoom,r.minZoom,r.maxZoom):n,c="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:a,u="padding"in e?e.padding:r.padding,p=r.zoomScale(l-n),d=t.Point.convert(e.offset);let f=r.centerPoint.add(d);const m=r.pointLocation(f),g=t.LngLat.convert(e.center||m);this._normalizeCenter(g);const _=r.project(m),y=r.project(g).sub(_);let x=e.curve;const v=Math.max(r.width,r.height),b=v/p,w=y.mag();if("minZoom"in e){const i=t.clamp(Math.min(e.minZoom,n,l),r.minZoom,r.maxZoom),s=v/r.zoomScale(i-n);x=Math.sqrt(s/w*2)}const T=x*x;function E(t){const e=(b*b-v*v+(t?-1:1)*T*T*w*w)/(2*(t?b:v)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function I(t){return(Math.exp(t)+Math.exp(-t))/2}const A=E(!1);let C=function(t){return I(A)/I(A+x*t)},M=function(t){return v*((I(A)*(S(e=A+x*t)/I(e))-S(A))/T)/w;var e},P=(E(!0)-A)/x;if(Math.abs(w)<1e-6||!isFinite(P)){if(Math.abs(v-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==c,this._pitching=h!==a,this._padding=!r.isPaddingEqual(u),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(g),this._ease((p=>{const m=p*P,x=1/C(m);r.zoom=1===p?l:n+r.scaleZoom(x),this._rotating&&(r.bearing=t.interpolate.number(s,c,p)),this._pitching&&(r.pitch=t.interpolate.number(a,h,p)),this._padding&&(r.interpolatePadding(o,u,p),f=r.centerPoint.add(d)),this.terrain&&!e.freezeElevation&&this._updateElevation(p);const v=1===p?g:r.unproject(_.add(y.mult(M(m))).mult(x));r.setLocationAtPoint(r.renderWorldCopies?v.wrap():v,f),this._applyUpdatedTransform(r),this._fireMoveEvents(i)}),(()=>{this.terrain&&this._finalizeElevation(),this._afterEase(i)}),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}if(!t){const t=this.handlers;t&&t.stop(!1)}return this}_ease(e,i,r){!1===r.animate||0===r.duration?(e(1),i()):(this._easeStart=t.browser.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const r=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.LngLat.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}class ln{constructor(t={}){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&&this.options.compact,this._container=i.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=i.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=i.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(){i.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 cn{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=i.create("div","maplibregl-ctrl");const e=i.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(){i.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class hn{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=[]}}const un={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.enableTerrain":"Enable terrain","TerrainControl.disableTerrain":"Disable terrain"};var pn=t.createLayout([{name:"a_pos3d",type:"Int16",components:3}]);class dn extends t.Evented{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(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];const r={};for(const n of e.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),t.ortho(n.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[n.key]=new W(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(e){const i={};for(const r of this._renderableTilesKeys){const n=this._tiles[r].tileID;if(n.canonical.equals(e.canonical)){const n=e.clone();n.posMatrix=new Float64Array(16),t.ortho(n.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[r]=n}else if(n.canonical.isChildOf(e.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const a=n.canonical.z-e.canonical.z,o=n.canonical.x-(n.canonical.x>>a<>a<>a;t.ortho(s.posMatrix,0,c,0,c,0,1),t.translate(s.posMatrix,s.posMatrix,[-o*c,-l*c,0]),i[r]=s}else if(e.canonical.isChildOf(n.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const a=e.canonical.z-n.canonical.z,o=e.canonical.x-(e.canonical.x>>a<>a<>a;t.ortho(s.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(s.posMatrix,s.posMatrix,[o*c,l*c,0]),t.scale(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 fn{constructor(t,e,i){this.painter=t,this.sourceCache=new dn(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(e,i,r,n=t.EXTENT){var s;if(!(i>=0&&i=0&&re.canonical.z&&(e.canonical.z>=r?n=e.canonical.z-r:t.warnOnce("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const s=e.canonical.x-(e.canonical.x>>n<>n<>8<<4|t>>8,i[e+3]=0;const r=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),n=new x(e,r,e.gl.RGBA,{premultiply:!1});return n.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(e){const i=new Uint8Array(4),r=this.painter.context,n=r.gl;r.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),n.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,n.RGBA,n.UNSIGNED_BYTE,i),r.bindFramebuffer.set(null);const s=i[0]+(i[2]>>4<<8),a=i[1]+((15&i[2])<<8),o=this.coordsIndex[255-i[3]],l=o&&this.sourceCache.getTileByID(o);if(!l)return null;const c=this._coordsTextureSize,h=(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 gn={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class _n{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new mn(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(gn[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(e){if(e.isHidden(this.painter.transform.zoom))return!1;const i=e.type,r=this.painter,n=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(gn[i]&&(this._prevType&&gn[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(e.id),!n))return!0;if(gn[this._prevType]||gn[i]&&n){this._prevType=i;const e=this._stacks.length-1,n=this._stacks[e]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(ir(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[e]){const t=this.pool.getObjectForId(i.rtt[e].id);if(t.stamp===i.rtt[e].stamp){this.pool.useObject(t);continue}}const s=this.pool.getOrCreateFreeObject();this.pool.useObject(s),this.pool.stampObject(s),i.rtt[e]={id:s.id,stamp:s.stamp},r.context.bindFramebuffer.set(s.fbo.framebuffer),r.context.clear({color:t.Color.transparent,stencil:0}),r.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd},bn={showCompass:!0,showZoom:!0,visualizePitch:!1};class wn{constructor(e,r,n=!1){this.mousedown=e=>{this.startMouse(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),i.mousePos(this.element,e)),i.addEventListener(window,"mousemove",this.mousemove),i.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=t=>{this.moveMouse(t,i.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=i.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),i.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),i.addEventListener(window,"touchend",this.touchend))},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=i.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=e.dragRotate._mouseRotate.getClickTolerance(),a=e.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=Lr({clickTolerance:s,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const r=new kr;return new Mr({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:r,enable:t,assignEvents:vn})})({clickTolerance:s,enable:!0}),this.map=e,n&&(this.mousePitch=Br({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const r=new kr;return new Mr({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:r,enable:t,assignEvents:vn})})({clickTolerance:a,enable:!0})),i.addEventListener(r,"mousedown",this.mousedown),i.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),i.addEventListener(r,"touchcancel",this.reset)}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),i.disableDrag()}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),i.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;i.removeEventListener(t,"mousedown",this.mousedown),i.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),i.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),i.removeEventListener(window,"touchend",this.touchend),i.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){i.enableDrag(),i.removeEventListener(window,"mousemove",this.mousemove),i.removeEventListener(window,"mouseup",this.mouseup),i.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),i.removeEventListener(window,"touchend",this.touchend)}}let Tn;function En(e,i,r){if(e=new t.LngLat(e.lng,e.lat),i){const n=new t.LngLat(e.lng-360,e.lat),s=new t.LngLat(e.lng+360,e.lat),a=r.locationPoint(e).distSqr(i);r.locationPoint(n).distSqr(i)180;){const t=r.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e}const Sn={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 In(t,e,i){const r=t.classList;for(const t in Sn)r.remove(`maplibregl-${i}-anchor-${t}`);r.add(`maplibregl-${i}-anchor-${e}`)}class An extends t.Evented{constructor(e){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=>{if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=En(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let r="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?r="rotateX(0deg)":"map"===this._pitchAlignment&&(r=`rotateX(${this._map.getPitch()}deg)`),t&&"moveend"!==t.type||(this._pos=this._pos.round()),i.setTransform(this._element,`${Sn[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${e}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?"0.2":"1.0",this._opacityTimeout=null}),100))},this._onMove=e=>{if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},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 t.Event("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=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.Point.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=i.create("div"),this._element.setAttribute("aria-label","Map marker");const r=i.createNS("http://www.w3.org/2000/svg","svg"),n=41,s=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${n}px`),r.setAttributeNS(null,"width",`${s}px`),r.setAttributeNS(null,"viewBox",`0 0 ${s} ${n}`);const a=i.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"stroke","none"),a.setAttributeNS(null,"stroke-width","1"),a.setAttributeNS(null,"fill","none"),a.setAttributeNS(null,"fill-rule","evenodd");const o=i.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"fill-rule","nonzero");const l=i.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=i.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=i.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"fill",this._color);const u=i.createNS("http://www.w3.org/2000/svg","path");u.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),h.appendChild(u);const p=i.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"opacity","0.25"),p.setAttributeNS(null,"fill","#000000");const d=i.createNS("http://www.w3.org/2000/svg","path");d.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),p.appendChild(d);const f=i.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"transform","translate(6.0, 7.0)"),f.setAttributeNS(null,"fill","#FFFFFF");const m=i.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");const g=i.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");const _=i.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),m.appendChild(g),m.appendChild(_),o.appendChild(l),o.appendChild(h),o.appendChild(p),o.appendChild(f),o.appendChild(m),r.appendChild(o),r.setAttributeNS(null,"height",n*this._scale+"px"),r.setAttributeNS(null,"width",s*this._scale+"px"),this._element.appendChild(r),this._offset=t.Point.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),In(this._element,this._anchor,"marker"),e&&e.className)for(const t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),i.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,i=13.5,r=Math.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._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(e){return this._offset=t.Point.convert(e),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}}const Cn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Mn=0,Pn=!1;const zn={maxWidth:100,unit:"metric"};function kn(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?Dn(e,r,i/5280,t._getUIString("ScaleControl.Miles")):Dn(e,r,i,t._getUIString("ScaleControl.Feet"))}else i&&"nautical"===i.unit?Dn(e,r,o/1852,t._getUIString("ScaleControl.NauticalMiles")):o>=1e3?Dn(e,r,o/1e3,t._getUIString("ScaleControl.Kilometers")):Dn(e,r,o,t._getUIString("ScaleControl.Meters"))}function Dn(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 Ln={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},Bn=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function Rn(e){if(e){if("number"==typeof e){const i=Math.round(Math.abs(e)/Math.SQRT2);return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(i,i),"top-right":new t.Point(-i,i),bottom:new t.Point(0,-e),"bottom-left":new t.Point(i,-i),"bottom-right":new t.Point(-i,-i),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){const i=t.Point.convert(e);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return Rn(new t.Point(0,0))}const Fn={extend:(e,...i)=>t.extend(e,...i),run(t){t()},logToElement(t,e=!1,i="log"){const r=window.document.getElementById(i);r&&(e&&(r.innerHTML=""),r.innerHTML+=`
${t}`)}},On=e;class Un{static get version(){return On}static get workerCount(){return et.workerCount}static set workerCount(t){et.workerCount=t}static get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e}static get workerUrl(){return t.config.WORKER_URL}static set workerUrl(e){t.config.WORKER_URL=e}static addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i}static removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e]}}return Un.Map=class extends on{constructor(e){if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},xn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new or(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._cooperativeGesturesOnWheel=t=>{this._onCooperativeGesture(t,t[this._metaKey],1)},this._contextLost=e=>{e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,this._metaKey=0===navigator.platform.indexOf("Mac")?"metaKey":"ctrlKey",this._maxTileCacheSize=e.maxTileCacheSize,this._maxTileCacheZoomLevels=e.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new hn,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},un,e.locale),this._clickTolerance=e.clickTolerance,this._overridePixelRatio=e.pixelRatio,this._maxCanvasSize=e.maxCanvasSize,this.transformCameraUpdate=e.transformCameraUpdate,this._imageQueueHandle=c.addThrottleControl((()=>this.isMoving())),this._requestManager=new u(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),this.on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})),this.once("idle",(()=>{this._idleTriggered=!0})),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let t=!1;const e=lr((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 an(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new cr("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,this._validateStyle=e.validateStyle,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new ln({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new cn,e.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.Event("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=e.onAdd(this);this._controls.push(e);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}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(e){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 t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),o&&this.fire(new t.Event("moveend",e)),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(D.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()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(t){return this._cooperativeGestures=t,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.Point.convert(e),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 yr(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 yr(t,this,n.originalEvent)))},s=e=>{r&&(r=!1,i.call(this,new yr(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 ne(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 ne(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,i){if("string"==typeof e){const r=this._requestManager.transformRequest(e,h.Style);t.getJSON(r,((e,r)=>{e?this.fire(new t.ErrorEvent(e)):r&&this._updateDiff(r,i)}))}else"object"==typeof e&&this._updateDiff(e,i)}_updateDiff(e,i){try{this.style.setState(e,i)&&this._update(!0)}catch(r){t.warnOnce(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(e,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),e){const i=this.style.sourceCaches[e.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);for(const i in this.style._layers){const r=this.style._layers[i];"hillshade"===r.type&&r.source===e.source&&t.warnOnce("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 fn(this.painter,i,e),this.painter.renderToTexture=new _n(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=t=>{"style"===t.dataType?this.terrain.sourceCache.freeRtt():"source"===t.dataType&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=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(t.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._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new t.Event("terrain",{terrain:e})),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}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,r={}){const{pixelRatio:n=1,sdf:s=!1,stretchX:a,stretchY:o,content:l}=r;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||t.isImageBitmap(i))){if(void 0===i.width||void 0===i.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:r,height:c,data:h}=i,u=i;return this.style.addImage(e,{data:new t.RGBAImage({width:r,height:c},new Uint8Array(h)),pixelRatio:n,stretchX:a,stretchY:o,content:l,sdf:s,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e),this}}{const{width:r,height:c,data:h}=t.browser.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:r,height:c},h),pixelRatio:n,stretchX:a,stretchY:o,content:l,sdf:s,version:0})}}updateImage(e,i){const r=this.style.getImage(e);if(!r)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const n=i instanceof HTMLImageElement||t.isImageBitmap(i)?t.browser.getImageData(i):i,{width:s,height:a,data:o}=n;if(void 0===s||void 0===a)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(s!==r.data.width||a!==r.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));return r.data.replace(o,l),this.style.updateImage(e,r),this}getImage(t){return this.style.getImage(t)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(t,e){c.getImage(this._requestManager.transformRequest(t,h.Image),e)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,r={}){return this.style.setPaintProperty(t,e,i,r),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,r={}){return this.style.setLayoutProperty(t,e,i,r),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}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()}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=i.create("div","maplibregl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=i.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");const r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);const s=this._controlContainer=i.create("div","maplibregl-control-container",t),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{a[t]=i.create("div",`maplibregl-ctrl-${t} `,s)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_setupCooperativeGestures(){this._cooperativeGesturesScreen=i.create("div","maplibregl-cooperative-gesture-screen",this._container);let t="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:"Use Ctrl + scroll to zoom the map";0===navigator.platform.indexOf("Mac")&&(t="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:"Use ⌘ + scroll to zoom the map"),this._cooperativeGesturesScreen.innerHTML=`\n
${t}
\n
${"boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:"Use two fingers to move the map"}
\n `,this._cooperativeGesturesScreen.setAttribute("aria-hidden","true"),this._canvasContainer.addEventListener("wheel",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add("maplibregl-cooperative-gestures")}_destroyCooperativeGestures(){i.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener("wheel",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove("maplibregl-cooperative-gestures")}_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 rr(i,this.transform),r.testSupport(i)}_onCooperativeGesture(t,e,i){return!e&&i<2&&(this._cooperativeGesturesScreen.classList.add("maplibregl-show"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove("maplibregl-show")}),100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.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(e){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let r=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,n=t.browser.now();this.style.zoomHistory.update(e,n);const s=new t.EvaluationParameters(e,{now:n,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),a=s.crossFadingFactor();1===a&&a===this._crossFadingFactor||(r=!0,this._crossFadingFactor=a),this.style.update(s)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=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._minEleveationForCurrentTile=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 t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||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 t.Event("idle")),!this._loaded||this._fullyLoaded||n||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var e;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),c.removeThrottleControl(this._imageQueueHandle),null===(e=this._resizeObserver)||void 0===e||e.disconnect();const r=this.painter.context.gl.getExtension("WEBGL_lose_context");r&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),i.remove(this._canvasContainer),i.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove("maplibregl-map"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event("remove"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.browser.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e)})))}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 yn}getCameraTargetElevation(){return this.transform.elevation}},Un.NavigationControl=class{constructor(e){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=t.extend({},bn,e),this._container=i.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}))),i.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}))),i.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=i.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 wn(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){i.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const r=i.create("button",t,this._container);return r.type="button",r.addEventListener("click",e),r}},Un.GeolocateControl=class extends t.Evented{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),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(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},this._updateCamera=e=>{const i=new t.LngLat(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,n=this._map.getBearing(),s=t.extend({bearing:n},this.options.fitBoundsOptions),a=D.fromLngLat(i,r);this._map.fitBounds(a,s,{geolocateSource:!0})},this._updateMarker=e=>{if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(this.options.trackUserLocation)if(1===e.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===e.code&&Pn)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=e=>{if(this._map){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=i.create("button","maplibregl-ctrl-geolocate",this._container),i.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=i.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new An({element:this._dotElement}),this._circleElement=i.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new An({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new t.Event("trackuserlocationend")))}))}},this.options=t.extend({},Cn,e)}onAdd(t){return this._map=t,this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-group"),function(t,e=!1){void 0===Tn||e?void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then((e=>{Tn="denied"!==e.state,t(Tn)})).catch((()=>{Tn=!!window.navigator.geolocation,t(Tn)})):(Tn=!!window.navigator.geolocation,t(Tn)):t(Tn)}(this._setupUI),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(),i.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Mn=0,Pn=!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 t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Mn--,Pn=!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 t.Event("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 t.Event("trackuserlocationstart"));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"),Mn++,Mn>1?(t={maximumAge:6e5,timeout:0},Pn=!0):(t=this.options.positionOptions,Pn=!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)}},Un.AttributionControl=ln,Un.LogoControl=cn,Un.ScaleControl=class{constructor(e){this._onMove=()=>{kn(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,kn(this._map,this._container,this.options)},this.options=t.extend({},zn,e)}getDefaultPosition(){return"bottom-left"}onAdd(t){return this._map=t,this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){i.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},Un.FullscreenControl=class extends t.Evented{constructor(e={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),"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=i.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){i.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const t=this._fullscreenButton=i.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);i.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 t.Event("fullscreenstart")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new t.Event("fullscreenend")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures))}_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()}},Un.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.disableTerrain")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.enableTerrain"))},this.options=t}onAdd(t){return this._map=t,this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=i.create("button","maplibregl-ctrl-terrain",this._container),i.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(){i.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},Un.Popup=class extends t.Evented{constructor(e){super(),this.remove=()=>(this._content&&i.remove(this._content),this._container&&(i.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this),this._onMouseUp=t=>{this._update(t.point)},this._onMouseMove=t=>{this._update(t.point)},this._onDrag=t=>{this._update(t.point)},this._update=t=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=i.create("div","maplibregl-popup",this._map.getContainer()),this._tip=i.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._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._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=En(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let r=this.options.anchor;const n=Rn(this.options.offset);if(!r){const t=this._container.offsetWidth,i=this._container.offsetHeight;let s;s=e.y+n.bottom.ythis._map.transform.height-i?["bottom"]:[],e.xthis._map.transform.width-t/2&&s.push("right"),r=0===s.length?"bottom":s.join("-")}const s=e.add(n[r]).round();i.setTransform(this._container,`${Sn[r]} translate(${s.x}px,${s.y}px)`),In(this._container,r,"popup")},this._onClose=()=>{this.remove()},this.options=t.extend(Object.create(Ln),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),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=i.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t)}removeClassName(t){this._container&&this._container.classList.remove(t)}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=i.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(Bn);t&&t.focus()}},Un.Marker=An,Un.Style=ne,Un.LngLat=t.LngLat,Un.LngLatBounds=D,Un.Point=t.Point,Un.MercatorCoordinate=t.MercatorCoordinate,Un.Evented=t.Evented,Un.AJAXError=t.AJAXError,Un.config=t.config,Un.CanvasSource=$,Un.GeoJSONSource=O,Un.ImageSource=V,Un.RasterDEMTileSource=F,Un.RasterTileSource=R,Un.VectorTileSource=B,Un.VideoSource=N,Un.setRTLTextPlugin=t.setRTLTextPlugin,Un.getRTLTextPluginStatus=t.getRTLTextPluginStatus,Un.prewarm=function(){nt().acquire(tt)},Un.clearPrewarmedResources=function(){const t=rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(tt),rt=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()"))},Fn.extend(Un,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),Un}));var n=i;return n}()}({get exports(){return m},set exports(t){m=t}});var g=f(m),_=i.Layer.extend({options:{updateInterval:32,padding:.1,interactive:!1,pane:"tilePane"},initialize:function(t){i.setOptions(this,t),this._throttledUpdate=i.Util.throttle(this._update,this.options.updateInterval,this)},onAdd:function(t){this._container||this._initContainer();const e=this.getPaneName();t.getPane(e).appendChild(this._container),this._initGL(),this._offset=this._map.containerPointToLayerPoint([0,0]),t.options.zoomAnimation&&i.DomEvent.on(t._proxy,i.DomUtil.TRANSITION_END,this._transitionEnd,this)},onRemove:function(t){this._map._proxy&&this._map.options.zoomAnimation&&i.DomEvent.off(this._map._proxy,i.DomUtil.TRANSITION_END,this._transitionEnd,this);const e=this.getPaneName();t.getPane(e).removeChild(this._container),this._container=null,this._glMap.remove(),this._glMap=null},getEvents:function(){return{move:this._throttledUpdate,zoomanim:this._animateZoom,zoom:this._pinchZoom,zoomstart:this._zoomStart,zoomend:this._zoomEnd,resize:this._resize}},getMaplibreMap:function(){return this._glMap},getCanvas:function(){return this._glMap.getCanvas()},getSize:function(){return this._map.getSize().multiplyBy(1+2*this.options.padding)},getOpacity:function(){return this.options.opacity},setOpacity:function(t){this.options.opacity=t,this._container.style.opacity=t},getBounds:function(){const t=this.getSize().multiplyBy(.5),e=this._map.latLngToContainerPoint(this._map.getCenter());return i.latLngBounds(this._map.containerPointToLatLng(e.subtract(t)),this._map.containerPointToLatLng(e.add(t)))},getContainer:function(){return this._container},getPaneName:function(){return this._map.getPane(this.options.pane)?this.options.pane:"tilePane"},_initContainer:function(){if(this._container)return;this._container=i.DomUtil.create("div","leaflet-gl-layer");const t=this.getSize(),e=this._map.getSize().multiplyBy(this.options.padding);this._container.style.width=t.x+"px",this._container.style.height=t.y+"px";const r=this._map.containerPointToLayerPoint([0,0]).subtract(e);i.DomUtil.setPosition(this._container,r)},_initGL:function(){if(this._glMap)return;const t=this._map.getCenter(),e=i.extend({},this.options,{container:this._container,center:[t.lng,t.lat],zoom:this._map.getZoom()-1,attributionControl:!1});this._glMap=new g.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=g.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 _(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,p.indexOf(n)>=0||console.warn('This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:',r.tileInfo.spatialReference,"\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94."),e=h(e,i,r,this.options.token),this._createMaplibreLayer(e))}.bind(this))},_setupAttribution:function(){if(!this.getAttribution()){const t=this._maplibreGL.getMaplibreMap().style.stylesheet.sources,e=Object.keys(t);this.options.attribution=t[e[e.length-1]].attribution,this._map&&this._map.attributionControl&&this._map.attributionControl.addAttribution(this.getAttribution())}},_createMaplibreLayer:function(t){this._maplibreGL=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(e.language&&2!==e.version)throw new Error("The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.");e.pane||(t.includes(":Label")||t.includes("/label")?e.pane="esri-labels":t.includes(":Detail")||t.includes("/detail")?e.pane="esri-detail":e.pane="tilePane"),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)throw new Error("The 'language' parameter is not supported for custom basemap styles");return e&&(r=r+"?token="+e,i&&(r=r+"&language="+i)),r}(this.options.key,this.options.apikey,this.options.language):function(t,e){if(t.includes("/"))throw new Error(t+" is a v2 style enumeration. Set version:2 to request this style");let i="https://basemaps-api.arcgis.com/arcgis/rest/services/styles/"+t+"?type=style";return e&&(i=i+"&token="+e),i}(this.options.key,this.options.apikey),this._createMaplibreLayer(t)},_setupAttribution:function(){if(e.Util.setEsriAttribution(this._map),32===this.options.key.length){const t=this._maplibreGL.getMaplibreMap().style.stylesheet.sources,e=[];Object.keys(t).forEach((function(i){e.push(t[i].attribution),t[i].copyrightText&&t[i].copyrightText&&""!==t[i].copyrightText&&t[i].attribution!==t[i].copyrightText&&e.push(t[i].copyrightText)})),this._map.attributionControl.addAttribution(''+e.join(", ")+"")}else if(this.options.attributionUrls||(this.options.attributionUrls=this._getAttributionUrls(this.options.key)),this._map&&this.options.attributionUrls){if(this._map.attributionControl){for(let t=0;t')}e.Util._updateMapAttribution({target:this._map})}},_getAttributionUrls:function(t){return 0===t.indexOf("OSM:")||0===t.indexOf("osm/")?["https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2"]:0===t.indexOf("ArcGIS:Imagery")||0===t.indexOf("arcgis/imagery")?["https://static.arcgis.com/attribution/World_Imagery","https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]:["https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]},_initPane:function(){if(!this._map.getPane(this.options.pane)){const t=this._map.createPane(this.options.pane);t.style.pointerEvents="none";let e=500;"esri-detail"===this.options.pane?e=250:"esri-labels"===this.options.pane&&(e=300),t.style.zIndex=e}},onRemove:function(t){if(t.off("moveend",e.Util._updateMapAttribution),t.removeLayer(this._maplibreGL),t.attributionControl){const e=document.getElementsByClassName("esri-dynamic-attribution");if(e&&e.length>0){const i=e[0].outerHTML;t.attributionControl.removeAttribution(i)}}},_asyncAdd:function(){const t=this._map;this._initPane(),t.on("moveend",e.Util._updateMapAttribution),this._maplibreGL.addTo(t,this)}});const b=r;t.MaplibreGLJSLayer=_,t.Util=d,t.VERSION=b,t.VectorBasemapLayer=v,t.VectorTileLayer=x,t.maplibreGLJSLayer=y,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..4e2c44b --- /dev/null +++ b/dist/esri-leaflet-vector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector.js","sources":["../src/Util.js","../node_modules/maplibre-gl/dist/maplibre-gl.js","../src/MaplibreGLLayer.js","../src/VectorTileLayer.js","../src/VectorBasemapLayer.js","../src/EsriLeafletVector.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (style, apikey) {\r\n if (style.includes('/')) {\r\n throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style');\r\n }\r\n\r\n let url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n style +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&token=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\nexport function getBasemapStyleV2Url (style, apikey, language) {\r\n if (style.includes(':')) {\r\n throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style');\r\n }\r\n\r\n let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/';\r\n if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) {\r\n // style is an itemID\r\n url = url + 'items/' + style;\r\n\r\n if (language) {\r\n throw new Error('The \\'language\\' parameter is not supported for custom basemap styles');\r\n }\r\n } else {\r\n url = url + style;\r\n }\r\n\r\n if (apikey) {\r\n url = url + '?token=' + apikey;\r\n\r\n if (language) {\r\n url = url + '&language=' + language;\r\n }\r\n }\r\n return url;\r\n}\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n const httpRegex = /^https?:\\/\\//;\r\n const serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n const serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n const itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n const url = options.portalUrl + '/sharing/rest/content/items/' + itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n const itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n\r\n let sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n let defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nfunction isSameTLD (url1, url2) {\r\n return (new URL(url1)).hostname === (new URL(url2)).hostname;\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n const sourcesKeys = Object.keys(style.sources);\r\n for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n const source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too\r\n // MapLibre will overzoom for LODs that are not cooked\r\n source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.maxLOD ||\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n const layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n }\r\n if (style.sprite && token) {\r\n // add the token to the style.sprite property as a query param, only if same domain (for token security)\r\n if (isSameTLD(styleUrl, style.sprite)) {\r\n style.sprite += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n }\r\n\r\n if (style.glyphs && token) {\r\n // add the token to the style.glyphs property as a query param\r\n if (isSameTLD(styleUrl, style.glyphs)) {\r\n style.glyphs += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (let c = 0; c < attributions.contributors.length; c++) {\r\n const contributor = attributions.contributors[c];\r\n\r\n for (let i = 0; i < contributor.coverageAreas.length; i++) {\r\n const coverageArea = contributor.coverageAreas[i];\r\n const southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n const northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n const obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n\r\nexport var EsriUtil = {\r\n formatStyle: formatStyle\r\n};\r\n\r\nexport default EsriUtil;\r\n","/* MapLibre GL JS is licensed under the 3-Clause BSD License. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v3.3.1/LICENSE.txt */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.maplibregl = factory());\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar shared, worker, maplibregl;\n// define gets called three times: one for each chunk. we rely on the order\n// they're imported to know which is which\nfunction define(_, chunk) {\n if (!shared) {\n shared = chunk;\n } else if (!worker) {\n worker = chunk;\n } else {\n var workerBundleString = 'var sharedChunk = {}; (' + shared + ')(sharedChunk); (' + worker + ')(sharedChunk);'\n\n var sharedChunk = {};\n shared(sharedChunk);\n maplibregl = chunk(sharedChunk);\n if (typeof window !== 'undefined') {\n maplibregl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n }\n }\n}\n\n\ndefine([\"exports\"],(function(t){\"use strict\";function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var r=n;function n(t,e){this.x=t,this.y=e;}n.prototype={clone:function(){return new n(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}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t};var i=e(r),a=s;function s(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;}s.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?s=r:o=r,r=.5*(o-s)+s;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var o=e(a);function l(t,e,r,n){const i=new o(t,e,r,n);return function(t){return i.solve(t)}}const u=l(.25,.1,.25,1);function c(t,e,r){return Math.min(r,Math.max(e,t))}function h(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let f=1;function d(t,e,r){const n={};for(const i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){const n={};for(const i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function m(t){return Array.isArray(t)?t.map(m):\"object\"==typeof t&&t?d(t,m):t}const g={};function x(t){g[t]||(\"undefined\"!=typeof console&&console.warn(t),g[t]=!0);}function v(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function b(t){let e=0;for(let r,n,i=0,a=t.length,s=a-1;icancelAnimationFrame(e)}},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\"),r=e.getContext(\"2d\",{willReadFrequently:!0});if(!r)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r},resolveURL:t=>(I||(I=document.createElement(\"a\")),I.href=t,I.href),hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==z&&(z=matchMedia(\"(prefers-reduced-motion: reduce)\")),z.matches)}},P={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};class B extends Error{constructor(t,e,r,n){super(`AJAXError: ${e} (${t}): ${r}`),this.status=t,this.statusText=e,this.url=r,this.body=n;}}const C=w()?()=>self.worker&&self.worker.referrer:()=>(\"blob:\"===window.location.protocol?window.parent:window).location.href,V=t=>P.REGISTERED_PROTOCOLS[t.substring(0,t.indexOf(\"://\"))];function E(t,e){const r=new AbortController,n=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:C(),signal:r.signal});let i=!1,a=!1;\"json\"===t.type&&n.headers.set(\"Accept\",\"application/json\");return a||fetch(n).then((r=>r.ok?(r=>{(\"arrayBuffer\"===t.type||\"image\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((t=>{a||(i=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")));})).catch((t=>{a||e(new Error(t.message));}));})(r):r.blob().then((n=>e(new B(r.status,r.statusText,t.url,n)))))).catch((t=>{20!==t.code&&e(new Error(t.message));})),{cancel:()=>{a=!0,i||r.abort();}}}const T=function(t,e){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(w()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e);if(!w())return (V(t.url)||E)(t,e)}if(!(/^file:/.test(r=t.url)||/^file:/.test(C())&&!/^\\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return E(t,e);if(w()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}var r;return function(t,e){const r=new XMLHttpRequest;r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"!==t.type&&\"image\"!==t.type||(r.responseType=\"arraybuffer\");for(const e in t.headers)r.setRequestHeader(e,t.headers[e]);return \"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=()=>{e(new Error(r.statusText));},r.onload=()=>{if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){let n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response);}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"));}else {const n=new Blob([r.response],{type:r.getResponseHeader(\"Content-Type\")});e(new B(r.status,r.statusText,t.url,n));}},r.send(t.body),{cancel:()=>r.abort()}}(t,e)},F=function(t,e){return T(p(t,{type:\"arrayBuffer\"}),e)};function L(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 $(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function D(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class O{constructor(t,e={}){p(this,e),this.type=t;}}class U extends O{constructor(t,e={}){super(\"error\",p({error:t},e));}}class R{on(t,e){return this._listeners=this._listeners||{},$(t,e,this._listeners),this}off(t,e){return D(t,e,this._listeners),D(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},$(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){\"string\"==typeof t&&(t=new O(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)D(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(p(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof U&&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 q={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"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:{}},default:\"mapbox\"},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\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},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 j=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function N(t,e){const r={};for(const e in t)\"ref\"!==e&&(r[e]=t[e]);return j.forEach((t=>{t in e&&(r[t]=e[t]);})),r}function Z(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 xt=[it,at,st,ot,lt,pt,ut,mt(ct),ft,dt,yt];function vt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!vt(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 xt)if(!vt(t,e))return null}return `Expected ${gt(t)} but found ${gt(e)} instead.`}function bt(t,e){return e.some((e=>e.kind===t.kind))}function wt(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 _t(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,St=.82521,kt=4/29,It=6/29,zt=3*It*It,Mt=It*It*It,Pt=Math.PI/180,Bt=180/Math.PI;function Ct(t){return (t%=360)<0&&(t+=360),t}function Vt([t,e,r,n]){let i,a;const s=Tt((.2225045*(t=Et(t))+.7168786*(e=Et(e))+.0606169*(r=Et(r)))/1);t===e&&e===r?i=a=s:(i=Tt((.4360747*t+.3850649*e+.1430804*r)/At),a=Tt((.0139322*t+.0971045*e+.7141733*r)/St));const o=116*s-16;return [o<0?0:o,500*(i-s),200*(s-a),n]}function Et(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Tt(t){return t>Mt?Math.pow(t,1/3):t/zt+kt}function Ft([t,e,r,n]){let i=(t+16)/116,a=isNaN(e)?i:i+e/500,s=isNaN(r)?i:i-r/200;return i=1*$t(i),a=At*$t(a),s=St*$t(s),[Lt(3.1338561*a-1.6168667*i-.4906146*s),Lt(-.9787684*a+1.9161415*i+.033454*s),Lt(.0719453*a-.2289914*i+1.4052427*s),n]}function Lt(t){return (t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function $t(t){return t>It?t*t*t:zt*(t-kt)}function Dt(t){return parseInt(t.padEnd(2,t),16)/255}function Ot(t,e){return Ut(e?t/100:t,0,1)}function Ut(t,e,r){return Math.min(Math.max(e,t),r)}function Rt(t){return !t.some(Number.isNaN)}const qt={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 jt{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 jt)return t;if(\"string\"!=typeof t)return;const e=function(t){if(\"transparent\"===(t=t.toLowerCase().trim()))return [0,0,0,0];const e=qt[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 [Dt(t.slice(r,r+=e)),Dt(t.slice(r,r+=e)),Dt(t.slice(r,r+=e)),Dt(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,a,s,o,l,u,c,h,p]=e,f=[i||\" \",o||\" \",c].join(\"\");if(\" \"===f||\" /\"===f||\",,\"===f||\",,,\"===f){const t=[n,s,u].join(\"\"),e=\"%%%\"===t?100:\"\"===t?255:0;if(e){const t=[Ut(+r/e,0,1),Ut(+a/e,0,1),Ut(+l/e,0,1),h?Ot(+h,p):1];if(Rt(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,a,s,o,l,u]=r,c=[n||\" \",a||\" \",o].join(\"\");if(\" \"===c||\" /\"===c||\",,\"===c||\",,,\"===c){const t=[+e,Ut(+i,0,100),Ut(+s,0,100),l?Ot(+l,u):1];if(Rt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,a=e*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return t=Ct(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}(t);return e?new jt(...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]=Vt(t),a=Math.sqrt(r*r+n*n);return [Math.round(1e4*a)?Ct(Math.atan2(n,r)*Bt):NaN,a,e,i]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",Vt(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})`}}jt.black=new jt(0,0,0,1),jt.white=new jt(1,1,1,1),jt.transparent=new jt(0,0,0,0),jt.red=new jt(1,0,0,1);class Nt{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 Zt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class Kt{constructor(t){this.sections=t;}static fromString(t){return new Kt([new Zt(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 Gt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Gt)return t;if(\"number\"==typeof t)return new Gt([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 Gt(t)}}toString(){return JSON.stringify(this.values)}}const Jt=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Xt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Xt)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 Wt(t){if(null===t||\"string\"==typeof t||\"boolean\"==typeof t||\"number\"==typeof t||t instanceof jt||t instanceof Nt||t instanceof Kt||t instanceof Gt||t instanceof Xt||t instanceof Yt)return !0;if(Array.isArray(t)){for(const e of t)if(!Wt(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!Wt(t[e]))return !1;return !0}return !1}function Qt(t){if(null===t)return it;if(\"string\"==typeof t)return st;if(\"boolean\"==typeof t)return ot;if(\"number\"==typeof t)return at;if(t instanceof jt)return lt;if(t instanceof Nt)return ht;if(t instanceof Kt)return pt;if(t instanceof Gt)return ft;if(t instanceof Xt)return yt;if(t instanceof Yt)return dt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=Qt(e);if(r){if(r===t)continue;r=ct;break}r=t;}return mt(r||ct,e)}return ut}function te(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof jt||t instanceof Kt||t instanceof Gt||t instanceof Xt||t instanceof Yt?t.toString():JSON.stringify(t)}class ee{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(!Wt(t[1]))return e.error(\"invalid value\");const r=t[1];let n=Qt(r);const i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new ee(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}}class re{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}}const ne={string:st,number:at,boolean:ot,object:ut};class ie{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,a;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in ne)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=ne[r],n++;}else i=ct;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);a=t[2],n++;}r=mt(i,a);}else {if(!ne[i])throw new Error(`Types doesn't contain name = ${i}`);r=ne[i];}const a=[];for(;nt.outputDefined()))}}const ae={\"to-boolean\":ot,\"to-color\":lt,\"to-number\":at,\"to-string\":st};class se{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(!ae[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=ae[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Ht(e[0],e[1],e[2],e[3]),!r))return new jt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new re(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=Gt.parse(e);if(n)return n}throw new re(`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=Xt.parse(e);if(n)return n}throw new re(`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 re(`Could not convert ${JSON.stringify(e)} to number.`)}case\"formatted\":return Kt.fromString(te(this.args[0].evaluate(t)));case\"resolvedImage\":return Yt.fromString(te(this.args[0].evaluate(t)));default:return te(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const oe=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class le{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?oe[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]=jt.parse(t)),e}}class ue{constructor(t,e,r=[],n,i=new nt,a=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(\"\"),this.scope=i,this.errors=a,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 ie(e,[t]):\"coerce\"===r?new se(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 ee)&&\"resolvedImage\"!==n.type.kind&&this._isConstant(n)){const t=new le;try{n=new ee(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 ue(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 rt(r,t));}checkSubtype(t,e){const r=vt(t,e);return r&&this.error(r),r}}class ce{constructor(t,e,r){this.type=ht,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,ot);if(!n)return null;const i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,ot);if(!i)return null;let a=null;return r.locale&&(a=e.parse(r.locale,1,st),!a)?null:new ce(n,i,a)}evaluate(t){return new Nt(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}}const he=8192;function pe(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 fe(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function de(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*he),Math.round(n*i*he)]}function ye(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],a=t[0]-r[0],s=t[1]-r[1];return n*s-a*i==0&&n*a<=0&&i*s<=0}function me(t,e){let r=!1;for(let s=0,o=e.length;s(n=t)[1]!=(a=o[e+1])[1]>n[1]&&n[0]<(a[0]-i[0])*(n[1]-i[1])/(a[1]-i[1])+i[0]&&(r=!r);}}var n,i,a;return r}function ge(t,e){for(let r=0;r0&&o<0||s<0&&o>0}function ve(t,e,r){for(const u of r)for(let r=0;rr[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}pe(e,t);}function ke(t,e,r,n){const i=Math.pow(2,n.z)*he,a=[n.x*he,n.y*he],s=[];for(const n of t)for(const t of n){const n=[t.x+a[0],t.y+a[1]];Se(n,e,r,i),s.push(n);}return s}function Ie(t,e,r,n){const i=Math.pow(2,n.z)*he,a=[n.x*he,n.y*he],s=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+a[0],n.y+a[1]];pe(e,r),t.push(r);}s.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of s)for(const n of t)Se(n,e,r,i);}var o;return s}class ze{constructor(t,e){this.type=ot,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(Wt(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)for(let t=0;t!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,a]of s){o=new ue(e.registry,Be,e.path,null,e.scope);const s=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(gt).join(\", \")})`:`(${gt(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r{r=e?r&&Be(t):r&&t instanceof ee;})),!!r&&Ce(t)&&Ee(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Ce(t){if(t instanceof Pe){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 ze)return !1;let e=!0;return t.eachChild((t=>{e&&!Ce(t)&&(e=!1);})),e}function Ve(t){if(t instanceof Pe&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!Ve(t)&&(e=!1);})),e}function Ee(t,e){if(t instanceof Pe&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!Ee(t,e)&&(r=!1);})),r}function Te(t,e){const r=t.length-1;let n,i,a=0,s=r,o=0;for(;a<=s;)if(o=Math.floor((a+s)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new re(\"Input is not a number.\");s=o-1;}return 0}class Fe{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,at);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=a)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(s,l,i);if(!u)return null;i=i||u.type,n.push([a,u]);}return new Fe(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[Te(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 Le(t,e,r){return t+r*(e-t)}function $e(t,e,r){return t.map(((t,n)=>Le(t,e[n],r)))}const De={number:Le,color:function(t,e,r,n=\"rgb\"){switch(n){case\"rgb\":{const[n,i,a,s]=$e(t.rgb,e.rgb,r);return new jt(n,i,a,s,!1)}case\"hcl\":{const[n,i,a,s]=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!==a&&0!==a||(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*Pt,Ft([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=p?p:Le(i,l,r),Le(a,u,r),Le(s,c,r)]);return new jt(f,d,y,m,!1)}case\"lab\":{const[n,i,a,s]=Ft($e(t.lab,e.lab,r));return new jt(n,i,a,s,!1)}}},array:$e,padding:function(t,e,r){return new Gt($e(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new re(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const a=[];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,at),!i)return null;const s=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=lt:e.expectedType&&\"value\"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,s.push([r,u]);}return _t(o,at)||_t(o,lt)||_t(o,ft)||_t(o,yt)||_t(o,mt(at))?new Oe(o,r,n,i,s):e.error(`Type ${gt(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const a=Te(e,n),s=Oe.interpolationFactor(this.interpolation,n,e[a],e[a+1]),o=r[a].evaluate(t),l=r[a+1].evaluate(t);switch(this.operator){case\"interpolate\":return De[this.type.kind](o,l,s);case\"interpolate-hcl\":return De.color(o,l,s,\"hcl\");case\"interpolate-lab\":return De.color(o,l,s,\"lab\")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ue(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}class Re{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 a=n&&i.some((t=>vt(n,t.type)));return new Re(a?ct: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 Yt&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class qe{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 re(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new re(`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 Ne{constructor(t,e){this.type=ot,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,ct),n=e.parse(t[2],2,ct);return r&&n?bt(r.type,[ot,st,at,it,ct])?new Ne(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${gt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!wt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new re(`Expected first argument to be of type boolean, string, number or null, but found ${gt(Qt(e))} instead.`);if(!wt(r,[\"string\",\"array\"]))throw new re(`Expected second argument to be of type array or string, but found ${gt(Qt(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}}class Ze{constructor(t,e,r){this.type=at,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,ct),n=e.parse(t[2],2,ct);if(!r||!n)return null;if(!bt(r.type,[ot,st,at,it,ct]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${gt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,at);return i?new Ze(r,n,i):null}return new Ze(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!wt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new re(`Expected first argument to be of type boolean, string, number or null, but found ${gt(Qt(e))} instead.`);if(!wt(r,[\"string\",\"array\"]))throw new re(`Expected second argument to be of type array or string, but found ${gt(Qt(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}}class Ke{constructor(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a;}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},a=[];for(let s=2;sNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,Qt(t)))return null}else r=Qt(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=a.length;}const c=e.parse(l,s,n);if(!c)return null;n=n||c.type,a.push(c);}const s=e.parse(t[1],1,ct);if(!s)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==s.type.kind&&e.concat(1).checkSubtype(r,s.type)?null:new Ke(r,n,s,i,a,o):null}evaluate(t){const e=this.input.evaluate(t);return (Qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class Ge{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 Je{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,ct),n=e.parse(t[2],2,at);if(!r||!n)return null;if(!bt(r.type,[mt(ct),st,ct]))return e.error(`Expected first argument to be of type array or string, but found ${gt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,at);return i?new Je(r.type,r,n,i):null}return new Je(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!wt(e,[\"string\",\"array\"]))throw new re(`Expected first argument to be of type array or string, but found ${gt(Qt(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}}function Xe(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 Ye(t,e,r,n){return 0===n.compare(e,r)}function He(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=ot,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let a=e.parse(t[1],1,ct);if(!a)return null;if(!Xe(r,a.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${gt(a.type)}'.`);let s=e.parse(t[2],2,ct);if(!s)return null;if(!Xe(r,s.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${gt(s.type)}'.`);if(a.type.kind!==s.type.kind&&\"value\"!==a.type.kind&&\"value\"!==s.type.kind)return e.error(`Cannot compare types '${gt(a.type)}' and '${gt(s.type)}'.`);n&&(\"value\"===a.type.kind&&\"value\"!==s.type.kind?a=new ie(s.type,[a]):\"value\"!==a.type.kind&&\"value\"===s.type.kind&&(s=new ie(a.type,[s])));let o=null;if(4===t.length){if(\"string\"!==a.type.kind&&\"string\"!==s.type.kind&&\"value\"!==a.type.kind&&\"value\"!==s.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,ht),!o)return null}return new i(a,s,o)}evaluate(i){const a=this.lhs.evaluate(i),s=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=Qt(a),r=Qt(s);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new re(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=Qt(a),r=Qt(s);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,a,s)}return this.collator?r(i,a,s,this.collator.evaluate(i)):e(i,a,s)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}}}const We=He(\"==\",(function(t,e,r){return e===r}),Ye),Qe=He(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !Ye(0,e,r,n)})),tr=He(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),rr=He(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),nr=He(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class ir{constructor(t,e,r,n,i){this.type=st,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,at);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,st),!i))return null;let a=null;if(n.currency&&(a=e.parse(n.currency,1,st),!a))return null;let s=null;if(n[\"min-fraction-digits\"]&&(s=e.parse(n[\"min-fraction-digits\"],1,at),!s))return null;let o=null;return n[\"max-fraction-digits\"]&&(o=e.parse(n[\"max-fraction-digits\"],1,at),!o)?null:new ir(r,i,a,s,o)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);}outputDefined(){return !1}}class ar{constructor(t){this.type=pt,this.sections=t;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const a=t[r];if(i&&\"object\"==typeof a&&!Array.isArray(a)){i=!1;let t=null;if(a[\"font-scale\"]&&(t=e.parse(a[\"font-scale\"],1,at),!t))return null;let r=null;if(a[\"text-font\"]&&(r=e.parse(a[\"text-font\"],1,mt(st)),!r))return null;let s=null;if(a[\"text-color\"]&&(s=e.parse(a[\"text-color\"],1,lt),!s))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=s;}else {const a=e.parse(t[r],1,ct);if(!a)return null;const s=a.type.kind;if(\"string\"!==s&&\"value\"!==s&&\"null\"!==s&&\"resolvedImage\"!==s)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:a,scale:null,font:null,textColor:null});}}return new ar(n)}evaluate(t){return new Kt(this.sections.map((e=>{const r=e.content.evaluate(t);return Qt(r)===dt?new Zt(\"\",r,null,null,null):new Zt(te(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 sr{constructor(t){this.type=dt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,st);return r?new sr(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=Yt.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}}class or{constructor(t){this.type=at,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 ${gt(r.type)} instead.`):new or(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 re(`Expected value to be of type string or array, but found ${gt(Qt(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}}const lr={\"==\":We,\"!=\":Qe,\">\":er,\"<\":tr,\">=\":nr,\"<=\":rr,array:ie,at:je,boolean:ie,case:Ge,coalesce:Re,collator:ce,format:ar,image:sr,in:Ne,\"index-of\":Ze,interpolate:Oe,\"interpolate-hcl\":Oe,\"interpolate-lab\":Oe,length:or,let:qe,literal:ee,match:Ke,number:ie,\"number-format\":ir,object:ie,slice:Je,step:Fe,string:ie,\"to-boolean\":se,\"to-color\":se,\"to-number\":se,\"to-string\":se,var:Me,within:ze};function ur(t,[e,r,n,i]){e=e.evaluate(t),r=r.evaluate(t),n=n.evaluate(t);const a=i?i.evaluate(t):1,s=Ht(e,r,n,a);if(s)throw new re(s);return new jt(e/255,r/255,n/255,a,!1)}function cr(t,e){return t in e}function hr(t,e){const r=e[t];return void 0===r?null:r}function pr(t){return {type:t}}function fr(t){return {result:\"success\",value:t}}function dr(t){return {result:\"error\",value:t}}function yr(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function mr(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function gr(t){return !!t.expression&&t.expression.interpolated}function xr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function vr(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function br(t){return t}function wr(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),a=t.type||(gr(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?jt.parse:Gt.parse;(t=et({},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\"!==(s=t.colorSpace)&&\"hcl\"!==s&&\"lab\"!==s)throw new Error(`Unknown color space: \"${t.colorSpace}\"`);var s;let o,l,u;if(\"exponential\"===a)o=kr;else if(\"interval\"===a)o=Sr;else if(\"categorical\"===a){o=Ar,l=Object.create(null);for(const e of t.stops)l[e[0]]=e[1];u=typeof t.stops[0][0];}else {if(\"identity\"!==a)throw new Error(`Unknown function type \"${a}\"`);o=Ir;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>kr({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===a?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Oe.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?_r(t.default,e.default):o(t,e,i,l,u)}}}function _r(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Ar(t,e,r,n,i){return _r(typeof r===i?n[r]:void 0,t.default,e.default)}function Sr(t,e,r){if(\"number\"!==xr(r))return _r(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=Te(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function kr(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==xr(r))return _r(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const a=Te(t.stops.map((t=>t[0])),r),s=function(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),o=t.stops[a][1],l=t.stops[a+1][1],u=De[e.type]||br;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,s,t.colorSpace)}}:u(o,l,s,t.colorSpace)}function Ir(t,e,r){switch(e.type){case\"color\":r=jt.parse(r);break;case\"formatted\":r=Kt.fromString(r.toString());break;case\"resolvedImage\":r=Yt.fromString(r.toString());break;case\"padding\":r=Gt.parse(r);break;default:xr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0);}return _r(r,t.default,e.default)}Pe.register(lr,{error:[{kind:\"error\"},[st],(t,[e])=>{throw new re(e.evaluate(t))}],typeof:[st,[ct],(t,[e])=>gt(Qt(e.evaluate(t)))],\"to-rgba\":[mt(at,4),[lt],(t,[e])=>{const[r,n,i,a]=e.evaluate(t).rgb;return [255*r,255*n,255*i,a]}],rgb:[lt,[at,at,at],ur],rgba:[lt,[at,at,at,at],ur],has:{type:ot,overloads:[[[st],(t,[e])=>cr(e.evaluate(t),t.properties())],[[st,ut],(t,[e,r])=>cr(e.evaluate(t),r.evaluate(t))]]},get:{type:ct,overloads:[[[st],(t,[e])=>hr(e.evaluate(t),t.properties())],[[st,ut],(t,[e,r])=>hr(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[ct,[st],(t,[e])=>hr(e.evaluate(t),t.featureState||{})],properties:[ut,[],t=>t.properties()],\"geometry-type\":[st,[],t=>t.geometryType()],id:[ct,[],t=>t.id()],zoom:[at,[],t=>t.globals.zoom],\"heatmap-density\":[at,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[at,[],t=>t.globals.lineProgress||0],accumulated:[ct,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[at,pr(at),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[at,pr(at),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:at,overloads:[[[at,at],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[at],(t,[e])=>-e.evaluate(t)]]},\"/\":[at,[at,at],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[at,[at,at],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[at,[],()=>Math.LN2],pi:[at,[],()=>Math.PI],e:[at,[],()=>Math.E],\"^\":[at,[at,at],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[at,[at],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[at,[at],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[at,[at],(t,[e])=>Math.log(e.evaluate(t))],log2:[at,[at],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[at,[at],(t,[e])=>Math.sin(e.evaluate(t))],cos:[at,[at],(t,[e])=>Math.cos(e.evaluate(t))],tan:[at,[at],(t,[e])=>Math.tan(e.evaluate(t))],asin:[at,[at],(t,[e])=>Math.asin(e.evaluate(t))],acos:[at,[at],(t,[e])=>Math.acos(e.evaluate(t))],atan:[at,[at],(t,[e])=>Math.atan(e.evaluate(t))],min:[at,pr(at),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[at,pr(at),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[at,[at],(t,[e])=>Math.abs(e.evaluate(t))],round:[at,[at],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[at,[at],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[at,[at],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[ot,[st,ct],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[ot,[ct],(t,[e])=>t.id()===e.value],\"filter-type-==\":[ot,[st],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[ot,[st,ct],(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\":[ot,[st,ct],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[ot,[ct],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[ot,[st,ct],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[ot,[ct],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[ot,[st,ct],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[ot,[ct],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[ot,[ct],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[ot,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[ot,[mt(st)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[ot,[mt(ct)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[ot,[st,mt(ct)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[ot,[st,mt(ct)],(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:ot,overloads:[[[ot,ot],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[pr(ot),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:ot,overloads:[[[ot,ot],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[pr(ot),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[ot,[ot],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[ot,[st],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[st,[st],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[st,[st],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[st,pr(ct),(t,e)=>e.map((e=>te(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[st,[ht],(t,[e])=>e.evaluate(t).resolvedLocale()]});class zr{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new le,this._defaultValue=e?\"color\"===(r=e).type&&vr(r.default)?new jt(0,0,0,0):\"color\"===r.type?jt.parse(r.default)||null:\"padding\"===r.type?Gt.parse(r.default)||null:\"variableAnchorOffsetCollection\"===r.type?Xt.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,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new re(`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 Mr(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in lr}function Pr(t,e){const r=new ue(lr,Be,[],e?function(t){const e={color:lt,string:st,number:at,enum:st,boolean:ot,formatted:pt,padding:ft,resolvedImage:dt,variableAnchorOffsetCollection:yt};return \"array\"===t.type?mt(e[t.value]||ct,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?fr(new zr(n,e)):dr(r.errors)}class Br{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Ve(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}}class Cr{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Ve(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}interpolationFactor(t,e,r){return this.interpolationType?Oe.interpolationFactor(this.interpolationType,t,e,r):0}}function Vr(t,e){const r=Pr(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=Ce(n);if(!i&&!yr(e))return dr([new rt(\"\",\"data expressions not supported\")]);const a=Ee(n,[\"zoom\"]);if(!a&&!mr(e))return dr([new rt(\"\",\"zoom expressions not supported\")]);const s=Tr(n);return s||a?s instanceof rt?dr([s]):s instanceof Oe&&!gr(e)?dr([new rt(\"\",'\"interpolate\" expressions cannot be used with this property')]):fr(s?new Cr(i?\"camera\":\"composite\",r.value,s.labels,s instanceof Oe?s.interpolation:void 0):new Br(i?\"constant\":\"source\",r.value)):dr([new rt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Er{constructor(t,e){this._parameters=t,this._specification=e,et(this,wr(this._parameters,this._specification));}static deserialize(t){return new Er(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function Tr(t){let e=null;if(t instanceof qe)e=Tr(t.result);else if(t instanceof Re){for(const r of t.args)if(e=Tr(r),e)break}else (t instanceof Fe||t instanceof Oe)&&t.input instanceof Pe&&\"zoom\"===t.input.name&&(e=t);return e instanceof rt||t.eachChild((t=>{const r=Tr(t);r instanceof rt?e=r:!e&&r?e=new rt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new rt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}function Fr(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(!Fr(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}const Lr={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function $r(t){if(null==t)return {filter:()=>!0,needGeometry:!1};Fr(t)||(t=Ur(t));const e=Pr(t,Lr);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:Or(t)}}function Dr(t,e){return te?1:0}function Or(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?Rr(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Ur))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Ur)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Ur).map(Nr)):\"in\"===e?qr(t[1],t.slice(2)):\"!in\"===e?Nr(qr(t[1],t.slice(2))):\"has\"===e?jr(t[1]):\"!has\"===e?Nr(jr(t[1])):\"within\"!==e||t;var r;}function Rr(t,e,r){switch(t){case\"$type\":return [`filter-type-${r}`,e];case\"$id\":return [`filter-id-${r}`,e];default:return [`filter-${r}`,t,e]}}function qr(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(Dr)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function jr(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function Nr(t){return [\"!\",t]}function Zr(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+=`${Zr(r)},`;return `${e}]`}const r=Object.keys(t).sort();let n=\"{\";for(let e=0;en.maximum?[new tt(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Qr(t){const e=t.valueSpec,r=Jr(t.value.type);let n,i,a,s={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===xr(t.value.stops)&&\"array\"===xr(t.value.stops[0])&&\"object\"===xr(t.value.stops[0][0]),c=Yr({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 tt(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(Hr({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===xr(n)&&0===n.length&&e.push(new tt(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 tt(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||c.push(new tt(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!gr(t.valueSpec)&&c.push(new tt(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!yr(t.valueSpec)?c.push(new tt(t.key,t.value,\"property functions not supported\")):o&&!mr(t.valueSpec)&&c.push(new tt(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!u||void 0!==t.value.property||c.push(new tt(t.key,t.value,'\"property\" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if(\"array\"!==xr(n))return [new tt(o,n,`array expected, ${xr(n)} found`)];if(2!==n.length)return [new tt(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==xr(n[0]))return [new tt(o,n,`object expected, ${xr(n[0])} found`)];if(void 0===n[0].zoom)return [new tt(o,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return [new tt(o,n,\"object stop key must have value\")];if(a&&a>Jr(n[0].zoom))return [new tt(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];Jr(n[0].zoom)!==a&&(a=Jr(n[0].zoom),i=void 0,s={}),r=r.concat(Yr({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Wr,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 Mr(Xr(n[1]))?r.concat([new tt(`${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,a){const o=xr(t.value),l=Jr(t.value),u=null!==t.value?t.value:a;if(n){if(o!==n)return [new tt(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 tt(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 yr(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new tt(t.key,u,n)]}return \"categorical\"!==r||\"number\"!==o||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===o&&void 0!==i&&lnew tt(`${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 tt(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&&!Ve(r))return [new tt(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!Ve(r))return [new tt(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!Ee(r,[\"zoom\",\"feature-state\"]))return [new tt(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!Ce(r))return [new tt(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function en(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Jr(r))&&i.push(new tt(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Jr(r))&&i.push(new tt(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function rn(t){return Fr(Xr(t.value))?tn(et({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):nn(t)}function nn(t){const e=t.value,r=t.key;if(\"array\"!==xr(e))return [new tt(r,e,`array expected, ${xr(e)} found`)];const n=t.styleSpec;let i,a=[];if(e.length<1)return [new tt(r,e,\"filter array must have at least 1 element\")];switch(a=a.concat(en({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),Jr(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===Jr(e[1])&&a.push(new tt(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&a.push(new tt(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=xr(e[1]),\"string\"!==i&&a.push(new tt(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let s=2;s{t in r&&e.push(new tt(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{Jr(e.id)===o&&(t=e);})),t?t.ref?e.push(new tt(n,r.ref,\"ref cannot reference another ref layer\")):s=Jr(t.type):e.push(new tt(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==s)if(r.source){const t=i.sources&&i.sources[r.source],a=t&&Jr(t.type);t?\"vector\"===a&&\"raster\"===s?e.push(new tt(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster\"===a&&\"raster\"!==s?e.push(new tt(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==a||r[\"source-layer\"]?\"raster-dem\"===a&&\"hillshade\"!==s?e.push(new tt(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===a&&t.lineMetrics||e.push(new tt(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new tt(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new tt(n,r.source,`source \"${r.source}\" not found`));}else e.push(new tt(n,r,'missing required property \"source\"'));return e=e.concat(Yr({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:\"type\"}),filter:rn,layout:t=>Yr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>on(et({layerType:s},t))}}),paint:t=>Yr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>sn(et({layerType:s},t))}})}})),e}function un(t){const e=t.value,r=t.key,n=xr(e);return \"string\"!==n?[new tt(r,e,`string expected, ${n} found`)]:[]}const cn={promoteId:function({key:t,value:e}){if(\"string\"===xr(e))return un({key:t,value:e});{const r=[];for(const n in e)r.push(...un({key:`${t}.${n}`,value:e[n]}));return r}}};function hn(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,a=t.validateSpec;if(!e.type)return [new tt(r,e,'\"type\" is required')];const s=Jr(e.type);let o;switch(s){case\"vector\":case\"raster\":case\"raster-dem\":return o=Yr({key:r,value:e,valueSpec:n[`source_${s.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:cn,validateSpec:a}),o;case\"geojson\":if(o=Yr({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:a,objectElementValidators:cn}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],s=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;o.push(...tn({key:`${r}.${t}.map`,value:i,validateSpec:a,expressionContext:\"cluster-map\"})),o.push(...tn({key:`${r}.${t}.reduce`,value:s,validateSpec:a,expressionContext:\"cluster-reduce\"}));}return o;case\"video\":return Yr({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:a,styleSpec:n});case\"image\":return Yr({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:a,styleSpec:n});case\"canvas\":return [new tt(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return en({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,validateSpec:a,styleSpec:n})}}function pn(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let a=[];const s=xr(e);if(void 0===e)return a;if(\"object\"!==s)return a=a.concat([new tt(\"light\",e,`object expected, ${s} found`)]),a;for(const s in e){const o=s.match(/^(.*)-transition$/);a=a.concat(o&&n[o[1]]&&n[o[1]].transition?t.validateSpec({key:s,value:e[s],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r}):n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new tt(s,e[s],`unknown property \"${s}\"`)]);}return a}function fn(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let a=[];const s=xr(e);if(void 0===e)return a;if(\"object\"!==s)return a=a.concat([new tt(\"terrain\",e,`object expected, ${s} found`)]),a;for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new tt(s,e[s],`unknown property \"${s}\"`)]);return a}function dn(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],a=[];for(const s in r)r[s].id&&i.includes(r[s].id)&&e.push(new tt(n,r,`all the sprites' ids must be unique, but ${r[s].id} is duplicated`)),i.push(r[s].id),r[s].url&&a.includes(r[s].url)&&e.push(new tt(n,r,`all the sprites' URLs must be unique, but ${r[s].url} is duplicated`)),a.push(r[s].url),e=e.concat(Yr({key:`${n}[${s}]`,value:r[s],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:t.validateSpec}));return e}return un({key:n,value:r})}const yn={\"*\":()=>[],array:Hr,boolean:function(t){const e=t.value,r=t.key,n=xr(e);return \"boolean\"!==n?[new tt(r,e,`boolean expected, ${n} found`)]:[]},number:Wr,color:function(t){const e=t.key,r=t.value,n=xr(r);return \"string\"!==n?[new tt(e,r,`color expected, ${n} found`)]:jt.parse(String(r))?[]:[new tt(e,r,`color expected, \"${r}\" found`)]},constants:Gr,enum:en,filter:rn,function:Qr,layer:ln,object:Yr,source:hn,light:pn,terrain:fn,string:un,formatted:function(t){return 0===un(t).length?[]:tn(t)},resolvedImage:function(t){return 0===un(t).length?[]:tn(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===xr(r)){if(r.length<1||r.length>4)return [new tt(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:\"number\"};let i=[];for(let a=0;a[]}})),t.constants&&(r=r.concat(Gr({key:\"constants\",value:t.constants,style:t,styleSpec:e,validateSpec:mn}))),bn(r)}function vn(t){return function(e){return t({...e,validateSpec:mn})}}function bn(t){return [].concat(t).sort(((t,e)=>t.line-e.line))}function wn(t){return function(...e){return bn(t.apply(this,e))}}xn.source=wn(vn(hn)),xn.sprite=wn(vn(dn)),xn.glyphs=wn(vn(gn)),xn.light=wn(vn(pn)),xn.terrain=wn(vn(fn)),xn.layer=wn(vn(ln)),xn.filter=wn(vn(rn)),xn.paintProperty=wn(vn(sn)),xn.layoutProperty=wn(vn(on));const _n=xn,An=_n.light,Sn=_n.paintProperty,kn=_n.layoutProperty;function In(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new U(new Error(n.message))),r=!0;return r}class zn{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(let t=0;t=u[l+0]&&n>=u[l+1])?(s[h]=!0,a.push(i[h])):s[h]=!1;}}}}_forEachCell(t,e,r,n,i,a,s,o){const l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let p=l;p<=c;p++)for(let l=u;l<=h;l++){const u=this.d*l+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,u,a,s,o))return}}_convertFromCellCoord(t){return (t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const a=t[r];i[r]=Mn[n].shallow.indexOf(r)>=0?a:Cn(a,e);}t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==n&&(i.$name=n),i}throw new Error(\"can't serialize object of type \"+typeof t)}function Vn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||Bn(t)||S(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Vn);if(\"object\"==typeof t){const e=t.$name||\"Object\";if(!Mn[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=Mn[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]=Mn[e].shallow.indexOf(r)>=0?i:Vn(i);}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}class En{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 Fn(t){for(const e of t)if(Dn(e.charCodeAt(0)))return !0;return !1}function Ln(t){for(const e of t)if(!$n(e.charCodeAt(0)))return !1;return !0}function $n(t){return !(Tn.Arabic(t)||Tn[\"Arabic Supplement\"](t)||Tn[\"Arabic Extended-A\"](t)||Tn[\"Arabic Presentation Forms-A\"](t)||Tn[\"Arabic Presentation Forms-B\"](t))}function Dn(t){return !(746!==t&&747!==t&&(t<4352||!(Tn[\"Bopomofo Extended\"](t)||Tn.Bopomofo(t)||Tn[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Tn[\"CJK Compatibility Ideographs\"](t)||Tn[\"CJK Compatibility\"](t)||Tn[\"CJK Radicals Supplement\"](t)||Tn[\"CJK Strokes\"](t)||!(!Tn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Tn[\"CJK Unified Ideographs Extension A\"](t)||Tn[\"CJK Unified Ideographs\"](t)||Tn[\"Enclosed CJK Letters and Months\"](t)||Tn[\"Hangul Compatibility Jamo\"](t)||Tn[\"Hangul Jamo Extended-A\"](t)||Tn[\"Hangul Jamo Extended-B\"](t)||Tn[\"Hangul Jamo\"](t)||Tn[\"Hangul Syllables\"](t)||Tn.Hiragana(t)||Tn[\"Ideographic Description Characters\"](t)||Tn.Kanbun(t)||Tn[\"Kangxi Radicals\"](t)||Tn[\"Katakana Phonetic Extensions\"](t)||Tn.Katakana(t)&&12540!==t||!(!Tn[\"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)||!(!Tn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Tn[\"Unified Canadian Aboriginal Syllabics\"](t)||Tn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Tn[\"Vertical Forms\"](t)||Tn[\"Yijing Hexagram Symbols\"](t)||Tn[\"Yi Syllables\"](t)||Tn[\"Yi Radicals\"](t))))}function On(t){return !(Dn(t)||function(t){return !!(Tn[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Tn[\"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)||Tn[\"Letterlike Symbols\"](t)||Tn[\"Number Forms\"](t)||Tn[\"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)||Tn[\"Control Pictures\"](t)&&9251!==t||Tn[\"Optical Character Recognition\"](t)||Tn[\"Enclosed Alphanumerics\"](t)||Tn[\"Geometric Shapes\"](t)||Tn[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Tn[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Tn[\"CJK Symbols and Punctuation\"](t)||Tn.Katakana(t)||Tn[\"Private Use Area\"](t)||Tn[\"CJK Compatibility Forms\"](t)||Tn[\"Small Form Variants\"](t)||Tn[\"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 Un(t){return t>=1424&&t<=2303||Tn[\"Arabic Presentation Forms-A\"](t)||Tn[\"Arabic Presentation Forms-B\"](t)}function Rn(t,e){return !(!e&&Un(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Tn.Khmer(t))}function qn(t){for(const e of t)if(Un(e.charCodeAt(0)))return !0;return !1}const jn=\"deferred\",Nn=\"loading\",Zn=\"loaded\";let Kn=null,Gn=\"unavailable\",Jn=null;const Xn=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(Gn=\"error\"),Kn&&Kn(t);};function Yn(){Hn.fire(new O(\"pluginStateChange\",{pluginStatus:Gn,pluginURL:Jn}));}const Hn=new R,Wn=function(){return Gn},Qn=function(){if(Gn!==jn||!Jn)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Gn=Nn,Yn(),Jn&&F({url:Jn},(t=>{t?Xn(t):(Gn=Zn,Yn());}));},ti={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Gn===Zn||null!=ti.applyArabicShaping,isLoading:()=>Gn===Nn,setState(t){if(!w())throw new Error(\"Cannot set the state of the rtl-text-plugin when not in the web-worker context\");Gn=t.pluginStatus,Jn=t.pluginURL;},isParsed(){if(!w())throw new Error(\"rtl-text-plugin is only parsed on the worker-threads\");return null!=ti.applyArabicShaping&&null!=ti.processBidirectionalText&&null!=ti.processStyledBidirectionalText},getPluginURL(){if(!w())throw new Error(\"rtl-text-plugin url can only be queried from the worker threads\");return Jn}};class ei{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 En,this.transition={});}isSupportedScript(t){return function(t,e){for(const r of t)if(!Rn(r.charCodeAt(0),e))return !1;return !0}(t,ti.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class ri{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(vr(t))return new Er(t,e);if(Mr(t)){const r=Vr(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=jt.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)?\"variableAnchorOffsetCollection\"===e.type&&Array.isArray(t)&&(r=Xt.parse(t)):r=Gt.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 ni{constructor(t){this.property=t,this.value=new ri(t,void 0);}transitioned(t,e){return new ai(this.property,this.value,e,p({},t.transition,this.transition),t.now)}untransitioned(){return new ai(this.property,this.value,null,{},0)}}class ii{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return m(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new ni(this._values[t].property)),this._values[t].value=new ri(this._values[t].property,null===e?void 0:m(e));}getTransition(t){return m(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new ni(this._values[t].property)),this._values[t].transition=m(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 si(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 si(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class ai{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(s))}}return i}}class si{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);}possiblyEvaluate(t,e,r){const n=new ui(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 oi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);}hasValue(t){return void 0!==this._values[t].value}getValue(t){return m(this._values[t].value)}setValue(t,e){this._values[t]=new ri(this._values[t].property,null===e?void 0:m(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 ui(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class li{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 ui{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);}get(t){return this._values[t]}}class ci{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=De[this.specification.type];return n?n(t,e,r):t}}class hi{constructor(t,e){this.specification=t,this.overrides=e;}possiblyEvaluate(t,e,r,n){return new li(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 li(this,{kind:\"constant\",value:void 0},t.parameters);const n=De[this.specification.type];if(n){const i=n(t.value.value,e.value.value,r);return new li(this,{kind:\"constant\",value:i},t.parameters)}return t}evaluate(t,e,r,n,i,a){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)}}class pi extends hi{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new li(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),a=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,s=this._calculate(a,a,a,e);return new li(this,{kind:\"constant\",value:s},e)}if(\"camera\"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new li(this,{kind:\"constant\",value:r},e)}return new li(this,t.expression,e)}evaluate(t,e,r,n,i,a){if(\"source\"===t.kind){const s=t.evaluate(e,r,n,i,a);return this._calculate(s,s,s,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class fi{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 ei(Math.floor(e.zoom-1),e)),t.expression.evaluate(new ei(Math.floor(e.zoom),e)),t.expression.evaluate(new ei(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 di{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)}interpolate(){return !1}}class yi{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 ri(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new ni(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}}}Pn(\"DataDrivenProperty\",hi),Pn(\"DataConstantProperty\",ci),Pn(\"CrossFadedDataDrivenProperty\",pi),Pn(\"CrossFadedProperty\",fi),Pn(\"ColorRampProperty\",di);const mi=\"-transition\";class gi extends R{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 oi(e.layout)),e.paint)){this._transitionablePaint=new ii(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 ui(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(kn,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return t.endsWith(mi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate(Sn,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(t.endsWith(mi))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(),a=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const s=this._transitionablePaint._values[t].value;return s.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,a,s)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);}serialize(){const t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),y(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)&&In(this,t.call(_n,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:q,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 li&&yr(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}}const xi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class vi{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 bi{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 wi(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=xi[t.type].BYTES_PER_ELEMENT,a=r=_i(r,Math.max(e,i)),s=t.components||1;return n=Math.max(n,i),r+=i*s,{name:t.name,type:t.type,components:s,offset:a}})),size:_i(r,Math.max(n,e)),alignment:e}}function _i(t,e){return Math.ceil(t/e)*e}class Ai extends bi{_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}}Ai.prototype.bytesPerElement=4,Pn(\"StructArrayLayout2i4\",Ai);class Si extends bi{_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}}Si.prototype.bytesPerElement=6,Pn(\"StructArrayLayout3i6\",Si);class ki extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t}}ki.prototype.bytesPerElement=8,Pn(\"StructArrayLayout4i8\",ki);class Ii extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=a,this.int16[o+5]=s,t}}Ii.prototype.bytesPerElement=12,Pn(\"StructArrayLayout2i4i12\",Ii);class zi extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=s,t}}zi.prototype.bytesPerElement=8,Pn(\"StructArrayLayout2i4ub8\",zi);class Mi extends bi{_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}}Mi.prototype.bytesPerElement=8,Pn(\"StructArrayLayout2f8\",Mi);class Pi extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,s,o,l,u)}emplace(t,e,r,n,i,a,s,o,l,u,c){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=s,this.uint16[h+6]=o,this.uint16[h+7]=l,this.uint16[h+8]=u,this.uint16[h+9]=c,t}}Pi.prototype.bytesPerElement=20,Pn(\"StructArrayLayout10ui20\",Pi);class Bi extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,a,s,o,l,u,c,h)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p){const f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=s,this.uint16[f+6]=o,this.uint16[f+7]=l,this.int16[f+8]=u,this.int16[f+9]=c,this.int16[f+10]=h,this.int16[f+11]=p,t}}Bi.prototype.bytesPerElement=24,Pn(\"StructArrayLayout4i4ui4i24\",Bi);class Ci extends bi{_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}}Ci.prototype.bytesPerElement=12,Pn(\"StructArrayLayout3f12\",Ci);class Vi extends bi{_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}}Vi.prototype.bytesPerElement=4,Pn(\"StructArrayLayout1ul4\",Vi);class Ei extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,s,o,l)}emplace(t,e,r,n,i,a,s,o,l,u){const c=10*t,h=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=s,this.uint32[h+3]=o,this.uint16[c+8]=l,this.uint16[c+9]=u,t}}Ei.prototype.bytesPerElement=20,Pn(\"StructArrayLayout6i1ul2ui20\",Ei);class Ti extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=a,this.int16[o+5]=s,t}}Ti.prototype.bytesPerElement=12,Pn(\"StructArrayLayout2i2i2i12\",Ti);class Fi extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)}emplace(t,e,r,n,i,a){const s=4*t,o=8*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.int16[o+6]=i,this.int16[o+7]=a,t}}Fi.prototype.bytesPerElement=16,Pn(\"StructArrayLayout2f1f2i16\",Fi);class Li extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=12*t,s=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[s+1]=n,this.float32[s+2]=i,t}}Li.prototype.bytesPerElement=12,Pn(\"StructArrayLayout2ub2f12\",Li);class $i extends bi{_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}}$i.prototype.bytesPerElement=6,Pn(\"StructArrayLayout3ui6\",$i);class Di extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g){const x=24*t,v=12*t,b=48*t;return this.int16[x+0]=e,this.int16[x+1]=r,this.uint16[x+2]=n,this.uint16[x+3]=i,this.uint32[v+2]=a,this.uint32[v+3]=s,this.uint32[v+4]=o,this.uint16[x+10]=l,this.uint16[x+11]=u,this.uint16[x+12]=c,this.float32[v+7]=h,this.float32[v+8]=p,this.uint8[b+36]=f,this.uint8[b+37]=d,this.uint8[b+38]=y,this.uint32[v+10]=m,this.int16[x+22]=g,t}}Di.prototype.bytesPerElement=48,Pn(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Di);class Oi extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,I,z){const M=this.length;return this.resize(M+1),this.emplace(M,t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,I,z)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,I,z,M){const P=32*t,B=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]=a,this.int16[P+5]=s,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[B+12]=S,this.float32[B+13]=k,this.float32[B+14]=I,this.uint16[P+30]=z,this.uint16[P+31]=M,t}}Oi.prototype.bytesPerElement=64,Pn(\"StructArrayLayout8i15ui1ul2f2ui64\",Oi);class Ui extends bi{_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}}Ui.prototype.bytesPerElement=4,Pn(\"StructArrayLayout1f4\",Ui);class Ri extends bi{_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}}Ri.prototype.bytesPerElement=12,Pn(\"StructArrayLayout1ui2f12\",Ri);class qi extends bi{_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}}qi.prototype.bytesPerElement=8,Pn(\"StructArrayLayout1ul2ui8\",qi);class ji extends bi{_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}}ji.prototype.bytesPerElement=4,Pn(\"StructArrayLayout2ui4\",ji);class Ni extends bi{_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}}Ni.prototype.bytesPerElement=2,Pn(\"StructArrayLayout1ui2\",Ni);class Zi extends bi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t}}Zi.prototype.bytesPerElement=16,Pn(\"StructArrayLayout4f16\",Zi);class Ki extends vi{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 i(this.anchorPointX,this.anchorPointY)}}Ki.prototype.size=20;class Gi extends Ei{get(t){return new Ki(this,t)}}Pn(\"CollisionBoxArray\",Gi);class Ji extends vi{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]}}Ji.prototype.size=48;class Xi extends Di{get(t){return new Ji(this,t)}}Pn(\"PlacedSymbolArray\",Xi);class Yi extends vi{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]}}Yi.prototype.size=64;class Hi extends Oi{get(t){return new Yi(this,t)}}Pn(\"SymbolInstanceArray\",Hi);class Wi extends Ui{getoffsetX(t){return this.float32[1*t+0]}}Pn(\"GlyphOffsetArray\",Wi);class Qi extends Si{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Pn(\"SymbolLineVertexArray\",Qi);class ta extends vi{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]}}ta.prototype.size=12;class ea extends Ri{get(t){return new ta(this,t)}}Pn(\"TextAnchorOffsetArray\",ea);class ra extends vi{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]}}ra.prototype.size=8;class na extends qi{get(t){return new ra(this,t)}}Pn(\"FeatureIndexArray\",na);class ia extends Ai{}class aa extends Ai{}class sa extends Ai{}class oa extends Ii{}class la extends zi{}class ua extends Mi{}class ca extends Pi{}class ha extends Bi{}class pa extends Ci{}class fa extends Vi{}class da extends Ti{}class ya extends Li{}class ma extends $i{}class ga extends ji{}const xa=wi([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:va}=xa;class ba{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ba.MAX_VERTEX_ARRAY_LENGTH&&x(`Max vertices per segment is ${ba.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ba.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 ba([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function wa(t,e){return 256*(t=c(Math.floor(t),0,255))+c(Math.floor(e),0,255)}ba.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Pn(\"SegmentVector\",ba);const _a=wi([{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 Aa={exports:{}},Sa={exports:{}};Sa.exports=function(t,e){var r,n,i,a,s,o,l,u;for(n=t.length-(r=3&t.length),i=e,s=3432918353,o=461845907,u=0;u>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var ka=Sa.exports,Ia={exports:{}};Ia.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var za=ka,Ma=Ia.exports;Aa.exports=za,Aa.exports.murmur3=za,Aa.exports.murmur2=Ma;var Pa=e(Aa.exports);class Ba{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(Ca(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=Ca(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 Va(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new Ba;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function Ca(t){const e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:Pa(String(t))}function Va(t,e,r,n){for(;r>1];let a=r-1,s=n+1;for(;;){do{a++;}while(t[a]i);if(a>=s)break;Ea(t,a,s),Ea(e,3*a,3*s),Ea(e,3*a+1,3*s+1),Ea(e,3*a+2,3*s+2);}s-r`u_${t}`)),this.type=r;}setUniform(t,e,r){t.set(r.constantOr(this.value));}getBinding(t,e,r){return \"color\"===this.type?new $a(t,e):new Fa(t,e)}}class Ra{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 La(t,e):new Fa(t,e)}}class qa{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i){const a=this.paintVertexArray.length,s=this.expression.evaluate(new ei(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,s);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=Oa(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new a;}populatePaintArray(t,e,r,n,i){const a=this.expression.evaluate(new ei(this.zoom),e,{},n,[],i),s=this.expression.evaluate(new ei(this.zoom+1),e,{},n,[],i),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,a,s);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Oa(r),a=Oa(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 qa||r instanceof ja)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Za(n,e,r);this.needsUpload=!1,this._featureMap=new Ba,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,a){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}function Ga(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 Ja(t,e,r){const n={color:{source:Mi,composite:Zi},number:{source:Ui,composite:Mi}},i=function(t){return {\"line-pattern\":{source:ca,composite:ca},\"fill-pattern\":{source:ca,composite:ca},\"fill-extrusion-pattern\":{source:ca,composite:ca}}[t]}(t);return i&&i[r]||n[e][r]}Pn(\"ConstantBinder\",Ua),Pn(\"CrossFadedConstantBinder\",Ra),Pn(\"SourceExpressionBinder\",qa),Pn(\"CrossFadedCompositeBinder\",Na),Pn(\"CompositeExpressionBinder\",ja),Pn(\"ProgramConfiguration\",Za,{omit:[\"_buffers\"]}),Pn(\"ProgramConfigurationSet\",Ka);const Xa=8192,Ya=Math.pow(2,14)-1,Ha=-Ya-1;function Wa(t){const e=Xa/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||ar.y+1)&&x(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}}return r}function Qa(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Wa(t):[]}}function ts(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}class es{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 aa,this.indexArray=new ma,this.segments=new ba,this.programConfigurations=new Ka(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){const n=this.layers[0],i=[];let a=null,s=!1;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"),s=!a.isConstant());for(const{feature:e,id:n,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Qa(e,t);if(!this.layers[0]._featureFilter.filter(new ei(this.zoom),u,r))continue;const c=s?a.evaluate(u,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Wa(e),patterns:{},sortKey:c};i.push(h);}s&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:a,sourceLayerIndex:s}=n,o=t[a].feature;this.addFeature(n,i,a,r),e.featureIndex.insert(o,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,va),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>=Xa||n<0||n>=Xa)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=i.vertexLength;ts(this.layoutVertexArray,r,n,-1,-1),ts(this.layoutVertexArray,r,n,1,-1),ts(this.layoutVertexArray,r,n,1,1),ts(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);}}function rs(t,e){for(let r=0;r1){if(ss(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function cs(t,e){let r,n,i,a=!1;for(let s=0;se.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);}return a}function hs(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(r=!r);}return r}function ps(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const a=v(t,e,r[0]);return a!==v(t,e,r[1])||a!==v(t,e,r[2])||a!==v(t,e,r[3])}function fs(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function ds(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ys(t,e,r,n,a){if(!e[0]&&!e[1])return t;const s=i.convert(e)._mult(a);\"viewport\"===r&&s._rotate(-n);const o=[];for(let e=0;ezs(t,e)))}(l,o),p=c?u*s:u;for(const t of n)for(const e of t){const t=c?e:zs(e,o);let r=p;const n=ks([],[e.x,e.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?r*=n[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=a.cameraToCenterDistance/n[3]),ns(h,t,r))return !0}return !1}}function zs(t,e){const r=ks([],[t.x,t.y,0,1],e);return new i(r[0]/r[3],r[1]/r[3])}class Ms extends es{}let Ps;Pn(\"HeatmapBucket\",Ms,{omit:[\"layers\"]});var Bs={get paint(){return Ps=Ps||new yi({\"heatmap-radius\":new hi(q.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new hi(q.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new ci(q.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new di(q.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new ci(q.paint_heatmap[\"heatmap-opacity\"])})}};function Cs(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 Vs(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=Cs({},{width:e,height:r},n);Es(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 Es(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const s=t.data,o=e.data;if(s===o)throw new Error(\"srcData equals dstData, so image is already copied\");for(let l=0;l{e[t.evaluationKey]=a;const s=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*s.r/s.a),i.data[r+n+1]=Math.floor(255*s.g/s.a),i.data[r+n+2]=Math.floor(255*s.b/s.a),i.data[r+n+3]=Math.floor(255*s.a);};if(t.clips)for(let e=0,i=0;e80*r){n=a=t[0],i=s=t[1];for(var d=r;da&&(a=o),l>s&&(s=l);u=0!==(u=Math.max(a-n,s-i))?32767/u:0;}return Gs(p,f,r,n,i,u,0),f}function Zs(t,e,r,n,i){var a,s;if(i===mo(t,e,r,n)>0)for(a=e;a=e;a-=n)s=po(a,t[a],t[a+1],s);return s&&so(s,s.next)&&(fo(s),s=s.next),s}function Ks(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!so(n,n.next)&&0!==ao(n.prev,n,n.next))n=n.next;else {if(fo(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function Gs(t,e,r,n,i,a,s){if(t){!s&&a&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=eo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,s,o,l,u=1;do{for(r=t,t=null,a=null,s=0;r;){for(s++,n=r,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,o--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n;}a.nextZ=null,u*=2;}while(s>1)}(i);}(t,n,i,a);for(var o,l,u=t;t.prev!==t.next;)if(o=t.prev,l=t.next,a?Xs(t,n,i,a):Js(t))e.push(o.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),fo(t),t=l.next,u=l.next;else if((t=l)===u){s?1===s?Gs(t=Ys(Ks(t),e,r),e,r,n,i,a,2):2===s&&Hs(t,e,r,n,i,a):Gs(Ks(t),e,r,n,i,a,1);break}}}function Js(t){var e=t.prev,r=t,n=t.next;if(ao(e,r,n)>=0)return !1;for(var i=e.x,a=r.x,s=n.x,o=e.y,l=r.y,u=n.y,c=ia?i>s?i:s:a>s?a:s,f=o>l?o>u?o:u:l>u?l:u,d=n.next;d!==e;){if(d.x>=c&&d.x<=p&&d.y>=h&&d.y<=f&&no(i,o,a,l,s,u,d.x,d.y)&&ao(d.prev,d,d.next)>=0)return !1;d=d.next;}return !0}function Xs(t,e,r,n){var i=t.prev,a=t,s=t.next;if(ao(i,a,s)>=0)return !1;for(var o=i.x,l=a.x,u=s.x,c=i.y,h=a.y,p=s.y,f=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=eo(f,d,e,r,n),x=eo(y,m,e,r,n),v=t.prevZ,b=t.nextZ;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==s&&no(o,c,l,h,u,p,v.x,v.y)&&ao(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==s&&no(o,c,l,h,u,p,b.x,b.y)&&ao(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==s&&no(o,c,l,h,u,p,v.x,v.y)&&ao(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==s&&no(o,c,l,h,u,p,b.x,b.y)&&ao(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Ys(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!so(i,a)&&oo(i,n,n.next,a)&&co(i,a)&&co(a,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(a.i/r|0),fo(n),fo(n.next),n=t=a),n=n.next;}while(n!==t);return Ks(n)}function Hs(t,e,r,n,i,a){var s=t;do{for(var o=s.next.next;o!==s.prev;){if(s.i!==o.i&&io(s,o)){var l=ho(s,o);return s=Ks(s,s.next),l=Ks(l,l.next),Gs(s,e,r,n,i,a,0),void Gs(l,e,r,n,i,a,0)}o=o.next;}s=s.next;}while(s!==t)}function Ws(t,e){return t.x-e.x}function Qs(t,e){var r=function(t,e){var r,n=e,i=t.x,a=t.y,s=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var o=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=i&&o>s&&(s=o,r=n.x=n.x&&n.x>=c&&i!==n.x&&no(ar.x||n.x===r.x&&to(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 Ks(n,n.next),Ks(r,r.next)}function to(t,e){return ao(t.prev,t,e.prev)<0&&ao(e.next,t,t.next)<0}function eo(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-s)*(a-o)&&(t-s)*(n-o)>=(r-s)*(e-o)&&(r-s)*(a-o)>=(i-s)*(n-o)}function io(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&&oo(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(co(t,e)&&co(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(ao(t.prev,t,e.prev)||ao(t,e.prev,e))||so(t,e)&&ao(t.prev,t,t.next)>0&&ao(e.prev,e,e.next)>0)}function ao(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function so(t,e){return t.x===e.x&&t.y===e.y}function oo(t,e,r,n){var i=uo(ao(t,e,r)),a=uo(ao(t,e,n)),s=uo(ao(r,n,t)),o=uo(ao(r,n,e));return i!==a&&s!==o||!(0!==i||!lo(t,r,e))||!(0!==a||!lo(t,n,e))||!(0!==s||!lo(r,t,n))||!(0!==o||!lo(r,e,n))}function lo(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 uo(t){return t>0?1:t<0?-1:0}function co(t,e){return ao(t.prev,t,t.next)<0?ao(t,e,t.next)>=0&&ao(t,t.prev,e)>=0:ao(t,e,t.prev)<0||ao(t,t.next,e)<0}function ho(t,e){var r=new yo(t.i,t.x,t.y),n=new yo(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function po(t,e,r,n){var i=new yo(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 fo(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 yo(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 mo(t,e,r,n){for(var i=0,a=e,s=r-n;a0&&r.holes.push(n+=t[i-1].length);}return r};var go=e(js.exports);function xo(t,e,r,n,i){vo(t,e,r||0,n||t.length-1,i||wo);}function vo(t,e,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,s=e-r+1,o=Math.log(a),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(a-l)/a)*(s-a/2<0?-1:1);vo(t,e,Math.max(r,Math.floor(e-s*l/a+u)),Math.min(n,Math.floor(e+(a-s)*l/a+u)),i);}var c=t[e],h=r,p=n;for(bo(t,r,e),i(t[n],c)>0&&bo(t,r,n);h0;)p--;}0===i(t[r],c)?bo(t,r,p):bo(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function bo(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function wo(t,e){return te?1:0}function _o(t,e){const r=t.length;if(r<=1)return [t];const n=[];let i,a;for(let e=0;e1)for(let t=0;tt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new sa,this.indexArray=new ma,this.indexArray2=new ga,this.programConfigurations=new Ka(t.layers,t.zoom),this.segments=new ba,this.segments2=new ba,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=So(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:s,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Qa(s,t);if(!this.layers[0]._featureFilter.filter(new ei(this.zoom),c,r))continue;const h=i?n.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:s.properties,type:s.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:Wa(s),patterns:{},sortKey:h};a.push(p);}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:s}=n;if(this.hasPattern){const t=ko(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,a,r,{});e.featureIndex.insert(t[a].feature,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,qs),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 _o(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&a.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new Fo(a,s));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},$o.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,s=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return [s,l,o,u]},$o.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),s=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=$o.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));}qo.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 Uo(this._pbf,e,this.extent,this._keys,this._values)};var No=Ro;function Zo(t,e,r){if(3===t){var n=new No(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}To.VectorTile=function(t,e){this.layers=t.readFields(Zo,{},e);},To.VectorTileFeature=Lo,To.VectorTileLayer=Ro;const Ko=To.VectorTileFeature.types,Go=Math.pow(2,13);function Jo(t,e,r,n,i,a,s,o){t.emplaceBack(e,r,2*Math.floor(n*Go)+s,i*Go*2,a*Go*2,Math.round(o));}class Xo{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 oa,this.centroidVertexArray=new ia,this.indexArray=new ma,this.programConfigurations=new Ka(t.layers,t.zoom),this.segments=new ba,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.features=[],this.hasPattern=So(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:a,sourceLayerIndex:s}of t){const t=this.layers[0]._featureFilter.needGeometry,o=Qa(n,t);if(!this.layers[0]._featureFilter.filter(new ei(this.zoom),o,r))continue;const l={id:i,sourceLayerIndex:s,index:a,geometry:t?o.geometry:Wa(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(ko(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,r,{}),e.featureIndex.insert(n,l.geometry,a,s,this.index,!0);}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Eo),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,Vo.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy());}addFeature(t,e,r,n,i){const a={x:0,y:0,vertexCount:0};for(const r of _o(e,500)){let e=0;for(const t of r)e+=t.length;let n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Ho(t))continue;let e=0;for(let r=0;r=1){const s=t[r-1];if(!Yo(i,s)){n.vertexLength+4>ba.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=i.sub(s)._perp()._unit(),r=s.dist(i);e+r>32768&&(e=0),Jo(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,0,e),Jo(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,1,e),a.x+=2*i.x,a.y+=2*i.y,a.vertexCount+=2,e+=r,Jo(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,e),Jo(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,e),a.x+=2*s.x,a.y+=2*s.y,a.vertexCount+=2;const o=n.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),n.vertexLength+=4,n.primitiveLength+=2;}}}}if(n.vertexLength+e>ba.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==Ko[t.type])continue;const i=[],s=[],o=n.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&s.push(i.length/2);for(let e=0;eXa)||t.y===e.y&&(t.y<0||t.y>Xa)}function Ho(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Xa))||t.every((t=>t.y<0))||t.every((t=>t.y>Xa))}let Wo;Pn(\"FillExtrusionBucket\",Xo,{omit:[\"layers\",\"features\"]});var Qo={get paint(){return Wo=Wo||new yi({\"fill-extrusion-opacity\":new ci(q[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new hi(q[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new ci(q[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new ci(q[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new pi(q[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new hi(q[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new hi(q[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new ci(q[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class tl extends gi{constructor(t){super(t,Qo);}createBucket(t){return new Xo(t)}queryRadius(){return ds(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}queryIntersectsFeature(t,e,r,n,a,s,o,l){const u=ys(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),s.angle,o),c=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),p=function(t,e,r,n){const a=[];for(const r of t){const t=[r.x,r.y,0,1];ks(t,t,e),a.push(new i(t[0]/t[3],t[1]/t[3]));}return a}(u,l),f=function(t,e,r,n){const a=[],s=[],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 a of e){const e=a.x,s=a.y,y=n[0]*e+n[4]*s+n[12],m=n[1]*e+n[5]*s+n[13],g=n[2]*e+n[6]*s+n[14],x=n[3]*e+n[7]*s+n[15],v=g+u,b=x+c,w=y+h,_=m+p,A=g+f,S=x+d,k=new i((y+o)/b,(m+l)/b);k.z=v/b,t.push(k);const I=new i(w/S,_/S);I.z=A/S,r.push(I);}a.push(t),s.push(r);}return [a,s]}(n,h,c,l);return function(t,e,r){let n=1/0;is(r,e)&&(n=rl(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 la,this.layoutVertexArray2=new ua,this.indexArray=new ma,this.programConfigurations=new Ka(t.layers,t.zoom),this.segments=new ba,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=So(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:e,id:s,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Qa(e,t);if(!this.layers[0]._featureFilter.filter(new ei(this.zoom),u,r))continue;const c=i?n.evaluate(u,{},r):void 0,h={id:s,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Wa(e),patterns:{},sortKey:c};a.push(h);}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:s}=n;if(this.hasPattern){const t=ko(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,a,r,{});e.featureIndex.insert(t[a].feature,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,sl)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,il),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const a=this.layers[0].layout,s=a.get(\"line-join\").evaluate(t,{}),o=a.get(\"line-cap\"),l=a.get(\"line-miter-limit\"),u=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,s,o,l,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);}addLine(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,d,0,0,c),p=e;}}const A=p&&f;let S=A?r:s?\"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,a=!1){const s=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,s,o,a,!0,-n,i),this.distance>ul/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,a));}addHalfVertex({x:t,y:e},r,n,i,a,s,o){const l=.5*(this.lineClips?this.scaledDistance*(ul-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===s?0:s<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),a?this.e2=u:this.e1=u;}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}let hl,pl;Pn(\"LineBucket\",cl,{omit:[\"layers\",\"patternFeatures\"]});var fl={get paint(){return pl=pl||new yi({\"line-opacity\":new hi(q.paint_line[\"line-opacity\"]),\"line-color\":new hi(q.paint_line[\"line-color\"]),\"line-translate\":new ci(q.paint_line[\"line-translate\"]),\"line-translate-anchor\":new ci(q.paint_line[\"line-translate-anchor\"]),\"line-width\":new hi(q.paint_line[\"line-width\"]),\"line-gap-width\":new hi(q.paint_line[\"line-gap-width\"]),\"line-offset\":new hi(q.paint_line[\"line-offset\"]),\"line-blur\":new hi(q.paint_line[\"line-blur\"]),\"line-dasharray\":new fi(q.paint_line[\"line-dasharray\"]),\"line-pattern\":new pi(q.paint_line[\"line-pattern\"]),\"line-gradient\":new di(q.paint_line[\"line-gradient\"])})},get layout(){return hl=hl||new yi({\"line-cap\":new ci(q.layout_line[\"line-cap\"]),\"line-join\":new hi(q.layout_line[\"line-join\"]),\"line-miter-limit\":new ci(q.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new ci(q.layout_line[\"line-round-limit\"]),\"line-sort-key\":new hi(q.layout_line[\"line-sort-key\"])})}};class dl extends hi{possiblyEvaluate(t,e){return e=new ei(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=p({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let yl;class ml extends gi{constructor(t){super(t,fl),this.gradientVersion=0,yl||(yl=new dl(fl.paint.properties[\"line-width\"].specification),yl.useIntegerZoom=!0);}_handleSpecialPaintPropertyUpdate(t){\"line-gradient\"===t&&(this.stepInterpolant=this._transitionablePaint._values[\"line-gradient\"].value.expression._styleExpression.expression instanceof Fe,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\"]=yl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,t);}createBucket(t){return new cl(t)}queryRadius(t){const e=t,r=gl(fs(\"line-width\",this,e),fs(\"line-gap-width\",this,e)),n=fs(\"line-offset\",this,e);return r/2+Math.abs(n)+ds(this.paint.get(\"line-translate\"))}queryIntersectsFeature(t,e,r,n,a,s,o){const l=ys(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),s.angle,o),u=o/2*gl(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 xl=wi([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),vl=wi([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);wi([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const bl=wi([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);wi([{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 wl=wi([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),_l=wi([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function Al(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()),ti.applyArabicShaping&&(t=ti.applyArabicShaping(t)),t}(t.text,e,r);})),t}wi([{name:\"triangle\",components:3,type:\"Uint16\"}]),wi([{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\"}]),wi([{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\"}]),wi([{type:\"Float32\",name:\"offsetX\"}]),wi([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),wi([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);const Sl={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var kl=24,Il=Pl,zl=function(t,e,r,n,i){var a,s,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,f=t[e+h];for(h+=p,a=f&(1<<-c)-1,f>>=-c,c+=o;c>0;a=256*a+t[e+h],h+=p,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=n;c>0;s=256*s+t[e+h],h+=p,c-=8);if(0===a)a=1-u;else {if(a===l)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),a-=u;}return (f?-1:1)*s*Math.pow(2,a-n)},Ml=function(t,e,r,n,i,a){var s,o,l,u=8*a-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(o=0,s=c):s+h>=1?(o=(e*l-1)*Math.pow(2,i),s+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[r+f]=255&o,f+=d,o/=256,i-=8);for(s=s<0;t[r+f]=255&s,f+=d,s/=256,u-=8);t[r+f-d]|=128*y;};function Pl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}Pl.Varint=0,Pl.Fixed64=1,Pl.Bytes=2,Pl.Fixed32=5;var Bl=4294967296,Cl=1/Bl,Vl=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function El(t){return t.type===Pl.Bytes?t.readVarint()+t.pos:t.pos+1}function Tl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Fl(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 Ll(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function Gl(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Pl.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Zl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Gl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Zl(this.buf,this.pos)+Zl(this.buf,this.pos+4)*Bl;return this.pos+=8,t},readSFixed64:function(){var t=Zl(this.buf,this.pos)+Gl(this.buf,this.pos+4)*Bl;return this.pos+=8,t},readFloat:function(){var t=zl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=zl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Tl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Tl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Tl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Tl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Tl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Tl(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&&Vl?function(t,e,r){return Vl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(s=t[i+2],128==(192&(a=t[i+1]))&&128==(192&s)&&((u=(15&l)<<12|(63&a)<<6|63&s)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(s=t[i+2],o=t[i+3],128==(192&(a=t[i+1]))&&128==(192&s)&&128==(192&o)&&((u=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Pl.Bytes)return t.push(this.readVarint(e));var r=El(this);for(t=t||[];this.pos127;);else if(e===Pl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Pl.Fixed32)this.pos+=4;else {if(e!==Pl.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Fl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),Ml(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),Ml(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&&Fl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,Pl.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Ll,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,$l,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Ul,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Dl,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Ol,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Rl,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,ql,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,jl,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Nl,e);},writeBytesField:function(t,e){this.writeTag(t,Pl.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,Pl.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,Pl.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,Pl.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,Pl.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,Pl.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,Pl.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,Pl.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,Pl.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,Pl.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var Jl=e(Il);const Xl=3;function Yl(t,e,r){1===t&&r.readMessage(Hl,e);}function Hl(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:a,left:s,top:o,advance:l}=r.readMessage(Wl,{});e.push({id:t,bitmap:new Ts({width:i+2*Xl,height:a+2*Xl},n),metrics:{width:i,height:a,left:s,top:o,advance:l}});}}function Wl(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 Ql=Xl;function tu(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,a=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,a=Math.max(a,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t=0&&r>=t&&uu[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(su.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 lu(e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m){const g=ou.fromFeature(e,a);let x;p===t.WritingMode.vertical&&g.verticalizePunctuation();const{processBidirectionalText:v,processStyledBidirectionalText:b}=ti;if(v&&1===g.sections.length){x=[];const t=v(g.toString(),mu(g,c,s,r,i,d,y));for(const e of t){const t=new ou;t.text=e,t.sections=g.sections;for(let r=0;r0&&n>_&&(_=n);}else {const t=n[y.fontStack],e=t&&t[g];if(e&&e.rect)A=e.rect,b=e.metrics;else {const t=r[y.fontStack],e=t&&t[g];if(!e)continue;b=e.metrics;}x=(a-y.scale)*kl;}I?(e.verticalizable=!0,w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:I,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:I,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=b.advance*y.scale+c);}0!==w.length&&(y=Math.max(f-c,y),xu(w,0,w.length-1,g,_)),f=0;const A=s*a+_;b.lineOffset=Math.max(_,l),d+=A,m=Math.max(A,m),++x;}var v;const b=d-au,{horizontalAlign:w,verticalAlign:_}=gu(o);((function(t,e,r,n,i,a,s,o,l){const u=(e-r)*i;let c=0;c=a!==s?-o*n-au:(-n*l+.5)*s;for(const e of t)for(const t of e.positionedGlyphs)t.x+=u,t.y+=c;}))(e.positionedLines,g,w,_,y,m,s,b,a.length),e.top+=-_*b,e.bottom=e.top+b,e.left+=-w*y,e.right=e.left+y;}(_,r,n,i,x,o,l,u,p,c,f,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return !1;return !0}(w)&&_}const uu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},cu={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function hu(t,e,r,n,i,a){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*kl/a+i:0}{const n=r[e.fontStack],a=n&&n[t];return a?a.metrics.advance*e.scale+i:0}}function pu(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let c=0;for(let r=0;rt.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=ws([]),this.placementViewportMatrix=ws([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Su(this.zoom,r[\"text-size\"]),this.iconSizeData=Su(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),a=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==ku(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==ku(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==a&&!i.isConstant(),this.sortFeaturesByY=(\"viewport-y\"===a||\"auto\"===a&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID;}createArrays(){this.text=new Cu(new Ka(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Cu(new Ka(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Wi,this.lineVertexArray=new Qi,this.symbolInstances=new Hi,this.textAnchorOffsets=new ea;}calculateGlyphDependencies(t,e,r,n,i){for(let a=0;a0)&&(\"constant\"!==s.value.kind||s.value.value.length>0),c=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get(\"symbol-sort-key\");if(this.features=[],!u&&!c)return;const p=r.iconDependencies,f=r.glyphDependencies,d=r.availableImages,y=new ei(this.zoom);for(const{feature:r,id:o,index:l,sourceLayerIndex:m}of e){const e=i._featureFilter.needGeometry,g=Qa(r,e);if(!i._featureFilter.filter(y,g,n))continue;let x,v;if(e||(g.geometry=Wa(r)),u){const t=i.getValueAndResolveTokens(\"text-field\",g,n,d),e=Kt.factory(t);Bu(e)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===Wn()||this.hasRTLText&&ti.isParsed())&&(x=Al(e,i,g));}if(c){const t=i.getValueAndResolveTokens(\"icon-image\",g,n,d);v=t instanceof Yt?t:Yt.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:Iu[r.type],sortKey:b}),v&&(p[v.name]=!0),x){const e=s.evaluate(g,{},n).join(\",\"),r=\"viewport\"!==a.get(\"text-rotation-alignment\")&&\"point\"!==a.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of x.sections)if(t.image)p[t.image.name]=!0;else {const n=Fn(x.toString()),i=t.fontStack||e,a=f[i]=f[i]||{};this.calculateGlyphDependencies(t.text,a,r,this.allowVerticalPlacement,n);}}}\"line\"===a.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function a(e){n.push(t[e]),i++;}function s(t,e,i){const a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function o(t,r,i){const a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),a}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t);})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}let Tu,Fu;Pn(\"SymbolBucket\",Eu,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Eu.MAX_GLYPHS=65535,Eu.addDynamicAttributes=Pu;var Lu={get paint(){return Fu=Fu||new yi({\"icon-opacity\":new hi(q.paint_symbol[\"icon-opacity\"]),\"icon-color\":new hi(q.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new hi(q.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new hi(q.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new hi(q.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new ci(q.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new ci(q.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new hi(q.paint_symbol[\"text-opacity\"]),\"text-color\":new hi(q.paint_symbol[\"text-color\"],{runtimeType:lt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new hi(q.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new hi(q.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new hi(q.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new ci(q.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new ci(q.paint_symbol[\"text-translate-anchor\"])})},get layout(){return Tu=Tu||new yi({\"symbol-placement\":new ci(q.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new ci(q.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new ci(q.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new hi(q.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new ci(q.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new ci(q.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new ci(q.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new ci(q.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new ci(q.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new ci(q.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new hi(q.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new ci(q.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new ci(q.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new hi(q.layout_symbol[\"icon-image\"]),\"icon-rotate\":new hi(q.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new hi(q.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new ci(q.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new hi(q.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new hi(q.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new ci(q.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new ci(q.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new ci(q.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new hi(q.layout_symbol[\"text-field\"]),\"text-font\":new hi(q.layout_symbol[\"text-font\"]),\"text-size\":new hi(q.layout_symbol[\"text-size\"]),\"text-max-width\":new hi(q.layout_symbol[\"text-max-width\"]),\"text-line-height\":new ci(q.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new hi(q.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new hi(q.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new hi(q.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new ci(q.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new hi(q.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new hi(q.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new ci(q.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new ci(q.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new hi(q.layout_symbol[\"text-rotate\"]),\"text-padding\":new ci(q.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new ci(q.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new hi(q.layout_symbol[\"text-transform\"]),\"text-offset\":new hi(q.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new ci(q.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new ci(q.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new ci(q.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new ci(q.layout_symbol[\"text-optional\"])})}};class $u{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:it,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}}Pn(\"FormatSectionOverride\",$u,{omit:[\"defaultValue\"]});class Du extends gi{constructor(t){super(t,Lu);}recalculate(t,e){if(super.recalculate(t,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=\"map\"===this.layout.get(\"text-rotation-alignment\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){const t=this.layout.get(\"text-writing-mode\");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values[\"text-writing-mode\"]=e;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Mr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new Eu(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(const t of Lu.paint.overridableProperties){if(!Du.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new $u(e),n=new zr(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new Br(\"source\",n):new Cr(\"composite\",n,e.value.zoomStops),this.paint._values[t]=new li(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&Du.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=Lu.paint.properties[e];let i=!1;const a=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof Kt)a(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof ee&&Qt(e.value)===pt?a(e.value.sections):e instanceof ar?a(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}}let Ou;var Uu={get paint(){return Ou=Ou||new yi({\"background-color\":new ci(q.paint_background[\"background-color\"]),\"background-pattern\":new fi(q.paint_background[\"background-pattern\"]),\"background-opacity\":new ci(q.paint_background[\"background-opacity\"])})}};class Ru extends gi{constructor(t){super(t,Uu);}}let qu;var ju={get paint(){return qu=qu||new yi({\"raster-opacity\":new ci(q.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new ci(q.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new ci(q.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new ci(q.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new ci(q.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new ci(q.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new ci(q.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new ci(q.paint_raster[\"raster-fade-duration\"])})}};class Nu extends gi{constructor(t){super(t,ju);}}class Zu extends gi{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 Ku{constructor(t){this._callback=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback();}),0));}remove(){delete this._channel,this._callback=()=>{};}}const Gu=6371008.8;class Ju{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 Ju(h(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 Gu*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof Ju)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ju(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Ju(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 Xu=2*Math.PI*Gu;function Yu(t){return Xu*Math.cos(t*Math.PI/180)}function Hu(t){return (180+t)/360}function Wu(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Qu(t,e){return t/Yu(e)}function tc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class ec{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=Ju.convert(t);return new ec(Hu(r.lng),Wu(r.lat),Qu(e,r.lat))}toLngLat(){return new Ju(360*this.x-180,tc(this.y))}toAltitude(){return this.z*Yu(tc(this.y))}meterInMercatorCoordinateUnits(){return 1/Xu*(t=tc(this.y),1/Math.cos(t*Math.PI/180));var t;}}function rc(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 nc{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=sc(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(a=this.y,s=this.z,o=rc(256*(i=this.x),256*(a=Math.pow(2,s)-a-1),s),l=rc(256*(i+1),256*(a+1),s),o[0]+\",\"+o[1]+\",\"+l[0]+\",\"+l[1]);var i,a,s,o,l;const u=function(t,e,r){let n,i=\"\";for(let a=t;a>0;a--)n=1<1?\"@2x\":\"\").replace(/{quadkey}/g,u).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new i((t.x*e-this.x)*Xa,(t.y*e-this.y)*Xa)}toString(){return `${this.z}/${this.x}/${this.y}`}}class ic{constructor(t,e){this.wrap=t,this.canonical=e,this.key=sc(t,e.z,e.z,e.x,e.y);}}class ac{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new nc(r,+n,+i),this.key=sc(e,t,r,n,i);}clone(){return new ac(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 ac(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new ac(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?sc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):sc(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 ac(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 ac(e,this.wrap,e,r,n),new ac(e,this.wrap,e,r+1,n),new ac(e,this.wrap,e,r,n+1),new ac(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)}_unpackMapbox(t,e,r){return (256*t*256+256*e+r)/10-1e4}_unpackTerrarium(t,e,r){return 256*t+e+r/256-32768}getPixels(){return new Fs({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,s=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:a=s-1;break;case 1:s=a+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=a;e=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 uc{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 cc{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new zn(Xa,16,0),this.grid3D=new zn(Xa,16,0),this.featureIndexArray=new na,this.promoteId=e;}insert(t,e,r,n,i,a){const s=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const o=a?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&o.insert(s,n[0],n[1],n[2],n[3]);}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new To.VectorTile(new Jl(this.rawTileData)).layers,this.sourceLayerCoder=new lc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const a=t.params||{},s=Xa/t.tileSize/t.scale,o=$r(a.filter),l=t.queryGeometry,u=t.queryPadding*s,c=pc(l),h=this.grid.query(c.minX-u,c.minY-u,c.maxX+u,c.maxY+u),p=pc(t.cameraQueryGeometry),f=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,((e,r,n,a)=>function(t,e,r,n,a){for(const i of t)if(e<=i.x&&r<=i.y&&n>=i.x&&a>=i.y)return !0;const s=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(const e of s)if(hs(t,e))return !0;for(let e=0;e(p||(p=Wa(e)),r.queryIntersectsFeature(l,e,n,p,this.z,t.transform,s,t.pixelPosMatrix))));}return d}loadMatchingFeature(t,e,r,n,i,a,s,o,l,u,c){const h=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let r=0;r=0)return !0;return !1}(a,h))return;const f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){const t=Qa(d,!0);if(!i.filter(new ei(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new ei(this.tileID.overscaledZ),d))return;const y=this.getId(d,f);for(let e=0;e{const s=e instanceof ui?e.get(a):null;return s&&s.evaluate?s.evaluate(r,n,i):s}))}function pc(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return {minX:e,minY:r,maxX:n,maxY:i}}function fc(t,e){return e-t}function dc(t,e,r,n,a){const s=[];for(let o=0;o=n&&c.x>=n||(o.x>=n?o=new i(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=n&&(c=new i(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=a&&c.y>=a||(o.y>=a?o=new i(o.x+(a-o.y)/(c.y-o.y)*(c.x-o.x),a)._round():c.y>=a&&(c=new i(o.x+(a-o.y)/(c.y-o.y)*(c.x-o.x),a)._round()),u&&o.equals(u[u.length-1])||(u=[o],s.push(u)),u.push(c)))));}}return s}Pn(\"FeatureIndex\",cc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class yc extends i{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n);}clone(){return new yc(this.x,this.y,this.angle,this.segment)}}function mc(t,e,r,n,i){if(void 0===e.segment||0===r)return !0;let a=e,s=e.segment+1,o=0;for(;o>-r/2;){if(s--,s<0)return !1;o-=t[s].dist(a),a=t[s];}o+=t[s].dist(t[s+1]),s++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;s++,o+=e.dist(r);}return !0}function gc(t){let e=0;for(let r=0;ru){const c=(u-l)/a,h=De.number(n.x,i.x,c),p=De.number(n.y,i.y,c),f=new yc(h,p,i.angleTo(n),r);return f._round(),!s||mc(t,f,o,s,e)?f:void 0}l+=a;}}function wc(t,e,r,n,i,a,s,o,l){const u=xc(n,a,s),c=vc(n,i),h=c*s,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new yc(g,x,y,e);r._round(),n&&!mc(t,r,a,n,i)||f.push(r);}}h+=d;}return o||f.length||s||(f=_c(t,h/2,r,n,i,a,s,!0,l)),f}Pn(\"Anchor\",yc);const Ac=eu;function Sc(t,e,r,n){const a=[],s=t.image,o=s.pixelRatio,l=s.paddedRect.w-2*Ac,u=s.paddedRect.h-2*Ac,c=t.right-t.left,h=t.bottom-t.top,p=s.stretchX||[[0,l]],f=s.stretchY||[[0,u]],d=(t,e)=>t+e[1]-e[0],y=p.reduce(d,0),m=f.reduce(d,0),g=l-y,x=u-m;let v=0,b=y,w=0,_=m,A=0,S=g,k=0,I=x;if(s.content&&n){const t=s.content;v=kc(p,0,t[0]),w=kc(f,0,t[1]),b=kc(p,t[0],t[2]),_=kc(f,t[1],t[3]),A=t[0]-v,k=t[1]-w,S=t[2]-t[0]-b,I=t[3]-t[1]-_;}const z=(n,a,l,u)=>{const p=zc(n.stretch-v,b,c,t.left),f=Mc(n.fixed-A,S,n.stretch,y),d=zc(a.stretch-w,_,h,t.top),g=Mc(a.fixed-k,I,a.stretch,m),x=zc(l.stretch-v,b,c,t.left),z=Mc(l.fixed-A,S,l.stretch,y),M=zc(u.stretch-w,_,h,t.top),P=Mc(u.fixed-k,I,u.stretch,m),B=new i(p,d),C=new i(x,d),V=new i(x,M),E=new i(p,M),T=new i(f/o,g/o),F=new i(z/o,P/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),C._matMult(r),E._matMult(r),V._matMult(r);}const $=n.stretch+n.fixed,D=a.stretch+a.fixed;return {tl:B,tr:C,bl:E,br:V,tex:{x:s.paddedRect.x+Ac+$,y:s.paddedRect.y+Ac+D,w:l.stretch+l.fixed-$,h:u.stretch+u.fixed-D},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:T,pixelOffsetBR:F,minFontScaleX:S/o/c,minFontScaleY:I/o/h,isSDF:r}};if(n&&(s.stretchX||s.stretchY)){const t=Ic(p,g,y),e=Ic(f,x,m);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n);}else {let u=s.top*o-l[0],h=s.bottom*o+l[2],p=s.left*o-l[3],f=s.right*o+l[1];const d=s.collisionPadding;if(d&&(p-=d[0]*o,u-=d[1]*o,f+=d[2]*o,h+=d[3]*o),c){const t=new i(p,u),e=new i(f,u),r=new i(p,h),n=new i(f,h),a=c*Math.PI/180;t._rotate(a),e._rotate(a),r._rotate(a),n._rotate(a),p=Math.min(t.x,e.x,r.x,n.x),f=Math.max(t.x,e.x,r.x,n.x),u=Math.min(t.y,e.y,r.y,n.y),h=Math.max(t.y,e.y,r.y,n.y);}t.emplaceBack(e.x,e.y,p,u,f,h,r,n,a);}this.boxEndIndex=t.length;}}class Bc{constructor(t=[],e=Cc){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this.length++,this._up(this.length-1);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=a,t=n;}e[t]=i;}}function Cc(t,e){return te?1:0}function Vc(t,e=1,r=!1){let n=1/0,a=1/0,s=-1/0,o=-1/0;const l=t[0];for(let t=0;ts)&&(s=e.x),(!t||e.y>o)&&(o=e.y);}const u=Math.min(s-n,o-a);let c=u/2;const h=new Bc([],Ec);if(0===u)return new i(n,a);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 Tc(n.p.x-c,n.p.y-c,c,t)),h.push(new Tc(n.p.x+c,n.p.y-c,c,t)),h.push(new Tc(n.p.x-c,n.p.y+c,c,t)),h.push(new Tc(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 Ec(t,e){return e.max-t.max}function Tc(t,e,r,n){this.p=new i(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,us(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}var Fc;t.TextAnchorEnum=void 0,(Fc=t.TextAnchorEnum||(t.TextAnchorEnum={}))[Fc.center=1]=\"center\",Fc[Fc.left=2]=\"left\",Fc[Fc.right=3]=\"right\",Fc[Fc.top=4]=\"top\",Fc[Fc.bottom=5]=\"bottom\",Fc[Fc[\"top-left\"]=6]=\"top-left\",Fc[Fc[\"top-right\"]=7]=\"top-right\",Fc[Fc[\"bottom-left\"]=8]=\"bottom-left\",Fc[Fc[\"bottom-right\"]=9]=\"bottom-right\";const Lc=7,$c=Number.POSITIVE_INFINITY;function Dc(t,e){return e[1]!==$c?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-Lc;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+Lc;}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-Lc;break;case\"bottom-right\":case\"bottom-left\":n=-i+Lc;break;case\"bottom\":n=-e+Lc;break;case\"top\":n=e-Lc;}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 Oc(t,e,r){var n;const i=t.layout,a=null===(n=i.get(\"text-variable-anchor-offset\"))||void 0===n?void 0:n.evaluate(e,{},r);if(a){const t=a.values,e=[];for(let r=0;rt*kl));n.startsWith(\"top\")?i[1]-=Lc:n.startsWith(\"bottom\")&&(i[1]+=Lc),e[r+1]=i;}return new Xt(e)}const s=i.get(\"text-variable-anchor\");if(s){let n;n=void 0!==t._unevaluatedLayout.getValue(\"text-radial-offset\")?[i.get(\"text-radial-offset\").evaluate(e,{},r)*kl,$c]:i.get(\"text-offset\").evaluate(e,{},r).map((t=>t*kl));const a=[];for(const t of s)a.push(t,Dc(t,n));return new Xt(a)}return null}function Uc(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 Rc(e,r,n,i,a,s,o,l,u,c,h){let p=s.textMaxSize.evaluate(r,{});void 0===p&&(p=o);const f=e.layers[0].layout,d=f.get(\"icon-offset\").evaluate(r,{},h),y=jc(n.horizontal),m=o/24,g=e.tilePixelRatio*m,v=e.tilePixelRatio*p/24,b=e.tilePixelRatio*l,w=e.tilePixelRatio*f.get(\"symbol-spacing\"),_=f.get(\"text-padding\")*e.tilePixelRatio,A=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),a=i&&i.values;return [a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(f,r,h,e.tilePixelRatio),S=f.get(\"text-max-angle\")/180*Math.PI,k=\"viewport\"!==f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),z=f.get(\"symbol-placement\"),M=w/2,P=f.get(\"icon-text-fit\");let B;i&&\"none\"!==P&&(e.allowVerticalPlacement&&n.vertical&&(B=bu(i,n.vertical,P,f.get(\"icon-text-fit-padding\"),d,m)),y&&(i=bu(i,y,P,f.get(\"icon-text-fit-padding\"),d,m)));const C=(l,p)=>{p.x<0||p.x>=Xa||p.y<0||p.y>=Xa||function(e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,v,b,w,_,A,S,k,I){const z=e.addToLineVertexArray(r,n);let M,P,B,C,V=0,E=0,T=0,F=0,L=-1,$=-1;const D={};let O=Pa(\"\");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(_,{},k)+90;B=new Pc(u,r,c,h,p,i.vertical,f,d,y,t),o&&(C=new Pc(u,r,c,h,p,o,g,v,y,t));}if(a){const n=l.layout.get(\"icon-rotate\").evaluate(_,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),s=Sc(a,n,S,i),f=o?Sc(o,n,S,i):void 0;P=new Pc(u,r,c,h,p,a,g,v,!1,n),V=4*s.length;const d=e.iconSizeData;let y=null;\"source\"===d.kind?(y=[_u*l.layout.get(\"icon-size\").evaluate(_,{})],y[0]>Au&&x(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${wu}. Reduce your \"icon-size\".`)):\"composite\"===d.kind&&(y=[_u*A.compositeIconSizes[0].evaluate(_,{},k),_u*A.compositeIconSizes[1].evaluate(_,{},k)],(y[0]>Au||y[1]>Au)&&x(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${wu}. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,s,y,w,b,_,t.WritingMode.none,r,z.lineStartIndex,z.lineLength,-1,k),L=e.icon.placedSymbolArray.length-1,f&&(E=4*f.length,e.addSymbols(e.icon,f,y,w,b,_,t.WritingMode.vertical,r,z.lineStartIndex,z.lineLength,-1,k),$=e.icon.placedSymbolArray.length-1);}const U=Object.keys(i.horizontal);for(const n of U){const a=i.horizontal[n];if(!M){O=Pa(a.text);const t=l.layout.get(\"text-rotate\").evaluate(_,{},k);M=new Pc(u,r,c,h,p,a,f,d,y,t);}const o=1===a.positionedLines.length;if(T+=qc(e,r,a,s,l,y,_,m,z,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,o?U:[n],D,L,A,k),o)break}i.vertical&&(F+=qc(e,r,i.vertical,s,l,y,_,m,z,t.WritingMode.vertical,[\"vertical\"],D,$,A,k));const R=M?M.boxStartIndex:e.collisionBoxArray.length,q=M?M.boxEndIndex:e.collisionBoxArray.length,j=B?B.boxStartIndex:e.collisionBoxArray.length,N=B?B.boxEndIndex:e.collisionBoxArray.length,Z=P?P.boxStartIndex:e.collisionBoxArray.length,K=P?P.boxEndIndex:e.collisionBoxArray.length,G=C?C.boxStartIndex:e.collisionBoxArray.length,J=C?C.boxEndIndex:e.collisionBoxArray.length;let X=-1;const Y=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;X=Y(M,X),X=Y(B,X),X=Y(P,X),X=Y(C,X);const H=X>-1?1:0;H&&(X*=I/kl),e.glyphOffsetArray.length>=Eu.MAX_GLYPHS&&x(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==_.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,_.sortKey);const W=Oc(l,_,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,q,j,N,Z,K,G,J,c,T,F,V,E,H,0,f,X,Q,tt);}(e,p,l,n,i,a,B,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,g,[_,_,_,_],k,u,b,A,I,d,r,s,c,h,o);};if(\"line\"===z)for(const t of dc(r.geometry,0,0,Xa,Xa)){const r=wc(t,w,S,n.vertical||y,i,24,v,e.overscaling,Xa);for(const n of r)y&&Nc(e,y.text,M,n)||C(t,n);}else if(\"line-center\"===z){for(const t of r.geometry)if(t.length>1){const e=bc(t,S,n.vertical||y,i,24,v);e&&C(t,e);}}else if(\"Polygon\"===r.type)for(const t of _o(r.geometry,0)){const e=Vc(t,16);C(t[0],new yc(e.x,e.y,0));}else if(\"LineString\"===r.type)for(const t of r.geometry)C(t,new yc(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)C([e],new yc(e.x,e.y,0));}function qc(t,e,r,n,a,s,o,l,u,c,h,p,f,d,y){const m=function(t,e,r,n,a,s,o,l){const u=n.layout.get(\"text-rotate\").evaluate(s,{})*Math.PI/180,c=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const s=n.rect||{};let h=Ql+1,p=!0,f=1,d=0;const y=(a||l)&&n.vertical,m=n.metrics.advance*n.scale/2;if(l&&e.verticalizable&&(d=t.lineOffset/2-(n.imageName?-(kl-n.metrics.width*n.scale)/2:(n.scale-1)*kl)),n.imageName){const t=o[n.imageName];p=t.sdf,f=t.pixelRatio,h=eu/f;}const g=a?[n.x+m,n.y]:[0,0];let x=a?[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.left-h)*n.scale-m+x[0],w=(-n.metrics.top-h)*n.scale+x[1],_=b+s.w*n.scale/f,A=w+s.h*n.scale/f,S=new i(b,w),k=new i(_,w),I=new i(b,A),z=new i(_,A);if(y){const t=new i(-m,m-au),e=-Math.PI/2,r=kl/2-m,a=new i(5-au-r,-(n.imageName?r:0)),s=new i(...v);S._rotateAround(e,t)._add(a)._add(s),k._rotateAround(e,t)._add(a)._add(s),I._rotateAround(e,t)._add(a)._add(s),z._rotateAround(e,t)._add(a)._add(s);}if(u){const t=Math.sin(u),e=Math.cos(u),r=[e,-t,t,e];S._matMult(r),k._matMult(r),I._matMult(r),z._matMult(r);}const M=new i(0,0),P=new i(0,0);c.push({tl:S,tr:k,bl:I,br:z,tex:s,writingMode:e.writingMode,glyphOffset:g,sectionIndex:n.sectionIndex,isSDF:p,pixelOffsetTL:M,pixelOffsetBR:P,minFontScaleX:0,minFontScaleY:0});}return c}(0,r,l,a,s,o,n,t.allowVerticalPlacement),g=t.textSizeData;let v=null;\"source\"===g.kind?(v=[_u*a.layout.get(\"text-size\").evaluate(o,{})],v[0]>Au&&x(`${t.layerIds[0]}: Value for \"text-size\" is >= ${wu}. Reduce your \"text-size\".`)):\"composite\"===g.kind&&(v=[_u*d.compositeTextSizes[0].evaluate(o,{},y),_u*d.compositeTextSizes[1].evaluate(o,{},y)],(v[0]>Au||v[1]>Au)&&x(`${t.layerIds[0]}: Value for \"text-size\" is >= ${wu}. Reduce your \"text-size\".`)),t.addSymbols(t.text,m,v,l,s,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 jc(t){for(const e in t)return t[e];return null}function Nc(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=Zc[15&r];if(!i)throw new Error(\"Unrecognized array type.\");const[a]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new Kc(s,a,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=Zc.indexOf(this.ArrayType),a=2*t*this.ArrayType.BYTES_PER_ELEMENT,s=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-s%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+s+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+a+s+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+s+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 Gc(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:a,nodeSize:s}=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<=s){for(let s=h;s<=c;s++){const o=a[2*s],u=a[2*s+1];o>=t&&o<=r&&u>=e&&u<=n&&l.push(i[s]);}continue}const p=h+c>>1,f=a[2*p],d=a[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:a}=this,s=[0,n.length-1,0],o=[],l=r*r;for(;s.length;){const u=s.pop()||0,c=s.pop()||0,h=s.pop()||0;if(c-h<=a){for(let r=h;r<=c;r++)Hc(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];Hc(f,d,t,e)<=l&&o.push(n[p]),(0===u?t-r<=f:e-r<=d)&&(s.push(h),s.push(p-1),s.push(1-u)),(0===u?t+r>=f:e+r>=d)&&(s.push(p+1),s.push(c),s.push(1-u));}return o}}function Gc(t,e,r,n,i,a){if(i-n<=r)return;const s=n+i>>1;Jc(t,e,s,n,i,a),Gc(t,e,r,n,s-1,1-a),Gc(t,e,r,s+1,i,1-a);}function Jc(t,e,r,n,i,a){for(;i>n;){if(i-n>600){const s=i-n+1,o=r-n+1,l=Math.log(s),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(s-u)/s)*(o-s/2<0?-1:1);Jc(t,e,r,Math.max(n,Math.floor(r-o*u/s+c)),Math.min(i,Math.floor(r+(s-o)*u/s+c)),a);}const s=e[2*r+a];let o=n,l=i;for(Xc(t,e,n,r),e[2*i+a]>s&&Xc(t,e,n,i);os;)l--;}e[2*n+a]===s?Xc(t,e,n,l):(l++,Xc(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1);}}function Xc(t,e,r,n){Yc(t,r,n),Yc(e,2*r,2*n),Yc(e,2*r+1,2*n+1);}function Yc(t,e,r){const n=t[e];t[e]=t[r],t[r]=n;}function Hc(t,e,r,n){const i=t-r,a=e-n;return i*i+a*a}var Wc;t.PerformanceMarkers=void 0,(Wc=t.PerformanceMarkers||(t.PerformanceMarkers={})).create=\"create\",Wc.load=\"load\",Wc.fullLoad=\"fullLoad\";let Qc=null,th=[];const eh=1e3/60,rh=\"loadTime\",nh=\"fullLoadTime\",ih={mark(t){performance.mark(t);},frame(t){const e=t;null!=Qc&&th.push(e-Qc),Qc=e;},clearMetrics(){Qc=null,th=[],performance.clearMeasures(rh),performance.clearMeasures(nh);for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e]);},getPerformanceMetrics(){performance.measure(rh,t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure(nh,t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName(rh)[0].duration,r=performance.getEntriesByName(nh)[0].duration,n=th.length,i=1/(th.reduce(((t,e)=>t+e),0)/n/1e3),a=th.filter((t=>t>eh)).reduce(((t,e)=>t+(e-eh)/eh),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}};t.AJAXError=B,t.ARRAY_TYPE=bs,t.Actor=class{constructor(t,e,r){this.receive=t=>{const e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){delete this.tasks[r];const t=this.cancelCallbacks[r];delete this.cancelCallbacks[r],t&&t();}else w()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e);},this.process=()=>{if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e);},this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new Ku(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=w()?t:window;}send(t,e,r,n,i=!1){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[a]=r);const s=A(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Cn(e,s)},s),{cancel:()=>{r&&delete this.callbacks[a],this.target.postMessage({id:a,type:\"\",targetMapId:n,sourceMapId:this.mapId});}}}processTask(t,e){if(\"\"===e.type){const r=this.callbacks[t];delete this.callbacks[t],r&&(e.error?r(Vn(e.error)):r(null,Vn(e.data)));}else {let r=!1;const n=A(this.globalScope)?void 0:[],i=e.hasCallback?(e,i)=>{r=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:\"\",sourceMapId:this.mapId,error:e?Cn(e):null,data:Cn(i,n)},n);}:t=>{r=!0;};let a=null;const s=Vn(e.data);if(this.parent[e.type])a=this.parent[e.type](e.sourceMapId,s,i);else if(this.parent.getWorkerSource){const t=e.type.split(\".\");a=this.parent.getWorkerSource(e.sourceMapId,t[0],s.source)[t[1]](s,i);}else i(new Error(`Could not find function ${e.type}`));!r&&a&&a.cancel&&(this.cancelCallbacks[t]=a.cancel);}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1);}},t.AlphaImage=Ts,t.CanonicalTileID=nc,t.CollisionBoxArray=Gi,t.CollisionCircleLayoutArray=class extends Fi{},t.Color=jt,t.DEMData=oc,t.DataConstantProperty=ci,t.DictionaryCoder=lc,t.EXTENT=Xa,t.ErrorEvent=U,t.EvaluationParameters=ei,t.Event=O,t.Evented=R,t.FeatureIndex=cc,t.FillBucket=Io,t.FillExtrusionBucket=Xo,t.GeoJSONFeature=uc,t.ImageAtlas=nu,t.ImagePosition=ru,t.KDBush=Kc,t.LineBucket=cl,t.LineStripIndexArray=class extends Ni{},t.LngLat=Ju,t.MercatorCoordinate=ec,t.ONE_EM=kl,t.OverscaledTileID=ac,t.PerformanceUtils=ih,t.Point=i,t.Pos3dArray=class extends Si{},t.PosArray=ia,t.Properties=yi,t.Protobuf=Jl,t.QuadTriangleArray=class extends $i{},t.RGBAImage=Fs,t.RasterBoundsArray=class extends ki{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},performance.mark(this._marks.start);}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.SegmentVector=ba,t.SymbolBucket=Eu,t.Transitionable=ii,t.TriangleIndexArray=ma,t.Uniform1f=Fa,t.Uniform1i=class extends Ta{constructor(t,e){super(t,e),this.current=0;}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t));}},t.Uniform2f=class extends Ta{constructor(t,e){super(t,e),this.current=[0,0];}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]));}},t.Uniform3f=class extends Ta{constructor(t,e){super(t,e),this.current=[0,0,0];}set(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]));}},t.Uniform4f=La,t.UniformColor=$a,t.UniformMatrix4f=class extends Ta{constructor(t,e){super(t,e),this.current=Da;}set(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=ic,t.ValidationError=tt,t.ZoomHistory=En,t.addDynamicAttributes=Pu,t.arrayBufferToImage=function(t,e){const r=new Image;r.onload=()=>{e(null,r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>{r.src=k;}));},r.onerror=()=>e(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));const n=new Blob([new Uint8Array(t)],{type:\"image/png\"});r.src=t.byteLength?URL.createObjectURL(n):k;},t.arrayBufferToImageBitmap=function(t,e){const r=new Blob([new Uint8Array(t)],{type:\"image/png\"});createImageBitmap(r).then((t=>{e(null,t);})).catch((t=>{e(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));}));},t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);let n=t.length;const i=new Array(t.length);let a=null;t.forEach(((t,s)=>{e(t,((t,e)=>{t&&(a=t),i[s]=e,0==--n&&r(a,i);}));}));},t.bezier=l,t.browser=M,t.clamp=c,t.clipLine=dc,t.clone=function(t){var e=new bs(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=m,t.collisionCircleLayout=_l,t.config=P,t.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.create=function(){var t=new bs(16);return bs!=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.createExpression=Pr,t.createFilter=$r,t.createLayout=wi,t.createStyleLayer=function(t){if(\"custom\"===t.type)return new Zu(t);switch(t.type){case\"background\":return new Ru(t);case\"circle\":return new Is(t);case\"fill\":return new Bo(t);case\"fill-extrusion\":return new tl(t);case\"heatmap\":return new $s(t);case\"hillshade\":return new Us(t);case\"line\":return new ml(t);case\"raster\":return new Nu(t);case\"symbol\":return new Du(t)}},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return !1;for(let n=0;n{n[t.source]?r.push({command:K.removeLayer,args:[t.id]}):a.push(t);})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(W),i=e.map(W),a=t.reduce(Q,{}),s=e.reduce(Q,{}),o=n.slice(),l=Object.create(null);let u,c,h,p,f,d,y;for(u=0,c=0;u{}}},t.groupByLayout=function(t,e){const r={};for(let n=0;n@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t;}return e},t.parseGlyphPbf=function(t){return new Jl(t).readFields(Yl,[])},t.pbf=Il,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=Xa/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const r=e.bucket.layers[0],n=r.layout,i=r._unevaluatedLayout._values,a={layoutIconSize:i[\"icon-size\"].possiblyEvaluate(new ei(e.bucket.zoom+1),e.canonical),layoutTextSize:i[\"text-size\"].possiblyEvaluate(new ei(e.bucket.zoom+1),e.canonical),textMaxSize:i[\"text-size\"].possiblyEvaluate(new ei(18))};if(\"composite\"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:r}=e.bucket.textSizeData;a.compositeTextSizes=[i[\"text-size\"].possiblyEvaluate(new ei(t),e.canonical),i[\"text-size\"].possiblyEvaluate(new ei(r),e.canonical)];}if(\"composite\"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:r}=e.bucket.iconSizeData;a.compositeIconSizes=[i[\"icon-size\"].possiblyEvaluate(new ei(t),e.canonical),i[\"icon-size\"].possiblyEvaluate(new ei(r),e.canonical)];}const s=n.get(\"text-line-height\")*kl,o=\"viewport\"!==n.get(\"text-rotation-alignment\")&&\"point\"!==n.get(\"symbol-placement\"),l=n.get(\"text-keep-upright\"),u=n.get(\"text-size\");for(const i of e.bucket.features){const c=n.get(\"text-font\").evaluate(i,{},e.canonical).join(\",\"),h=u.evaluate(i,{},e.canonical),p=a.layoutTextSize.evaluate(i,{},e.canonical),f=a.layoutIconSize.evaluate(i,{},e.canonical),d={horizontal:{},vertical:void 0},y=i.text;let m,g=[0,0];if(y){const a=y.toString(),u=n.get(\"text-letter-spacing\").evaluate(i,{},e.canonical)*kl,f=Ln(a)?u:0,m=n.get(\"text-anchor\").evaluate(i,{},e.canonical),x=Oc(r,i,e.canonical);if(!x){const t=n.get(\"text-radial-offset\").evaluate(i,{},e.canonical);g=t?Dc(m,[t*kl,$c]):n.get(\"text-offset\").evaluate(i,{},e.canonical).map((t=>t*kl));}let v=o?\"center\":n.get(\"text-justify\").evaluate(i,{},e.canonical);const b=n.get(\"symbol-placement\"),w=\"point\"===b?n.get(\"text-max-width\").evaluate(i,{},e.canonical)*kl:0,_=()=>{e.bucket.allowVerticalPlacement&&Fn(a)&&(d.vertical=lu(y,e.glyphMap,e.glyphPositions,e.imagePositions,c,w,s,m,\"left\",f,g,t.WritingMode.vertical,!0,b,p,h));};if(!o&&x){const r=new Set;if(\"auto\"===v)for(let t=0;tthis._layers[e.id])),i=t[0];if(\"none\"===i.visibility)continue;const o=i.source||\"\";let r=this.familiesBySource[o];r||(r=this.familiesBySource[o]={});const s=i.sourceLayer||\"_geojsonTileLayer\";let n=r[s];n||(n=r[s]=[]),n.push(t);}}}class i{constructor(t){const i={},o=[];for(const e in t){const r=t[e],s=i[e]={};for(const e in r){const t=r[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const i={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};o.push(i),s[e]={rect:i,metrics:t.metrics};}}const{w:r,h:s}=e.potpack(o),n=new e.AlphaImage({width:r||1,height:s||1});for(const o in t){const r=t[o];for(const t in r){const s=r[+t];if(!s||0===s.bitmap.width||0===s.bitmap.height)continue;const a=i[o][t].rect;e.AlphaImage.copy(s.bitmap,n,{x:0,y:0},{x:a.x+1,y:a.y+1},s.bitmap);}}this.image=n,this.positions=i;}}e.register(\"GlyphAtlas\",i);class o{constructor(t){this.tileID=new e.OverscaledTileID(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1;}parse(t,o,s,n,a){this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;const l=new e.DictionaryCoder(Object.keys(t.layers).sort()),c=new e.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:s},d=o.familiesBySource[this.source];for(const i in d){const o=t.layers[i];if(!o)continue;1===o.version&&e.warnOnce(`Vector tile source \"${this.source}\" layer \"${i}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const n=l.encode(i),a=[];for(let e=0;e=i.maxzoom||\"none\"!==i.visibility&&(r(t,this.zoom,s),(h[i.id]=i.createBucket({index:c.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:n,sourceID:this.source})).populate(a,u,this.tileID.canonical),c.bucketLayerIDs.push(t.map((e=>e.id))));}}let p,f,g,m;const y=e.mapObject(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>null==e?void 0:e.cancel())),this.inFlightDependencies=[];const v=++this.dependencySentinel;Object.keys(y).length?this.inFlightDependencies.push(n.send(\"getGlyphs\",{uid:this.uid,stacks:y,source:this.source,tileID:this.tileID,type:\"glyphs\"},((e,t)=>{v===this.dependencySentinel&&(p||(p=e,f=t,S.call(this)));}))):f={};const x=Object.keys(u.iconDependencies);x.length?this.inFlightDependencies.push(n.send(\"getImages\",{icons:x,source:this.source,tileID:this.tileID,type:\"icons\"},((e,t)=>{v===this.dependencySentinel&&(p||(p=e,g=t,S.call(this)));}))):g={};const w=Object.keys(u.patternDependencies);function S(){if(p)return a(p);if(f&&g&&m){const t=new i(f),o=new e.ImageAtlas(g,m);for(const i in h){const n=h[i];n instanceof e.SymbolBucket?(r(n.layers,this.zoom,s),e.performSymbolLayout({bucket:n,glyphMap:f,glyphPositions:t.positions,imageMap:g,imagePositions:o.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):n.hasPattern&&(n instanceof e.LineBucket||n instanceof e.FillBucket||n instanceof e.FillExtrusionBucket)&&(r(n.layers,this.zoom,s),n.addFeatures(u,this.tileID.canonical,o.patternPositions));}this.status=\"done\",a(null,{buckets:Object.values(h).filter((e=>!e.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:o,glyphMap:this.returnDependencies?f:null,iconMap:this.returnDependencies?g:null,glyphPositions:this.returnDependencies?t.positions:null});}}w.length?this.inFlightDependencies.push(n.send(\"getImages\",{icons:w,source:this.source,tileID:this.tileID,type:\"patterns\"},((e,t)=>{v===this.dependencySentinel&&(p||(p=e,m=t,S.call(this)));}))):m={},S.call(this);}}function r(t,i,o){const r=new e.EvaluationParameters(i);for(const e of t)e.recalculate(r,o);}function s(t,i){const o=e.getArrayBuffer(t.request,((t,o,r,s)=>{t?i(t):o&&i(null,{vectorTile:new e.vectorTile.VectorTile(new e.Protobuf(o)),rawData:o,cacheControl:r,expires:s});}));return ()=>{o.cancel(),i();}}class n{constructor(e,t,i,o){this.actor=e,this.layerIndex=t,this.availableImages=i,this.loadVectorData=o||s,this.fetching={},this.loading={},this.loaded={};}loadTile(t,i){const r=t.uid;this.loading||(this.loading={});const s=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),n=this.loading[r]=new o(t);n.abort=this.loadVectorData(t,((t,o)=>{if(delete this.loading[r],t||!o)return n.status=\"done\",this.loaded[r]=n,i(t);const a=o.rawData,l={};o.expires&&(l.expires=o.expires),o.cacheControl&&(l.cacheControl=o.cacheControl);const c={};if(s){const e=s.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)));}n.vectorTile=o.vectorTile,n.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,o)=>{if(delete this.fetching[r],t||!o)return i(t);i(null,e.extend({rawTileData:a.slice(0)},o,l,c));})),this.loaded=this.loaded||{},this.loaded[r]=n,this.fetching[r]={rawTileData:a,cacheControl:l,resourceTiming:c};}));}reloadTile(t,i){const o=this.loaded,r=t.uid;if(o&&o[r]){const s=o[r];s.showCollisionBoxes=t.showCollisionBoxes,\"parsing\"===s.status?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,o)=>{if(t||!o)return i(t,o);let s;if(this.fetching[r]){const{rawTileData:t,cacheControl:i,resourceTiming:n}=this.fetching[r];delete this.fetching[r],s=e.extend({rawTileData:t.slice(0)},o,i,n);}else s=o;i(null,s);})):\"done\"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,i):i());}}abortTile(e,t){const i=this.loading,o=e.uid;i&&i[o]&&i[o].abort&&(i[o].abort(),delete i[o]),t();}removeTile(e,t){const i=this.loaded,o=e.uid;i&&i[o]&&delete i[o],t();}}class a{constructor(){this.loaded={};}loadTile(t,i){const{uid:o,encoding:r,rawImageData:s}=t,n=e.isImageBitmap(s)?this.getImageData(s):s,a=new e.DEMData(o,n,r);this.loaded=this.loaded||{},this.loaded[o]=a,i(null,a);}getImageData(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\",{willReadFrequently:!0})),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);const i=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:i.width,height:i.height},i.data)}removeTile(e){const t=this.loaded,i=e.uid;t&&t[i]&&delete t[i];}}function l(e,t){if(0!==e.length){c(e[0],t);for(var i=1;i=Math.abs(a)?i-l+a:a-l+i,i=l;}i+o>=0!=!!t&&e.reverse();}var h=e.getDefaultExportFromCjs((function e(t,i){var o,r=t&&t.type;if(\"FeatureCollection\"===r)for(o=0;o>31}function T(e,t){for(var i=e.loadGeometry(),o=e.type,r=0,s=0,n=i.length,a=0;ae},D=Math.fround||(O=new Float32Array(1),e=>(O[0]=+e,O[0]));var O;const L=3,F=5,E=6;class z{constructor(e){this.options=Object.assign(Object.create(C),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[];}load(e){const{log:t,minZoom:i,maxZoom:o}=this.options;t&&console.time(\"total time\");const r=`prepare ${e.length} points`;t&&console.time(r),this.points=e;const s=[];for(let t=0;t=i;e--){const i=+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()-i);}return t&&console.timeEnd(\"total time\"),this}getClusters(e,t){let i=((e[0]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[1]));let r=180===e[2]?180:((e[2]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)i=-180,r=180;else if(i>r){const e=this.getClusters([i,o,180,s],t),n=this.getClusters([-180,o,r,s],t);return e.concat(n)}const n=this.trees[this._limitZoom(t)],a=n.range(B(i),Z(s),B(r),Z(o)),l=n.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+F]>1?j(l,t,this.clusterProps):this.points[l[t+L]]);}return c}getChildren(e){const t=this._getOriginId(e),i=this._getOriginZoom(e),o=\"No cluster with the specified id.\",r=this.trees[i];if(!r)throw new Error(o);const s=r.data;if(t*this.stride>=s.length)throw new Error(o);const n=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=r.within(s[t*this.stride],s[t*this.stride+1],n),l=[];for(const t of a){const i=t*this.stride;s[i+4]===e&&l.push(s[i+F]>1?j(s,i,this.clusterProps):this.points[s[i+L]]);}if(0===l.length)throw new Error(o);return l}getLeaves(e,t,i){const o=[];return this._appendLeaves(o,e,t=t||10,i=i||0,0),o}getTile(e,t,i){const o=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:s,radius:n}=this.options,a=n/s,l=(i-a)/r,c=(i+1+a)/r,h={features:[]};return this._addTileFeatures(o.range((t-a)/r,l,(t+1+a)/r,c),o.data,t,i,r,h),0===t&&this._addTileFeatures(o.range(1-a/r,l,1,c),o.data,r,i,r,h),t===r-1&&this._addTileFeatures(o.range(0,l,a/r,c),o.data,-1,i,r,h),h.features.length?h:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const i=this.getChildren(e);if(t++,1!==i.length)break;e=i[0].properties.cluster_id;}return t}_appendLeaves(e,t,i,o,r){const s=this.getChildren(t);for(const t of s){const s=t.properties;if(s&&s.cluster?r+s.point_count<=o?r+=s.point_count:r=this._appendLeaves(e,s.cluster_id,i,o,r):r1;let l,c,h;if(a)l=N(t,e,this.clusterProps),c=t[e],h=t[e+1];else {const i=this.points[t[e+L]];l=i.properties;const[o,r]=i.geometry.coordinates;c=B(o),h=Z(r);}const u={type:1,geometry:[[Math.round(this.options.extent*(c*r-i)),Math.round(this.options.extent*(h*r-o))]],tags:l};let d;d=a||this.options.generateId?t[e+L]:this.points[t[e+L]].id,void 0!==d&&(u.id=d),s.features.push(u);}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:i,extent:o,reduce:r,minPoints:s}=this.options,n=i/(o*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let i=0;it&&(p+=a[i+F]);}if(p>d&&p>=s){let e,s=o*d,n=h*d,f=-1;const g=((i/c|0)<<5)+(t+1)+this.points.length;for(const o of u){const l=o*c;if(a[l+2]<=t)continue;a[l+2]=t;const h=a[l+F];s+=a[l]*h,n+=a[l+1]*h,a[l+4]=g,r&&(e||(e=this._map(a,i,!0),f=this.clusterProps.length,this.clusterProps.push(e)),r(e,this._map(a,l)));}a[i+4]=g,l.push(s/p,n/p,1/0,g,-1,p),r&&l.push(f);}else {for(let e=0;e1)for(const e of u){const i=e*c;if(!(a[i+2]<=t)){a[i+2]=t;for(let e=0;e>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t,i){if(e[t+F]>1){const o=this.clusterProps[e[t+E]];return i?Object.assign({},o):o}const o=this.points[e[t+L]].properties,r=this.options.map(o);return i&&r===o?Object.assign({},r):r}}function j(e,t,i){return {type:\"Feature\",id:e[t+L],properties:N(e,t,i),geometry:{type:\"Point\",coordinates:[(o=e[t],360*(o-.5)),A(e[t+1])]}};var o;}function N(e,t,i){const o=e[t+F],r=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?Math.round(o/100)/10+\"k\":o,s=e[t+E],n=-1===s?{}:Object.assign({},i[s]);return Object.assign(n,{cluster:!0,cluster_id:e[t+L],point_count:o,point_count_abbreviated:r})}function B(e){return e/360+.5}function Z(e){const t=Math.sin(e*Math.PI/180),i=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return i<0?0:i>1?1:i}function A(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function G(e,t,i,o){for(var r,s=o,n=i-t>>1,a=i-t,l=e[t],c=e[t+1],h=e[i],u=e[i+1],d=t+3;ds)r=d,s=p;else if(p===s){var f=Math.abs(d-n);fo&&(r-t>3&&G(e,t,r,o),e[r+2]=s,i-r>3&&G(e,r,i,o));}function J(e,t,i,o,r,s){var n=r-i,a=s-o;if(0!==n||0!==a){var l=((e-i)*n+(t-o)*a)/(n*n+a*a);l>1?(i=r,o=s):l>0&&(i+=n*l,o+=a*l);}return (n=e-i)*n+(a=t-o)*a}function Y(e,t,i,o){var r={id:void 0===e?null:e,type:t,geometry:i,tags:o,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,i=e.type;if(\"Point\"===i||\"MultiPoint\"===i||\"LineString\"===i)R(e,t);else if(\"Polygon\"===i||\"MultiLineString\"===i)for(var o=0;o0&&(n+=o?(r*c-l*s)/2:Math.sqrt(Math.pow(l-r,2)+Math.pow(c-s,2))),r=l,s=c;}var h=t.length-3;t[2]=1,G(t,0,h,i),t[h+2]=1,t.size=Math.abs(n),t.start=0,t.end=t.size;}function q(e,t,i,o){for(var r=0;r1?1:i}function K(e,t,i,o,r,s,n,a){if(o/=t,s>=(i/=t)&&n=o)return null;for(var l=[],c=0;c=i&&f=o)){var g=[];if(\"Point\"===d||\"MultiPoint\"===d)H(u,g,i,o,r);else if(\"LineString\"===d)Q(u,g,i,o,r,!1,a.lineMetrics);else if(\"MultiLineString\"===d)te(u,g,i,o,r,!1);else if(\"Polygon\"===d)te(u,g,i,o,r,!0);else if(\"MultiPolygon\"===d)for(var m=0;m=i&&n<=o&&(t.push(e[s]),t.push(e[s+1]),t.push(e[s+2]));}}function Q(e,t,i,o,r,s,n){for(var a,l,c=ee(e),h=0===r?oe:re,u=e.start,d=0;di&&(l=h(c,p,f,m,y,i),n&&(c.start=u+a*l)):v>o?x=i&&(l=h(c,p,f,m,y,i),w=!0),x>o&&v<=o&&(l=h(c,p,f,m,y,o),w=!0),!s&&w&&(n&&(c.end=u+a*l),t.push(c),c=ee(e)),n&&(u+=a);}var S=e.length-3;p=e[S],f=e[S+1],g=e[S+2],(v=0===r?p:f)>=i&&v<=o&&ie(c,p,f,g),S=c.length-3,s&&S>=3&&(c[S]!==c[0]||c[S+1]!==c[1])&&ie(c,c[0],c[1],c[2]),c.length&&t.push(c);}function ee(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function te(e,t,i,o,r,s){for(var n=0;nn.maxX&&(n.maxX=h),u>n.maxY&&(n.maxY=u);}return n}function he(e,t,i,o){var r=t.geometry,s=t.type,n=[];if(\"Point\"===s||\"MultiPoint\"===s)for(var a=0;a0&&t.size<(r?n:o))i.numPoints+=t.length/3;else {for(var a=[],l=0;ln)&&(i.numSimplified++,a.push(t[l]),a.push(t[l+1])),i.numPoints++;r&&function(e,t){for(var i=0,o=0,r=e.length,s=r-2;o0===t)for(o=0,r=e.length;o24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var o=function(e,t){var i=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1&&console.time(\"creation\"),d=this.tiles[u]=ce(e,t,i,o,l),this.tileCoords.push({z:t,x:i,y:o}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++;}if(d.source=e,r){if(t===l.maxZoom||t===r)continue;var f=1<1&&console.time(\"clipping\");var g,m,y,v,x,w,S=.5*l.buffer/l.extent,b=.5-S,I=.5+S,M=1+S;g=m=y=v=null,x=K(e,h,i-S,i+I,0,d.minX,d.maxX,l),w=K(e,h,i+b,i+M,0,d.minX,d.maxX,l),e=null,x&&(g=K(x,h,o-S,o+I,1,d.minY,d.maxY,l),m=K(x,h,o+b,o+M,1,d.minY,d.maxY,l),x=null),w&&(y=K(w,h,o-S,o+I,1,d.minY,d.maxY,l),v=K(w,h,o+b,o+M,1,d.minY,d.maxY,l),w=null),c>1&&console.timeEnd(\"clipping\"),a.push(g||[],t+1,2*i,2*o),a.push(m||[],t+1,2*i,2*o+1),a.push(y||[],t+1,2*i+1,2*o),a.push(v||[],t+1,2*i+1,2*o+1);}}},de.prototype.getTile=function(e,t,i){var o=this.options,r=o.extent,s=o.debug;if(e<0||e>24)return null;var n=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var l,c=e,h=t,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[pe(c,h,u)];return l&&l.source?(s>1&&console.log(\"found parent tile z%d-%d-%d\",c,h,u),s>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,h,u,e,t,i),s>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?ae(this.tiles[a],r):null):null};class ve extends n{constructor(t,i,o,r){super(t,i,o,ye),this._dataUpdateable=new Map,this.loadGeoJSON=(t,i)=>{const{promoteId:o}=t;if(t.request)return e.getJSON(t.request,((e,t,r,s)=>{this._dataUpdateable=ge(t,o)?me(t,o):void 0,i(e,t,r,s);}));if(\"string\"==typeof t.data)try{const e=JSON.parse(t.data);this._dataUpdateable=ge(e,o)?me(e,o):void 0,i(null,e);}catch(e){i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));}else t.dataDiff?this._dataUpdateable?(function(e,t,i){var o,r,s,n;if(t.removeAll&&e.clear(),t.remove)for(const i of t.remove)e.delete(i);if(t.add)for(const o of t.add){const t=fe(o,i);null!=t&&e.set(t,o);}if(t.update)for(const i of t.update){let t=e.get(i.id);if(null==t)continue;const a=!i.removeAllProperties&&((null===(o=i.removeProperties)||void 0===o?void 0:o.length)>0||(null===(r=i.addOrUpdateProperties)||void 0===r?void 0:r.length)>0);if((i.newGeometry||i.removeAllProperties||a)&&(t={...t},e.set(i.id,t),a&&(t.properties={...t.properties})),i.newGeometry&&(t.geometry=i.newGeometry),i.removeAllProperties)t.properties={};else if((null===(s=i.removeProperties)||void 0===s?void 0:s.length)>0)for(const e of i.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(n=i.addOrUpdateProperties)||void 0===n?void 0:n.length)>0)for(const{key:e,value:o}of i.addOrUpdateProperties)t.properties[e]=o;}}(this._dataUpdateable,t.dataDiff,o),i(null,{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())})):i(new Error(`Cannot update existing geojson data in ${t.source}`)):i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));return {cancel:()=>{}}},r&&(this.loadGeoJSON=r);}loadData(t,i){var o;null===(o=this._pendingRequest)||void 0===o||o.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const r=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request);this._pendingCallback=i,this._pendingRequest=this.loadGeoJSON(t,((o,s)=>{if(delete this._pendingCallback,delete this._pendingRequest,o||!s)return i(o);if(\"object\"!=typeof s)return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));{h(s,!0);try{if(t.filter){const i=e.createExpression(t.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===i.result)throw new Error(i.value.map((e=>`${e.key}: ${e.message}`)).join(\", \"));const o=s.features.filter((e=>i.value.evaluate({zoom:0},e)));s={type:\"FeatureCollection\",features:o};}this._geoJSONIndex=t.cluster?new z(function({superclusterOptions:t,clusterProperties:i}){if(!i||!t)return t;const o={},r={},s={accumulated:null,zoom:0},n={properties:null},a=Object.keys(i);for(const t of a){const[s,n]=i[t],a=e.createExpression(n),l=e.createExpression(\"string\"==typeof s?[s,[\"accumulated\"],[\"get\",t]]:s);o[t]=a.value,r[t]=l.value;}return t.map=e=>{n.properties=e;const t={};for(const e of a)t[e]=o[e].evaluate(s,n);return t},t.reduce=(e,t)=>{n.properties=t;for(const t of a)s.accumulated=e[t],e[t]=r[t].evaluate(s,n);},t}(t)).load(s.features):function(e,t){return new de(e,t)}(s,t.geojsonVtOptions);}catch(o){return i(o)}this.loaded={};const n={};if(r){const e=r.finish();e&&(n.resourceTiming={},n.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)));}i(null,n);}}));}reloadTile(e,t){const i=this.loaded;return i&&i[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}removeSource(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t();}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}}}class xe{constructor(t){this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:n,geojson:ve},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=t=>{if(e.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};}setReferrer(e,t){this.referrer=t;}setImages(e,t,i){this.availableImages[e]=t;for(const i in this.workerSources[e]){const o=this.workerSources[e][i];for(const e in o)o[e].availableImages=t;}i();}setLayers(e,t,i){this.getLayerIndex(e).replace(t),i();}updateLayers(e,t,i){this.getLayerIndex(e).update(t.layers,t.removedIds),i();}loadTile(e,t,i){this.getWorkerSource(e,t.type,t.source).loadTile(t,i);}loadDEMTile(e,t,i){this.getDEMWorkerSource(e,t.source).loadTile(t,i);}reloadTile(e,t,i){this.getWorkerSource(e,t.type,t.source).reloadTile(t,i);}abortTile(e,t,i){this.getWorkerSource(e,t.type,t.source).abortTile(t,i);}removeTile(e,t,i){this.getWorkerSource(e,t.type,t.source).removeTile(t,i);}removeDEMTile(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t);}removeSource(e,t,i){if(!this.workerSources[e]||!this.workerSources[e][t.type]||!this.workerSources[e][t.type][t.source])return;const o=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==o.removeSource?o.removeSource(t,i):i();}loadWorkerSource(e,t,i){try{this.self.importScripts(t.url),i();}catch(e){i(e.toString());}}syncRTLPluginState(t,i,o){try{e.plugin.setState(i);const t=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=t){this.self.importScripts(t);const i=e.plugin.isParsed();o(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),i);}}catch(e){o(e.toString());}}getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}getLayerIndex(e){let i=this.layerIndexes[e];return i||(i=this.layerIndexes[e]=new t),i}getWorkerSource(e,t,i){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][i]){const o={send:(t,i,o)=>{this.actor.send(t,i,o,e);}};this.workerSources[e][t][i]=new this.workerSourceTypes[t](o,this.getLayerIndex(e),this.getAvailableImages(e));}return this.workerSources[e][t][i]}getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new a),this.demWorkerSources[e][t]}}return e.isWorker()&&(self.worker=new xe(self)),xe}));\n\ndefine([\"./shared\"],(function(t){\"use strict\";var e=\"3.3.1\";class i{static testProp(t){if(!i.docStyle)return t[0];for(let e=0;e{window.removeEventListener(\"click\",i.suppressClickInternal,!0);}),0);}static mousePos(e,i){const s=e.getBoundingClientRect();return new t.Point(i.clientX-s.left-e.clientLeft,i.clientY-s.top-e.clientTop)}static touchPos(e,i){const s=e.getBoundingClientRect(),a=[];for(let o=0;o{i=[],a=0,o=0,r={};},e.addThrottleControl=t=>{const e=o++;return r[e]=t,e},e.removeThrottleControl=t=>{delete r[t],c();},e.getImage=(t,e,o=!0)=>{s.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\");const r={requestParameters:t,supportImageRefresh:o,callback:e,cancelled:!1,completed:!1,cancel:()=>{r.completed||r.cancelled||(r.cancelled=!0,r.innerRequest&&(r.innerRequest.cancel(),a--),c());}};return i.push(r),c(),r};const n=e=>{const{requestParameters:i,supportImageRefresh:s,callback:a}=e;return t.extend(i,{type:\"image\"}),(!1!==s||t.isWorker()||t.getProtocolAction(i.url)||i.headers&&!Object.keys(i.headers).reduce(((t,e)=>t&&\"accept\"===e),!0)?t.makeRequest:h)(i,((t,i,s,o)=>{l(e,a,t,i,s,o);}))},l=(e,i,s,o,r,n)=>{s?i(s):o instanceof HTMLImageElement||t.isImageBitmap(o)?i(null,o):o&&((e,i)=>{\"function\"==typeof createImageBitmap?t.arrayBufferToImageBitmap(e,i):t.arrayBufferToImage(e,i);})(o,((t,e)=>{null!=t?i(t):null!=e&&i(null,e,{cacheControl:r,expires:n});})),e.cancelled||(e.completed=!0,a--,c());},c=()=>{const e=(()=>{const t=Object.keys(r);let e=!1;if(t.length>0)for(const i of t)if(e=r[i](),e)break;return e})()?t.config.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.config.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=a;t0;t++){const e=i.shift();if(e.cancelled){t--;continue}const s=n(e);a++,e.innerRequest=s;}},h=(e,i)=>{const s=new Image,a=e.url;let o=!1;const r=e.credentials;return r&&\"include\"===r?s.crossOrigin=\"use-credentials\":(r&&\"same-origin\"===r||!t.sameOrigin(a))&&(s.crossOrigin=\"anonymous\"),s.fetchPriority=\"high\",s.onload=()=>{i(null,s),s.onerror=s.onload=null;},s.onerror=()=>{o||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.\")),s.onerror=s.onload=null;},s.src=a,{cancel:()=>{o=!0,s.src=\"\";}}};}(c||(c={})),c.resetRequestQueue(),function(t){t.Glyphs=\"Glyphs\",t.Image=\"Image\",t.Source=\"Source\",t.SpriteImage=\"SpriteImage\",t.SpriteJSON=\"SpriteJSON\",t.Style=\"Style\",t.Tile=\"Tile\",t.Unknown=\"Unknown\";}(h||(h={}));class u{constructor(t){this._transformRequestFn=t;}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}normalizeSpriteURL(t,e,i){const s=function(t){const e=t.match(d);if(!e)throw new Error(`Unable to parse URL \"${t}\"`);return {protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}(t);return s.path+=`${e}${i}`,function(t){const e=t.params.length?`?${t.params.join(\"&\")}`:\"\";return `${t.protocol}://${t.authority}${t.path}${e}`}(s)}setTransformRequest(t){this._transformRequestFn=t;}}const d=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function _(e){var i=new t.ARRAY_TYPE(3);return i[0]=e[0],i[1]=e[1],i[2]=e[2],i}var m,p=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t};m=new t.ARRAY_TYPE(3),t.ARRAY_TYPE!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0);var f=function(t){var e=t[0],i=t[1];return e*e+i*i};function g(t){const e=[];if(\"string\"==typeof t)e.push({id:\"default\",url:t});else if(t&&t.length>0){const i=[];for(const{id:s,url:a}of t){const t=`${s}${a}`;-1===i.indexOf(t)&&(i.push(t),e.push({id:s,url:a}));}}return e}function v(e,i,s,a,o){if(a)return void e(a);if(o!==Object.values(i).length||o!==Object.values(s).length)return;const r={};for(const e in i){r[e]={};const a=t.browser.getImageCanvasContext(s[e]),o=i[e];for(const t in o){const{width:i,height:s,x:n,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:_}=o[t];r[e][t]={data:null,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:_,spriteData:{width:i,height:s,x:n,y:l,context:a}};}}e(null,r);}!function(){var e=new t.ARRAY_TYPE(2);t.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0);}();class x{constructor(t,e,i,s){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,s);}update(e,i,s){const{width:a,height:o}=e,r=!(this.size&&this.size[0]===a&&this.size[1]===o||s),{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=[a,o],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.isImageBitmap(e)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,e):l.texImage2D(l.TEXTURE_2D,0,this.format,a,o,0,this.format,l.UNSIGNED_BYTE,e.data);else {const{x:i,y:r}=s||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.isImageBitmap(e)?l.texSubImage2D(l.TEXTURE_2D,0,i,r,l.RGBA,l.UNSIGNED_BYTE,e):l.texSubImage2D(l.TEXTURE_2D,0,i,r,a,o,l.RGBA,l.UNSIGNED_BYTE,e.data);}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D);}bind(t,e,i){const{context:s}=this,{gl:a}=s;a.bindTexture(a.TEXTURE_2D,this.texture),i!==a.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=a.LINEAR),t!==this.filter&&(a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,t),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,e),a.texParameteri(a.TEXTURE_2D,a.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 y(t){const{userImage:e}=t;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class b extends t.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0;}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,callback:e}of this.requestors)this._notify(t,e);this.requestors=[];}}getImage(e){const i=this.images[e];if(i&&!i.data&&i.spriteData){const e=i.spriteData;i.data=new t.RGBAImage({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.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(e,i){let s=!0;const a=i.data||i.spriteData;return this._validateStretch(i.stretchX,a&&a.width)||(this.fire(new t.ErrorEvent(new Error(`Image \"${e}\" has invalid \"stretchX\" value`))),s=!1),this._validateStretch(i.stretchY,a&&a.height)||(this.fire(new t.ErrorEvent(new Error(`Image \"${e}\" has invalid \"stretchY\" value`))),s=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error(`Image \"${e}\" has invalid \"content\" value`))),s=!1),s}_validateStretch(t,e){if(!t)return !0;let i=0;for(const s of t){if(s[0]-1);l++,o[l]=n,r[l]=c,r[l+1]=w;}for(let n=0,l=0;n{let s=this.entries[t];s||(s=this.entries[t]={glyphs:{},requests:{},ranges:{}});let a=s.glyphs[e];if(void 0!==a)return void i(null,{stack:t,id:e,glyph:a});if(a=this._tinySDF(s,t,e),a)return s.glyphs[e]=a,void i(null,{stack:t,id:e,glyph:a});const o=Math.floor(e/256);if(256*o>65535)return void i(new Error(\"glyphs > 65535 not supported\"));if(s.ranges[o])return void i(null,{stack:t,id:e,glyph:a});if(!this.url)return void i(new Error(\"glyphsUrl is not set\"));let r=s.requests[o];r||(r=s.requests[o]=[],I.loadGlyphRange(t,o,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(s.glyphs[+t]=e[+t]);s.ranges[o]=!0;}for(const i of r)i(t,e);delete s.requests[o];}))),r.push(((s,a)=>{s?i(s):a&&i(null,{stack:t,id:e,glyph:a[e]||null});}));}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:s,glyph:a}of e)(t[i]||(t[i]={}))[s]=a&&{id:a.id,bitmap:a.bitmap.clone(),metrics:a.metrics};i(null,t);}}));}_doesCharSupportLocalGlyph(e){return !!this.localIdeographFontFamily&&(t.unicodeBlockLookup[\"CJK Unified Ideographs\"](e)||t.unicodeBlockLookup[\"Hangul Syllables\"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,s){const a=this.localIdeographFontFamily;if(!a)return;if(!this._doesCharSupportLocalGlyph(s))return;let o=e.tinySDF;if(!o){let t=\"400\";/bold/i.test(i)?t=\"900\":/medium/i.test(i)?t=\"500\":/light/i.test(i)&&(t=\"200\"),o=e.tinySDF=new I.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:a,fontWeight:t});}const r=o.draw(String.fromCharCode(s));return {id:s,bitmap:new t.AlphaImage({width:r.width||30,height:r.height||30},r.data),metrics:{width:r.glyphWidth||24,height:r.glyphHeight||24,left:r.glyphLeft||0,top:r.glyphTop-27||-8,advance:r.glyphAdvance||24}}}}I.loadGlyphRange=function(e,i,s,a,o){const r=256*i,n=r+255,l=a.transformRequest(s.replace(\"{fontstack}\",e).replace(\"{range}\",`${r}-${n}`),h.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)o(e);else if(i){const e={};for(const s of t.parseGlyphPbf(i))e[s.id]=s;o(null,e);}}));},I.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:s=.25,fontFamily:a=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:r=\"normal\"}={}){this.buffer=e,this.cutoff=s,this.radius=i;const n=this.size=t+4*e,l=this._createCanvas(n),c=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});c.font=`${r} ${o} ${t}px ${a}`,c.textBaseline=\"alphabetic\",c.textAlign=\"left\",c.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Uint16Array(n);}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:s,actualBoundingBoxLeft:a,actualBoundingBoxRight:o}=this.ctx.measureText(t),r=Math.ceil(i),n=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-a))),l=Math.min(this.size-this.buffer,r+Math.ceil(s)),c=n+2*this.buffer,h=l+2*this.buffer,u=Math.max(c*h,0),d=new Uint8ClampedArray(u),_={data:d,width:c,height:h,glyphWidth:n,glyphHeight:l,glyphTop:r,glyphLeft:0,glyphAdvance:e};if(0===n||0===l)return _;const{ctx:m,buffer:p,gridInner:f,gridOuter:g}=this;m.clearRect(p,p,n,l),m.fillText(t,p,p+r);const v=m.getImageData(p,p,n,l);g.fill(w,0,u),f.fill(0,0,u);for(let t=0;t0?t*t:0,f[s]=t<0?t*t:0;}}T(g,0,0,c,h,c,this.f,this.v,this.z),T(f,p,p,n,l,c,this.f,this.v,this.z);for(let t=0;t1&&(r=t[++o]);const l=Math.abs(n-r.left),c=Math.abs(n-r.right),h=Math.min(l,c);let u;const d=e/i*(s+1);if(r.isDash){const t=s-Math.abs(d);u=Math.sqrt(h*h+t*t);}else u=s-Math.sqrt(h*h+d*d);this.data[a+n]=Math.max(0,Math.min(255,u+128));}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],s=t[e+1];i.zeroLength?t.splice(e,1):s&&s.isDash===i.isDash&&(s.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 s=this.width*this.nextRow;let a=0,o=t[a];for(let e=0;e1&&(o=t[++a]);const i=Math.abs(e-o.left),r=Math.abs(e-o.right),n=Math.min(i,r);this.data[s+e]=Math.max(0,Math.min(255,(o.isDash?n:-n)+128));}}addDash(e,i){const s=i?7:0,a=2*s+1;if(this.nextRow+a>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;let o=0;for(let t=0;t{t.send(e,i,s);}),s=s||function(){});}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(t=!0){this.actors.forEach((t=>{t.remove();})),this.actors=[],t&&this.workerPool.release(this.id);}}function A(e,i,s){const a=function(i,a){if(i)return s(i);if(a){const i=t.pick(t.extend(a,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(i.vectorLayers=a.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),s(null,i);}};return e.url?t.getJSON(i.transformRequest(e.url,h.Source),a):t.browser.frame((()=>a(null,e)))}z.Actor=t.Actor;class L{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(e){return this._ne=e instanceof t.LngLat?new t.LngLat(e.lng,e.lat):t.LngLat.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.LngLat?new t.LngLat(e.lng,e.lat):t.LngLat.convert(e),this}extend(e){const i=this._sw,s=this._ne;let a,o;if(e instanceof t.LngLat)a=e,o=e;else {if(!(e instanceof L))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(L.convert(e)):this.extend(t.LngLat.convert(e)):e&&(\"lng\"in e||\"lon\"in e)&&\"lat\"in e?this.extend(t.LngLat.convert(e)):this;if(a=e._sw,o=e._ne,!a||!o)return this}return i||s?(i.lng=Math.min(a.lng,i.lng),i.lat=Math.min(a.lat,i.lat),s.lng=Math.max(o.lng,s.lng),s.lat=Math.max(o.lat,s.lat)):(this._sw=new t.LngLat(a.lng,a.lat),this._ne=new t.LngLat(o.lng,o.lat)),this}getCenter(){return new t.LngLat((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 t.LngLat(this.getWest(),this.getNorth())}getSouthEast(){return new t.LngLat(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(e){const{lng:i,lat:s}=t.LngLat.convert(e);let a=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=s&&s<=this._ne.lat&&a}static convert(t){return t instanceof L?t:t?new L(t):t}static fromLngLat(e,i=0){const s=360*i/40075017,a=s/Math.cos(Math.PI/180*e.lat);return new L(new t.LngLat(e.lng-a,e.lat-s),new t.LngLat(e.lng+a,e.lat+s))}}class R{constructor(t,e,i){this.bounds=L.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(e){const i=Math.pow(2,e.z),s=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),a=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),o=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),r=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=s&&e.x=a&&e.y{this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new R(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));},this.serialize=()=>t.extend({},this._options),this.id=e,this.dispatcher=s,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(i,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=t.extend({type:\"vector\"},i),this._collectResourceTiming=i.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a);}loaded(){return this._loaded}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load();}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load();}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}loadTile(t,e){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),s={request:this.map._requestManager.transformRequest(i,h.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};function a(i,s){return delete t.request,t.aborted?e(null):i&&404!==i.status?e(i):(s&&s.resourceTiming&&(t.resourceTiming=s.resourceTiming),this.map._refreshExpiredTiles&&s&&t.setExpiryData(s),t.loadVectorData(s,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}s.request.collectResourceTiming=this._collectResourceTiming,t.actor&&\"expired\"!==t.state?\"loading\"===t.state?t.reloadCallback=e:t.request=t.actor.send(\"reloadTile\",s,a.bind(this)):(t.actor=this.dispatcher.getActor(),t.request=t.actor.send(\"loadTile\",s,a.bind(this)));}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0);}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0);}hasTransition(){return !1}}class F extends t.Evented{constructor(e,i,s,a){super(),this.id=e,this.dispatcher=s,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:\"raster\"},i),t.extend(this,t.pick(i,[\"url\",\"scheme\",\"tileSize\"]));}load(){this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new R(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));}loaded(){return this._loaded}onAdd(t){this.map=t,this.load();}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}serialize(){return t.extend({},this._options)}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t,e){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.request=c.getImage(this.map._requestManager.transformRequest(i,h.Tile),((i,s,a)=>{if(delete t.request,t.aborted)t.state=\"unloaded\",e(null);else if(i)t.state=\"errored\",e(i);else if(s){this.map._refreshExpiredTiles&&a&&t.setExpiryData(a);const i=this.map.painter.context,o=i.gl;t.texture=this.map.painter.getTileTexture(s.width),t.texture?t.texture.update(s,{useMipmap:!0}):(t.texture=new x(i,s,o.RGBA,{useMipmap:!0}),t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),i.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax)),t.state=\"loaded\",e(null);}}),this.map._refreshExpiredTiles);}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e();}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e();}hasTransition(){return !1}}class B extends F{constructor(e,i,s,a){super(e,i,s,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\";}loadTile(e,i){const s=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function a(t,s){t&&(e.state=\"errored\",i(t)),s&&(e.dem=s,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state=\"loaded\",i(null));}e.request=c.getImage(this.map._requestManager.transformRequest(s,h.Tile),function(s,o){if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(s)e.state=\"errored\",i(s);else if(o){this.map._refreshExpiredTiles&&e.setExpiryData(o),delete o.cacheControl,delete o.expires;const i=t.isImageBitmap(o)&&(null==P&&(P=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),P)?o:t.browser.getImageData(o,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",s,a.bind(this)));}}.bind(this),this.map._refreshExpiredTiles),e.neighboringTiles=this._getNeighboringTiles(e.tileID);}_getNeighboringTiles(e){const i=e.canonical,s=Math.pow(2,i.z),a=(i.x-1+s)%s,o=0===i.x?e.wrap-1:e.wrap,r=(i.x+1+s)%s,n=i.x+1===s?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,o,i.z,a,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,o,i.z,a,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1}),i.y+1{this._updateWorkerData();},this.serialize=()=>t.extend({},this._options,{type:this.type,data:this._data}),this.id=e,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=s.getActor(),this.setEventedParent(a),this._data=i.data,this._options=t.extend({},i),this._collectResourceTiming=i.collectResourceTiming,void 0!==i.maxzoom&&(this.maxzoom=i.maxzoom),i.type&&(this.type=i.type),i.attribution&&(this.attribution=i.attribution),this.promoteId=i.promoteId;const o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:i.cluster||!1,geojsonVtOptions:{buffer:(void 0!==i.buffer?i.buffer:128)*o,tolerance:(void 0!==i.tolerance?i.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:i.lineMetrics||!1,generateId:i.generateId||!1},superclusterOptions:{maxZoom:void 0!==i.clusterMaxZoom?i.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,i.clusterMinPoints||2),extent:t.EXTENT,radius:(i.clusterRadius||50)*o,log:!1,generateId:i.generateId||!1},clusterProperties:i.clusterProperties,filter:i.filter},i.workerOptions),\"string\"==typeof this.promoteId&&(this.workerOptions.promoteId=this.promoteId);}onAdd(t){this.map=t,this.load();}setData(t){return this._data=t,this._updateWorkerData(),this}updateData(t){return this._updateWorkerData(t),this}setClusterOptions(t){return this.workerOptions.cluster=t.cluster,t&&(void 0!==t.clusterRadius&&(this.workerOptions.superclusterOptions.radius=t.clusterRadius),void 0!==t.clusterMaxZoom&&(this.workerOptions.superclusterOptions.maxZoom=t.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this}getClusterChildren(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this}getClusterLeaves(t,e,i,s){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:i},s),this}_updateWorkerData(e){const i=t.extend({},this.workerOptions);e?i.dataDiff=e:\"string\"==typeof this._data?(i.request=this.map._requestManager.transformRequest(t.browser.resolveURL(this._data),h.Source),i.request.collectResourceTiming=this._collectResourceTiming):i.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.actor.send(`${this.type}.loadData`,i,((e,i)=>{if(this._pendingLoads--,this._removed||i&&i.abandoned)return void this.fire(new t.Event(\"dataabort\",{dataType:\"source\"}));let s=null;if(i&&i.resourceTiming&&i.resourceTiming[this.id]&&(s=i.resourceTiming[this.id].slice(0)),e)return void this.fire(new t.ErrorEvent(e));const a={dataType:\"source\"};this._collectResourceTiming&&s&&s.length>0&&t.extend(a,{resourceTiming:s}),this.fire(new t.Event(\"data\",{...a,sourceDataType:\"metadata\"})),this.fire(new t.Event(\"data\",{...a,sourceDataType:\"content\"}));}));}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?\"reloadTile\":\"loadTile\";t.actor=this.actor;const s={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,s,((s,a)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):s?e(s):(t.loadVectorData(a,this.map.painter,\"reloadTile\"===i),e(null)))));}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0;}unloadTile(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id});}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id});}hasTransition(){return !1}}var O=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class N extends t.Evented{constructor(e,i,s,a){super(),this.load=(e,i)=>{this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=c.getImage(this.map._requestManager.transformRequest(this.url,h.Image),((s,a)=>{this._request=null,this._loaded=!0,s?this.fire(new t.ErrorEvent(s)):a&&(this.image=a,e&&(this.coordinates=e),i&&i(),this._finishLoading());}));},this.prepare=()=>{if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new x(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));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 t.Event(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));},this.serialize=()=>({type:\"image\",url:this.options.url,coordinates:this.coordinates}),this.id=e,this.dispatcher=s,this.coordinates=i.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=i;}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null;})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(t){this.map=t,this.load();}onRemove(){this._request&&(this._request.cancel(),this._request=null);}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,s=1/0,a=-1/0,o=-1/0;for(const t of e)i=Math.min(i,t.x),s=Math.min(s,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y);const r=Math.max(a-i,o-s),n=Math.max(0,Math.floor(-Math.log(r)/Math.LN2)),l=Math.pow(2,n);return new t.CanonicalTileID(n,Math.floor((i+a)/2*l),Math.floor((s+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const s=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(s[0].x,s[0].y,0,0),this._boundsArray.emplaceBack(s[1].x,s[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(s[3].x,s[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(s[2].x,s[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null));}hasTransition(){return !1}}class Z extends N{constructor(e,i,s,a){super(e,i,s,a),this.load=()=>{this._loaded=!1;const e=this.options;this.urls=[];for(const t of e.urls)this.urls.push(this.map._requestManager.transformRequest(t,h.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading());}));},this.prepare=()=>{if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new x(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));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 t.Event(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));},this.serialize=()=>({type:\"video\",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type=\"video\",this.options=i;}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=e;}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));}hasTransition(){return this.video&&!this.video.paused}}class G extends N{constructor(e,i,s,a){super(e,i,s,a),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());},this.prepare=()=>{let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,s=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new x(i,this.canvas,s.RGBA,{premultiply:!0});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 t.Event(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));},this.serialize=()=>({type:\"canvas\",coordinates:this.coordinates}),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>\"number\"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional \"animate\" property must be a boolean value'))),i.canvas?\"string\"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();}onRemove(){this.pause();}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 V={},q=t=>{switch(t){case\"geojson\":return U;case\"image\":return N;case\"raster\":return F;case\"raster-dem\":return B;case\"vector\":return k;case\"video\":return Z;case\"canvas\":return G}return V[t]};function j(e,i){const s=t.create();return t.translate(s,s,[1,1,0]),t.scale(s,s,[.5*e.width,.5*e.height,1]),t.multiply(s,s,e.calculatePosMatrix(i.toUnwrapped()))}function $(t,e,i,s,a,o){const r=function(t,e,i){if(t)for(const s of t){const t=e[s];if(t&&t.source===i&&\"fill-extrusion\"===t.type)return !0}else for(const t in e){const s=e[t];if(s.source===i&&\"fill-extrusion\"===s.type)return !0}return !1}(a&&a.layers,e,t.id),n=o.maxPitchScaleFactor(),l=t.tilesIn(s,n,r);l.sort(X);const c=[];for(const s of l)c.push({wrappedTileID:s.tileID.wrapped().key,queryResults:s.tile.queryRenderedFeatures(e,i,t._state,s.queryGeometry,s.cameraQueryGeometry,s.scale,a,o,n,j(t.transform,s.tileID))});const h=function(t){const e={},i={};for(const s of t){const t=s.queryResults,a=s.wrappedTileID,o=i[a]=i[a]||{};for(const i in t){const s=t[i],a=o[i]=o[i]||{},r=e[i]=e[i]||[];for(const t of s)a[t.featureIndex]||(a[t.featureIndex]=!0,r.push(t));}}return e}(c);for(const e in h)h[e].forEach((e=>{const i=e.feature,s=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=s;}));return h}function X(t,e){const i=t.tileID,s=e.tileID;return i.overscaledZ-s.overscaledZ||i.canonical.y-s.canonical.y||i.wrap-s.wrap||i.canonical.x-s.canonical.x}class W{constructor(e,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.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){s.layers=t,s.stateDependentLayerIds&&(s.stateDependentLayers=s.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=s;}}return i}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!s)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e));}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage);}else this.collisionBoxArray=new t.CollisionBoxArray;}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new x(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new x(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,i,s,a,o,r,n,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:s,cameraQueryGeometry:a,scale:o,tileSize:this.tileSize,pixelPosMatrix:c,transform:n,params:r,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(e,i){const s=this.latestFeatureIndex;if(!s||!s.rawTileData)return;const a=s.loadVTLayers(),o=i&&i.sourceLayer?i.sourceLayer:\"\",r=a._geojsonTileLayer||a[o];if(!r)return;const n=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,a);}),i)),this.data[s].push(a),this.order.push(s),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,s=void 0===e?0:this.data[i].indexOf(e),a=this.data[i][s];return this.data[i].splice(s,1),a.timeout&&clearTimeout(a.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(a.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const i in this.data)for(const s of this.data[i])t(s.value)||e.push(s);for(const t of e)this.remove(t.value.tileID,t);}}class K{constructor(){this.state={},this.stateChanges={},this.deletedStates={};}updateState(e,i,s){const a=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][a]=this.stateChanges[e][a]||{},t.extend(this.stateChanges[e][a],s),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==a&&(this.deletedStates[e][t]=null);}else if(this.deletedStates[e]&&null===this.deletedStates[e][a]){this.deletedStates[e][a]={};for(const t in this.state[e][a])s[t]||(this.deletedStates[e][a][t]=null);}else for(const t in s)this.deletedStates[e]&&this.deletedStates[e][a]&&null===this.deletedStates[e][a][t]&&delete this.deletedStates[e][a][t];}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const s=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][s]&&(this.deletedStates[t][s]=this.deletedStates[t][s]||{},this.deletedStates[t][s][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][s])for(i in this.deletedStates[t][s]={},this.stateChanges[t][s])this.deletedStates[t][s][i]=null;else this.deletedStates[t][s]=null;else this.deletedStates[t]=null;}getState(e,i){const s=String(i),a=t.extend({},(this.state[e]||{})[s],(this.stateChanges[e]||{})[s]);if(null===this.deletedStates[e])return {};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return {};for(const e in t)delete a[e];}return a}initializeTileState(t,e){t.setFeatureState(this.state,e);}coalesceChanges(e,i){const s={};for(const e in this.stateChanges){this.state[e]=this.state[e]||{};const i={};for(const s in this.stateChanges[e])this.state[e][s]||(this.state[e][s]={}),t.extend(this.state[e][s],this.stateChanges[e][s]),i[s]=this.state[e][s];s[e]=i;}for(const e in this.deletedStates){this.state[e]=this.state[e]||{};const i={};if(null===this.deletedStates[e])for(const t in this.state[e])i[t]={},this.state[e][t]={};else for(const t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(const i of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][i];i[t]=this.state[e][t];}s[e]=s[e]||{},t.extend(s[e],i);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(s).length)for(const t in e)e[t].setFeatureState(s,i);}}class Y extends t.Evented{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on(\"data\",(t=>{\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0);})),this.on(\"dataloading\",(()=>{this._sourceErrored=!1;})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded();})),this._source=((t,e,i,s)=>{const a=new(q(e.type))(t,e,i,s);if(a.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${a.id}`);return a})(t,e,i,this),this._tiles={},this._cache=new H(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new K,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,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event(\"dataabort\",{tile:e,coord:e.tileID,dataType:\"source\"}));}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(J).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const s=e.tileID,a=i.tileID,o=new t.Point(s.canonical.x,s.canonical.y)._rotate(this.transform.angle),r=new t.Point(a.canonical.x,a.canonical.y)._rotate(this.transform.angle);return s.overscaledZ-a.overscaledZ||r.y-o.y||r.x-o.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(J).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");}}_reloadTile(t,e){const i=this._tiles[t];i&&(\"loading\"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)));}_tileLoaded(e,i,s,a){if(a)return e.state=\"errored\",void(404!==a.status?this._source.fire(new t.ErrorEvent(a,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.browser.now(),\"expired\"===s&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}));}_backfillDEM(t){const e=this.getRenderableIds();for(let s=0;s1||(Math.abs(i)>1&&(1===Math.abs(i+a)?i+=a:1===Math.abs(i-a)&&(i-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,s),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,s){for(const a in this._tiles){let o=this._tiles[a];if(s[a]||!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]){s[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),s=this._getLoadedTile(e);if(s)return s}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(e){const i=Math.ceil(e.width/this._source.tileSize)+1,s=Math.ceil(e.height/this._source.tileSize)+1,a=Math.floor(i*s*(null===this._maxTileCacheZoomLevels?t.config.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),o=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,a):a;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 s=this._tiles[i];s.tileID=s.tileID.unwrapTo(s.tileID.wrap+e),t[s.tileID.key]=s;}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(t,this._tiles[t]);}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let s;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?s=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(s=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(s=s.filter((t=>this._source.hasTile(t))))):s=[];const a=e.coveringZoomLevel(this._source),o=Math.max(a-Y.maxOverzooming,this._source.minzoom),r=Math.max(a+Y.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of s)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const s=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[s.key]=s;}s=s.concat(Object.values(t));}const n=0===s.length&&!this._updated&&this._didEmitContent;this._updated=!0,n&&this.fire(new t.Event(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));const l=this._updateRetainedTiles(s,a);if(Q(this._source.type)){const e={},n={},c=Object.keys(l),h=t.browser.now();for(const t of c){const i=l[t],s=this._tiles[t];if(!s||0!==s.fadeEndTime&&s.fadeEndTime<=h)continue;const a=this.findLoadedParent(i,o);a&&(this._addTile(a.tileID),e[a.tileID.key]=a.tileID),n[t]=i;}this._retainLoadedChildren(n,a,r,l);for(const t in e)l[t]||(this._coveredTiles[t]=!0,l[t]=e[t]);if(i){const t={},e={};for(const i of s)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const s=e[i].children(this._source.maxzoom);this._tiles[s[0].key]&&this._tiles[s[1].key]&&this._tiles[s[2].key]&&this._tiles[s[3].key]&&(t[s[0].key]=l[s[0].key]=s[0],t[s[1].key]=l[s[1].key]=s[1],t[s[2].key]=l[s[2].key]=s[2],t[s[3].key]=l[s[3].key]=s[3],delete e[i]);}for(const i in e){const s=this.findLoadedParent(e[i],this._source.minzoom);if(s){t[s.tileID.key]=l[s.tileID.key]=s.tileID;for(const e in t)t[e].isChildOf(s.tileID)&&delete t[e];}}for(const e in this._tiles)t[e]||(this._coveredTiles[e]=!0);}}for(const t in l)this._tiles[t].clearFadeHold();const c=t.keysDifference(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();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);}_updateRetainedTiles(t,e){const i={},s={},a=Math.max(e-Y.maxOverzooming,this._source.minzoom),o=Math.max(e+Y.maxUnderzooming,this._source.minzoom),r={};for(const s of t){const t=this._addTile(s);i[s.key]=s,t.hasData()||ethis._source.maxzoom){const t=o.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else {const t=o.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let r=t.wasRequested();for(let e=o.overscaledZ-1;e>=a;--e){const a=o.scaledTo(e);if(s[a.key])break;if(s[a.key]=!0,t=this.getTile(a),!t&&r&&(t=this._addTile(a)),t){const e=t.hasData();if((r||e)&&(i[a.key]=a),r=t.wasRequested(),e)break}}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,s=this._tiles[t].tileID;for(;s.overscaledZ>0;){if(s.key in this._loadedParentTiles){i=this._loadedParentTiles[s.key];break}e.push(s.key);const t=s.scaledTo(s.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;s=t;}for(const t of e)this._loadedParentTiles[t]=i;}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));const s=i;return i||(i=new W(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,s||this._source.fire(new t.Event(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t];}),i));}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset();}tilesIn(e,i,s){const a=[],o=this.transform;if(!o)return a;const r=s?o.getCameraQueryGeometry(e):e,n=e.map((t=>o.pointCoordinate(t,this.terrain))),l=r.map((t=>o.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,d=-1/0,_=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),_=Math.max(_,t.y);for(let e=0;e=0&&f[1].y+p>=0){const t=n.map((t=>r.getTilePoint(t))),e=l.map((t=>r.getTilePoint(t)));a.push({tile:s,tileID:r,queryGeometry:t,cameraQueryGeometry:e,scale:m});}}return a}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(Q(this._source.type)){const e=t.browser.now();for(const t in this._tiles)if(this._tiles[t].fadeEndTime>=e)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 s=this._tiles[t];s&&s.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 J(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),s=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||s-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Q(t){return \"raster\"===t||\"image\"===t||\"video\"===t}Y.maxOverzooming=10,Y.maxUnderzooming=3;const tt=\"mapboxgl_preloaded_worker_pool\";class et{constructor(){this.active={};}acquire(e){if(!this.workers)for(this.workers=[];this.workers.length{t.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[tt]}numActive(){return Object.keys(this.active).length}}const it=Math.floor(t.browser.hardwareConcurrency/2);let st;function at(){return st||(st=new et),st}et.workerCount=t.isSafari(globalThis)?Math.max(Math.min(it,3),1):1;class ot{constructor(t,e){this.reset(t,e);}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(a-r)/n:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}function rt(t,e){let i=!0;return \"always\"===t||\"never\"!==t&&\"never\"!==e||(i=!1),i}class nt{constructor(t,e,i){const s=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||s<0||e>this.height)return [];const n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=s){if(a)return [{key:null,x1:t,y1:e,x2:i,y2:s}];for(let t=0;t0}hitTestCircle(t,e,i,s,a){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 c=[];return this._forEachCell(o,n,r,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:s,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},a),c.length>0}_queryCell(t,e,i,s,a,o,r,n){const{seenUids:l,hitTest:c,overlapMode:h}=r,u=this.boxCells[a];if(null!==u){const a=this.bboxes;for(const r of u)if(!l.box[r]){l.box[r]=!0;const u=4*r,d=this.boxKeys[r];if(t<=a[u+2]&&e<=a[u+3]&&i>=a[u+0]&&s>=a[u+1]&&(!n||n(d))&&(!c||!rt(h,d.overlapMode))&&(o.push({key:d,x1:a[u],y1:a[u+1],x2:a[u+2],y2:a[u+3]}),c))return !0}}const d=this.circleCells[a];if(null!==d){const a=this.circles;for(const r of d)if(!l.circle[r]){l.circle[r]=!0;const u=3*r,d=this.circleKeys[r];if(this._circleAndRectCollide(a[u],a[u+1],a[u+2],t,e,i,s)&&(!n||n(d))&&(!c||!rt(h,d.overlapMode))){const t=a[u],e=a[u+1],i=a[u+2];if(o.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return !0}}}return !1}_queryCellCircle(t,e,i,s,a,o,r,n){const{circle:l,seenUids:c,overlapMode:h}=r,u=this.boxCells[a];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,s=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(s))&&!rt(h,s.overlapMode))return o.push(!0),!0}}const d=this.circleCells[a];if(null!==d){const t=this.circles;for(const e of d)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,s=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!n||n(s))&&!rt(h,s.overlapMode))return o.push(!0),!0}}}_forEachCell(t,e,i,s,a,o,r,n){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(s);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++)if(a.call(this,t,e,i,s,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,s,a,o){const r=s-t,n=a-e,l=i+o;return l*l>r*r+n*n}_circleAndRectCollide(t,e,i,s,a,o,r){const n=(o-s)/2,l=Math.abs(t-(s+n));if(l>n+i)return !1;const c=(r-a)/2,h=Math.abs(e-(a+c));if(h>c+i)return !1;if(l<=n||h<=c)return !0;const u=l-n,d=h-c;return u*u+d*d<=i*i}}function lt(e,i,s,a,o){const r=t.create();return i?(t.scale(r,r,[1/o,1/o,1]),s||t.rotateZ(r,r,a.angle)):t.multiply(r,a.labelPlaneMatrix,e),r}function ct(e,i,s,a,o){if(i){const i=t.clone(e);return t.scale(i,i,[o,o,1]),s||t.rotateZ(i,i,-a.angle),i}return a.glCoordMatrix}function ht(e,i,s){let a;s?(a=[e.x,e.y,s(e.x,e.y),1],t.transformMat4(a,a,i)):(a=[e.x,e.y,0,1],Et(a,a,i));const o=a[3];return {point:new t.Point(a[0]/o,a[1]/o),signedDistanceFromCamera:o}}function ut(t,e){return .5+t/e*.5}function dt(t,e){const i=t[0]/t[3],s=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&s>=-e[1]&&s<=e[1]}function _t(e,i,s,a,o,r,n,l,c,h){const u=a?e.textSizeData:e.iconSizeData,d=t.evaluateSizeForZoom(u,s.transform.zoom),_=[256/s.width*2+1,256/s.height*2+1],m=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;m.clear();const p=e.lineVertexArray,f=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=s.transform.width/s.transform.height;let v=!1;for(let a=0;aMath.abs(s.x-i.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?i.ys.x)?{needsFlipping:!0}:null}function ft(e,i,s,a,o,r,n,l,c,h,u,d,_,m,p,f){const g=i/24,v=e.lineOffsetX*g,x=e.lineOffsetY*g;let y;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,o=e.lineStartIndex+e.lineLength,h=mt(g,l,v,x,s,u,d,e,c,r,_,p,f);if(!h)return {notEnoughRoom:!0};const b=ht(h.first.point,n,f).point,w=ht(h.last.point,n,f).point;if(a&&!s){const t=pt(e.writingMode,b,w,m);if(t)return t}y=[h.first];for(let a=e.glyphStartIndex+1;a0?r.point:gt(d,a,i,1,o,f),l=pt(e.writingMode,i,n,m);if(l)return l}const i=bt(g*l.getoffsetX(e.glyphStartIndex),v,x,s,u,d,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,r,_,p,f);if(!i)return {notEnoughRoom:!0};y=[i];}for(const e of y)t.addDynamicAttributes(h,e.point,e.angle);return {}}function gt(t,e,i,s,a,o){const r=ht(t.add(t.sub(e)._unit()),a,o).point,n=i.sub(r);return i.add(n._mult(s/n.mag()))}function vt(e,i){const{projectionCache:s,lineVertexArray:a,labelPlaneMatrix:o,tileAnchorPoint:r,distanceFromAnchor:n,getElevation:l,previousVertex:c,direction:h,absOffsetX:u}=i;if(s.projections[e])return s.projections[e];const d=new t.Point(a.getx(e),a.gety(e)),_=ht(d,o,l);if(_.signedDistanceFromCamera>0)return s.projections[e]=_.point,_.point;const m=e-h;return gt(0===n?r:new t.Point(a.getx(m),a.gety(m)),d,c,u-n+1,o,l)}function xt(t,e,i){return t._unit()._perp()._mult(e*i)}function yt(e,i,s,a,o,r,n,l){const{projectionCache:c,direction:h}=l;if(c.offsets[e])return c.offsets[e];const u=s.add(i);if(e+h=o)return c.offsets[e]=u,u;const d=vt(e+h,l),_=xt(d.sub(s),n,h),m=s.add(_),p=d.add(_);return c.offsets[e]=t.findLineIntersection(r,u,m,p)||u,c.offsets[e]}function bt(t,e,i,s,a,o,r,n,l,c,h,u,d,_){const m=s?t-e:t+e;let p=m>0?1:-1,f=0;s&&(p*=-1,f=Math.PI),p<0&&(f+=Math.PI);let g,v,x=p>0?n+r:n+r+1,y=a,b=a,w=0,T=0;const E=Math.abs(m),I=[];let S;for(;w+T<=E;){if(x+=p,x=l)return null;w+=T,b=y,v=g;const t={projectionCache:u,lineVertexArray:c,labelPlaneMatrix:h,tileAnchorPoint:o,distanceFromAnchor:w,getElevation:_,previousVertex:b,direction:p,absOffsetX:E};if(y=vt(x,t),0===i)I.push(b),S=y.sub(b);else {let e;const s=y.sub(b);e=0===s.mag()?xt(vt(x+p,t).sub(y),i,p):xt(s,i,p),v||(v=b.add(e)),g=yt(x,e,y,n,l,v,i,t),I.push(v),S=g.sub(v);}T=S.mag();}const C=S._mult((E-w)/T)._add(v||b),P=f+Math.atan2(y.y-b.y,y.x-b.x);return I.push(C),{point:C,angle:d?P:0,path:I}}const wt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Tt(t,e){for(let i=0;i=1;t--)h.push(r.path[t]);for(let t=1;tht(t,l,m)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point));}let g=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=s.x&&i.x<=a.x&&e.y>=s.y&&i.y<=a.y?[h]:i.xa.x||i.ya.y?[]:t.clipLine([h],s.x,s.y,a.x,a.y);}for(const t of g){o.reset(t,.25*i);let s=0;s=o.length<=.5*i?1:Math.ceil(o.paddedLength/f)+1;for(let t=0;t=this.screenRightBoundary||sthis.screenBottomBoundary}isInsideGrid(t,e,i,s){return i>=0&&t=0&&et.collisionGroupID===e};}return this.collisionGroups[t]}}function Rt(e,i,s,a,o){const{horizontalAlign:r,verticalAlign:n}=t.getAnchorAlignment(e);return new t.Point(-(r-.5)*i+a[0]*o,-(n-.5)*s+a[1]*o)}function kt(e,i,s,a,o,r){const{x1:n,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:d}=e,_=new t.Point(i,s);return a&&_._rotate(o?r:-r),{x1:n+_.x,y1:c+_.y,x2:l+_.x,y2:h+_.y,anchorPointX:u,anchorPointY:d}}class Ft{constructor(t,e,i,s,a){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new St(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new Lt(s),this.collisionCircleArrays={},this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={};}getBucketParts(e,i,s,a){const o=s.getBucket(i),r=s.latestFeatureIndex;if(!o||!r||i.id!==o.layerIds[0])return;const n=s.collisionBoxArray,l=o.layers[0].layout,c=Math.pow(2,this.transform.zoom-s.tileID.overscaledZ),h=s.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(s.tileID.toUnwrapped()),d=\"map\"===l.get(\"text-pitch-alignment\"),_=\"map\"===l.get(\"text-rotation-alignment\"),m=Ct(s,1,this.transform.zoom),p=lt(u,d,_,this.transform,m);let f=null;if(d){const e=ct(u,d,_,this.transform,m);f=t.multiply([],this.transform.labelPlaneMatrix,e);}this.retainedQueryData[o.bucketInstanceId]=new At(o.bucketInstanceId,r,o.sourceLayerIndex,o.index,s.tileID);const g={bucket:o,layout:l,posMatrix:u,textLabelPlaneMatrix:p,labelToScreenMatrix:f,scale:c,textPixelRatio:h,holdingForFade:s.holdingForFade(),collisionBoxArray:n,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(o.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(a)for(const t of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:s,symbolInstanceEnd:a}=t;e.push({sortKey:i,symbolInstanceStart:s,symbolInstanceEnd:a,parameters:g});}else e.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:g});}attemptAnchorPlacement(e,i,s,a,o,r,n,l,c,h,u,d,_,m,p,f){const g=t.TextAnchorEnum[e.textAnchor],v=[e.textOffset0,e.textOffset1],x=Rt(g,s,a,v,o),y=this.collisionIndex.placeCollisionBox(kt(i,x.x,x.y,r,n,this.transform.angle),u,l,c,h.predicate,f);if((!p||0!==this.collisionIndex.placeCollisionBox(kt(p,x.x,x.y,r,n,this.transform.angle),u,l,c,h.predicate,f).box.length)&&y.box.length>0){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[d.crossTileID]&&this.prevPlacement.placements[d.crossTileID]&&this.prevPlacement.placements[d.crossTileID].text&&(t=this.prevPlacement.variableOffsets[d.crossTileID].anchor),0===d.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[d.crossTileID]={textOffset:v,width:s,height:a,anchor:g,textBoxScale:o,prevAnchor:t},this.markUsedJustification(_,g,d,m),_.allowVerticalPlacement&&(this.markUsedOrientation(_,m,d),this.placedOrientations[d.crossTileID]=m),{shift:x,placedGlyphBoxes:y}}}placeLayerBucketPart(e,i,s){const{bucket:a,layout:o,posMatrix:r,textLabelPlaneMatrix:n,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:d,collisionGroup:_}=e.parameters,m=o.get(\"text-optional\"),p=o.get(\"icon-optional\"),f=t.getOverlapMode(o,\"text-overlap\",\"text-allow-overlap\"),g=\"always\"===f,v=t.getOverlapMode(o,\"icon-overlap\",\"icon-allow-overlap\"),x=\"always\"===v,y=\"map\"===o.get(\"text-rotation-alignment\"),b=\"map\"===o.get(\"text-pitch-alignment\"),w=\"none\"!==o.get(\"icon-text-fit\"),T=\"viewport-y\"===o.get(\"symbol-z-order\"),E=g&&(x||!a.hasIconData()||p),I=x&&(g||!a.hasTextData()||m);!a.collisionArrays&&u&&a.deserializeCollisionBoxes(u);const S=this.retainedQueryData[a.bucketInstanceId].tileID,C=this.terrain?(t,e)=>this.terrain.getElevation(S,t,e):null,P=(e,u)=>{var x,T;if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Mt(!1,!1,!1));let S=!1,P=!1,D=!0,M=null,z={box:null,offscreen:null},A={box:null,offscreen:null},L=null,R=null,k=null,F=0,B=0,U=0;u.textFeatureIndex?F=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(F=e.featureIndex),u.verticalTextFeatureIndex&&(B=u.verticalTextFeatureIndex);const O=u.textBox;if(O){const i=i=>{let s=t.WritingMode.horizontal;if(a.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,s=t,this.markUsedOrientation(a,s,e));}return s},s=(i,s)=>{if(a.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of a.writingModes)if(e===t.WritingMode.vertical?(z=s(),A=z):z=i(),z&&z.box&&z.box.length)break}else z=i();},o=e.textAnchorOffsetStartIndex,n=e.textAnchorOffsetEndIndex;if(n===o){const o=(t,i)=>{const s=this.collisionIndex.placeCollisionBox(t,f,c,r,_.predicate,C);return s&&s.box&&s.box.length&&(this.markUsedOrientation(a,i,e),this.placedOrientations[e.crossTileID]=i),s};s((()=>o(O,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return a.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?o(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(z&&z.box&&z.box.length);}else {let l=t.TextAnchorEnum[null===(T=null===(x=this.prevPlacement)||void 0===x?void 0:x.variableOffsets[e.crossTileID])||void 0===T?void 0:T.anchor];const h=(t,i,s)=>{const h=t.x2-t.x1,u=t.y2-t.y1,d=e.textBoxScale,m=w&&\"never\"===v?i:null;let p={box:[],offscreen:!1},g=\"never\"===f?1:2,x=\"never\";l&&g++;for(let i=0;ih(O,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return a.allowVerticalPlacement&&!(z&&z.box&&z.box.length)&&e.numVerticalGlyphVertices>0&&i?h(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),z&&(S=z.box,D=z.offscreen);const d=i(z&&z.box);if(!S&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(a,t.anchor,e,d));}}}if(L=z,S=L&&L.box&&L.box.length>0,D=L&&L.offscreen,e.useRuntimeCollisionCircles){const i=a.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(a.textSizeData,d,i),h=o.get(\"text-padding\");R=this.collisionIndex.placeCollisionCircles(f,i,a.lineVertexArray,a.glyphOffsetArray,c,r,n,l,s,b,_.predicate,e.collisionCircleDiameter,h,C),R.circles.length&&R.collisionDetected&&!s&&t.warnOnce(\"Collisions detected, but collision boxes are not shown\"),S=g||R.circles.length>0&&!R.collisionDetected,D=D&&R.offscreen;}if(u.iconFeatureIndex&&(U=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&M?kt(t,M.x,M.y,y,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,v,c,r,_.predicate,C)};A&&A.box&&A.box.length&&u.verticalIconBox?(k=t(u.verticalIconBox),P=k.box.length>0):(k=t(u.iconBox),P=k.box.length>0),D=D&&k.offscreen;}const N=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,Z=p||0===e.numIconVertices;if(N||Z?Z?N||(P=P&&S):S=P&&S:P=S=P&&S,S&&L&&L.box&&this.collisionIndex.insertCollisionBox(L.box,f,o.get(\"text-ignore-placement\"),a.bucketInstanceId,A&&A.box&&B?B:F,_.ID),P&&k&&this.collisionIndex.insertCollisionBox(k.box,v,o.get(\"icon-ignore-placement\"),a.bucketInstanceId,U,_.ID),R&&(S&&this.collisionIndex.insertCollisionCircles(R.circles,f,o.get(\"text-ignore-placement\"),a.bucketInstanceId,F,_.ID),s)){const t=a.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new zt);for(let t=0;t=0;--e){const i=t[e];P(a.symbolInstances.get(i),a.collisionArrays[i]);}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=o>=0&&t!==o?0:s.crossTileID);}markUsedOrientation(e,i,s){const a=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,o=i===t.WritingMode.vertical?i:0,r=[s.leftJustifiedTextSymbolIndex,s.centerJustifiedTextSymbolIndex,s.rightJustifiedTextSymbolIndex];for(const t of r)e.text.placedSymbolArray.get(t).placedOrientation=a;s.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(s.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 s=e?e.symbolFadeChange(t):1,a=e?e.opacities:{},o=e?e.variableOffsets:{},r=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],o=a[t];o?(this.opacities[t]=new Dt(o,s,e.text,e.icon),i=i||e.text!==o.text.placed||e.icon!==o.icon.placed):(this.opacities[t]=new Dt(null,s,e.text,e.icon,e.skipFade),i=i||e.text||e.icon);}for(const t in a){const e=a[t];if(!this.opacities[t]){const a=new Dt(e,s,!1,!1);a.isHidden()||(this.opacities[t]=a,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 s of e){const e=s.getBucket(t);e&&s.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,s.collisionBoxArray);}}updateBucketOpacities(e,i,s){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const a=e.layers[0],o=a.layout,r=new Dt(null,0,!1,!1,!0),n=o.get(\"text-allow-overlap\"),l=o.get(\"icon-allow-overlap\"),c=a._unevaluatedLayout.hasValue(\"text-variable-anchor\")||a._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),h=\"map\"===o.get(\"text-rotation-alignment\"),u=\"map\"===o.get(\"text-pitch-alignment\"),d=\"none\"!==o.get(\"icon-text-fit\"),_=new Dt(null,0,n&&(l||!e.hasIconData()||o.get(\"icon-optional\")),l&&(n||!e.hasTextData()||o.get(\"text-optional\")),!0);!e.collisionArrays&&s&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(s);const m=(t,e,i)=>{for(let s=0;s0,g=this.placedOrientations[a.crossTileID],v=g===t.WritingMode.vertical,x=g===t.WritingMode.horizontal||g===t.WritingMode.horizontalOnly;if(o>0||n>0){const t=jt(p.text);m(e.text,o,v?$t:t),m(e.text,n,x?$t:t);const i=p.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||v?1:0);})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=i||x?1:0);const s=this.variableOffsets[a.crossTileID];s&&this.markUsedJustification(e,s.anchor,a,g);const r=this.placedOrientations[a.crossTileID];r&&(this.markUsedJustification(e,\"left\",a,r),this.markUsedOrientation(e,r,a));}if(f){const t=jt(p.icon),i=!(d&&a.verticalPlacedIconSymbolIndex&&v);a.placedIconSymbolIndex>=0&&(m(e.icon,a.numIconVertices,i?t:$t),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=p.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(m(e.icon,a.numVerticalIconVertices,i?$t:t),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=p.icon.isHidden());}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[s];if(i){let s=new t.Point(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(c){const e=this.variableOffsets[l];e?(s=Rt(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),h&&s._rotate(u?this.transform.angle:-this.transform.angle)):t=!1;}i.textBox&&Bt(e.textCollisionBox.collisionVertexArray,p.text.placed,!t||v,s.x,s.y),i.verticalTextBox&&Bt(e.textCollisionBox.collisionVertexArray,p.text.placed,!t||x,s.x,s.y);}const a=Boolean(!x&&i.verticalIconBox);i.iconBox&&Bt(e.iconCollisionBox.collisionVertexArray,p.icon.placed,a,d?s.x:0,d?s.y:0),i.verticalIconBox&&Bt(e.iconCollisionBox.collisionVertexArray,p.icon.placed,!a,d?s.x:0,d?s.y:0);}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId];}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0;}}function Bt(t,e,i,s,a){t.emplaceBack(e?1:0,i?1:0,s||0,a||0),t.emplaceBack(e?1:0,i?1:0,s||0,a||0),t.emplaceBack(e?1:0,i?1:0,s||0,a||0),t.emplaceBack(e?1:0,i?1:0,s||0,a||0);}const Ut=Math.pow(2,25),Ot=Math.pow(2,24),Nt=Math.pow(2,17),Zt=Math.pow(2,16),Gt=Math.pow(2,9),Vt=Math.pow(2,8),qt=Math.pow(2,1);function jt(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*Ut+e*Ot+i*Nt+e*Zt+i*Gt+e*Vt+i*qt+e}const $t=0;class Xt{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,s,a){const o=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&t.browser.now()-a>2;for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===t.type&&(!t.minzoom||t.minzoom<=a)&&(!t.maxzoom||t.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new Xt(t)),this._inProgressLayer.continuePlacement(s[t.source],this.placement,this._showCollisionBoxes,t,o))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(t){return this.placement.commit(t),this.placement}}const Ht=512/t.EXTENT/2;class Kt{constructor(e,i,s){this.tileID=e,this.bucketInstanceId=s,this._symbolsByKey={};const a=new Map;for(let t=0;t({x:Math.floor(t.anchorX*Ht),y:Math.floor(t.anchorY*Ht)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(s.positions.length>128){const e=new t.KDBush(s.positions.length,16,Uint16Array);for(const{x:t,y:i}of s.positions)e.add(t,i);e.finish(),delete s.positions,s.index=e;}this._symbolsByKey[e]=s;}}getScaledCoordinates(e,i){const{x:s,y:a,z:o}=this.tileID.canonical,{x:r,y:n,z:l}=i.canonical,c=Ht/Math.pow(2,l-o),h=(n*t.EXTENT+e.anchorY)*c,u=a*t.EXTENT*Ht;return {x:Math.floor((r*t.EXTENT+e.anchorX)*c-s*t.EXTENT*Ht),y:Math.floor(h-u)}}findMatches(t,e,i){const s=this.tileID.canonical.zt))}}class Yt{constructor(){this.maxCrossTileID=0;}generate(){return ++this.maxCrossTileID}}class Jt{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],s={};for(const t in i){const a=i[t];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+e),s[a.tileID.key]=a;}this.indexes[t]=s;}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 a){const o=a[i];o.tileID.isChildOf(t)&&o.findMatches(e.symbolInstances,t,s);}else {const o=a[t.scaledTo(Number(i)).key];o&&o.findMatches(e.symbolInstances,t,s);}}for(let t=0;t{e[t]=!0;}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t];}}const te=(e,i)=>t.emitValidationErrors(e,i&&i.filter((t=>\"source.canvas\"!==t.identifier))),ee=t.pick(t.operations,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setGlyphs\",\"setSprite\"]),ie=t.pick(t.operations,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),se=t.emptyStyle();class ae extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new z(at(),this,e._getMapId()),this.imageManager=new b,this.imageManager.setEventedParent(this),this.glyphManager=new I(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new M(256,512),this.crossTileSymbolIndex=new Qt,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",t.getReferrer());const s=this;this._rtlTextPluginCallback=ae.registerForPluginStateChange((e=>{s.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in s.sourceCaches){const e=s.sourceCaches[t].getSource().type;\"vector\"!==e&&\"geojson\"!==e||s.sourceCaches[t].reload();}}));})),this.on(\"data\",(t=>{if(\"source\"!==t.dataType||\"metadata\"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e);}}));}loadURL(e,i={},s){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),i.validate=\"boolean\"!=typeof i.validate||i.validate;const a=this.map._requestManager.transformRequest(e,h.Style);this._request=t.getJSON(a,((e,a)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):a&&this._load(a,i,s);}));}loadJSON(e,i={},s){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.browser.frame((()=>{this._request=null,i.validate=!1!==i.validate,this._load(e,i,s);}));}loadEmpty(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(se,{validate:!1});}_load(e,i,s){var a;const o=i.transformStyle?i.transformStyle(s,e):e;if(!i.validate||!te(this,t.validateStyle(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.map.setTerrain(null!==(a=this.stylesheet.terrain)&&void 0!==a?a:null),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"));}}_createLayers(){const e=t.derefLayers(this.stylesheet.layers);this.dispatcher.broadcast(\"setLayers\",e),this._order=e.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of e){const e=t.createStyleLayer(i);e.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=e;}}_loadSprite(e,i=!1,s=void 0){this.imageManager.setLoaded(!1),this._spriteRequest=function(e,i,s,a){const o=g(e),r=o.length,n=s>1?\"@2x\":\"\",l={},u={},d={};for(const{id:e,url:s}of o){const o=i.transformRequest(i.normalizeSpriteURL(s,n,\".json\"),h.SpriteJSON),_=`${e}_${o.url}`;l[_]=t.getJSON(o,((t,i)=>{delete l[_],u[e]=i,v(a,u,d,t,r);}));const m=i.transformRequest(i.normalizeSpriteURL(s,n,\".png\"),h.SpriteImage),p=`${e}_${m.url}`;l[p]=c.getImage(m,((t,i)=>{delete l[p],d[e]=i,v(a,u,d,t,r);}));}return {cancel(){for(const t of Object.values(l))t.cancel();}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,a)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(a)for(const t in a){this._spritesImagesIds[t]=[];const e=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in a))):[];for(const t of e)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const e in a[t]){const s=\"default\"===t?e:`${t}:${e}`;this._spritesImagesIds[t].push(s),s in this.imageManager.images?this.imageManager.updateImage(s,a[t][e],!1):this.imageManager.addImage(s,a[t][e]),i&&(this._changedImages[s]=!0);}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"})),s&&s(e);}));}_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(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const s=e.sourceLayer;if(!s)return;const a=i.getSource();(\"geojson\"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(s))&&this.fire(new t.ErrorEvent(new Error(`Source layer \"${s}\" does not exist on source \"${a.id}\" as specified by style layer \"${e.id}\".`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeByIds(t){const e=this._serializedAllLayers();if(!t||0===t.length)return Object.values(e);const i=[];for(const s of t)e[s]&&i.push(e[s]);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;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(const t in this._layers)if(this._layers[t].hasTransition())return !0;return !1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];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 t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates();}const s={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];s[t]=e.used,e.used=!1;}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);}for(const e in s){const i=this.sourceCaches[e];s[e]!==i.used&&i.fire(new t.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:e}));}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event(\"data\",{dataType:\"style\"}));}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1;}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeByIds(t),removedIds:e});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1;}setState(e,i={}){this._checkLoaded();const s=this.serialize();if(e=i.transformStyle?i.transformStyle(s,e):e,te(this,t.validateStyle(e)))return !1;(e=t.clone$1(e)).layers=t.derefLayers(e.layers);const a=t.diffStyles(s,e).filter((t=>!(t.command in ie)));if(0===a.length)return !1;const o=a.filter((t=>!(t.command in ee)));if(o.length>0)throw new Error(`Unimplemented: ${o.map((t=>t.command)).join(\", \")}.`);for(const t of a)\"setTransition\"!==t.command&&this[t.command].apply(this,t.args);return this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named \"${e}\" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e);}updateImage(t,e){this.imageManager.updateImage(t,e);}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named \"${e}\" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e);}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,s={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source \"${e}\" already exists.`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,`sources.${e}`,i,null,s))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const a=this.sourceCaches[e]=new Y(e,i,this.dispatcher);a.style=this,a.setEventedParent(this,(()=>({isSourceLoaded:a.loaded(),source:a.serialize(),sourceId:e}))),a.onAdd(this.map),this._changed=!0;}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(const i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error(`Source \"${e}\" cannot be removed while layer \"${i}\" is using it.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0;}setGeoJSONSourceData(t,e){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(e,i,s={}){this._checkLoaded();const a=e.id;if(this.getLayer(a))return void this.fire(new t.ErrorEvent(new Error(`Layer \"${a}\" already exists on this map.`)));let o;if(\"custom\"===e.type){if(te(this,t.validateCustomStyleLayer(e)))return;o=t.createStyleLayer(e);}else {if(\"source\"in e&&\"object\"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,`layers.${a}`,e,{arrayIndex:-1},s))return;o=t.createStyleLayer(e),this._validateLayer(o),o.setEventedParent(this,{layer:{id:a}});}const r=i?this._order.indexOf(i):this._order.length;if(i&&-1===r)this.fire(new t.ErrorEvent(new Error(`Cannot add layer \"${a}\" before non-existing layer \"${i}\".`)));else {if(this._order.splice(r,0,a),this._layerOrderChanged=!0,this._layers[a]=o,this._removedLayers[a]&&o.source&&\"custom\"!==o.type){const t=this._removedLayers[a];delete this._removedLayers[a],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(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const s=this._order.indexOf(e);this._order.splice(s,1);const a=i?this._order.indexOf(i):this._order.length;i&&-1===a?this.fire(new t.ErrorEvent(new Error(`Cannot move layer \"${e}\" before non-existing layer \"${i}\".`))):(this._order.splice(a,0,e),this._layerOrderChanged=!0);}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer \"${e}\".`)));i.setEventedParent(null);const s=this._order.indexOf(e);this._order.splice(s,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map);}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,s){this._checkLoaded();const a=this.getLayer(e);a?a.minzoom===i&&a.maxzoom===s||(null!=i&&(a.minzoom=i),null!=s&&(a.maxzoom=s),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer \"${e}\".`)));}setFilter(e,i,s={}){this._checkLoaded();const a=this.getLayer(e);if(a){if(!t.deepEqual(a.filter,i))return null==i?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,`layers.${a.id}.filter`,i,null,s)||(a.filter=t.clone$1(i),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer \"${e}\".`)));}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,s,a={}){this._checkLoaded();const o=this.getLayer(e);o?t.deepEqual(o.getLayoutProperty(i),s)||(o.setLayoutProperty(i,s,a),this._updateLayer(o)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer \"${e}\".`)));}getLayoutProperty(e,i){const s=this.getLayer(e);if(s)return s.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer \"${e}\".`)));}setPaintProperty(e,i,s,a={}){this._checkLoaded();const o=this.getLayer(e);o?t.deepEqual(o.getPaintProperty(i),s)||(o.setPaintProperty(i,s,a)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer \"${e}\".`)));}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const s=e.source,a=e.sourceLayer,o=this.sourceCaches[s];if(void 0===o)return void this.fire(new t.ErrorEvent(new Error(`The source '${s}' does not exist in the map's style.`)));const r=o.getSource().type;\"geojson\"===r&&a?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==r||a?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),o.setFeatureState(a,e.id,i)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}removeFeatureState(e,i){this._checkLoaded();const s=e.source,a=this.sourceCaches[s];if(void 0===a)return void this.fire(new t.ErrorEvent(new Error(`The source '${s}' does not exist in the map's style.`)));const o=a.getSource().type,r=\"vector\"===o?e.sourceLayer:void 0;\"vector\"!==o||r?i&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\"))):a.removeFeatureState(r,e.id,i):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}getFeatureState(e){this._checkLoaded();const i=e.source,s=e.sourceLayer,a=this.sourceCaches[i];if(void 0!==a)return \"vector\"!==a.getSource().type||s?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.getFeatureState(s,e.id)):void this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const e=t.mapObject(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order),s=this.stylesheet;return t.filterObject({version:s.version,name:s.name,metadata:s.metadata,light:s.light,center:s.center,zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,sprite:s.sprite,glyphs:s.glyphs,transition:s.transition,sources:e,layers:i},(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={},s=[];for(let a=this._order.length-1;a>=0;a--){const o=this._order[a];if(e(o)){i[o]=a;for(const e of t){const t=e[o];if(t)for(const e of t)s.push(e);}}}s.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const a=[];for(let o=this._order.length-1;o>=0;o--){const r=this._order[o];if(e(r))for(let t=s.length-1;t>=0;t--){const e=s[t].feature;if(i[e.layer.id]{const s=i.featureSortOrder;if(s){const i=s.indexOf(t.featureIndex);return s.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of a)e.push(t);}}for(const e in n)n[e].forEach((s=>{const a=s.feature,o=i[t[e].source].getFeatureState(a.layer[\"source-layer\"],a.id);a.source=a.layer.source,a.layer[\"source-layer\"]&&(a.sourceLayer=a.layer[\"source-layer\"]),a.state=o;}));return n}(this._layers,r,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",i.filter,null,i);const s=this.sourceCaches[e];return s?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),s=[],a={};for(let t=0;t{V[t]=e;})(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},i):i(null,null))}getLight(){return this.light.getLight()}setLight(e,i={}){this._checkLoaded();const s=this.light.getLight();let a=!1;for(const i in e)if(!t.deepEqual(e[i],s[i])){a=!0;break}if(!a)return;const o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,i),this.light.updateTransitions(o);}_validate(e,i,s,a,o={}){return (!o||!1!==o.validate)&&te(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:s,styleSpec:t.v8Spec},a)))}_remove(e=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(const t in this._layers)this._layers[t].setEventedParent(null);for(const t in this.sourceCaches){const e=this.sourceCaches[t];e.setEventedParent(null),e.onRemove(this.map);}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(e);}_clearSource(t){this.sourceCaches[t].clearTiles();}_reloadSource(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload();}_updateSources(t){for(const e in this.sourceCaches)this.sourceCaches[e].update(t,this.map.terrain);}_generateCollisionBoxes(){for(const t in this.sourceCaches)this._reloadSource(t);}_updatePlacement(e,i,s,a,o=!1){let r=!1,n=!1;const l={};for(const t of this._order){const i=this._layers[t];if(\"symbol\"!==i.type)continue;if(!l[i.source]){const t=this.sourceCaches[i.source];l[i.source]=t.getRenderableIds(!0).map((e=>t.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)));}const s=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);r=r||s;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((o=o||this._layerOrderChanged||0===s)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new Wt(e,this.map.terrain,this._order,o,i,s,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),n=!0),r&&this.pauseablePlacement.placement.setStale()),n||r)for(const t of this._order){const e=this._layers[t];\"symbol\"===e.type&&this.placement.updateLayerOpacities(e,l[e.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const s=this.sourceCaches[e.source];s&&s.setDependencies(e.tileID.key,e.type,e.icons);}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);const s=this.sourceCaches[e.source];s&&s.setDependencies(e.tileID.key,e.type,[\"\"]);}getResource(e,i,s){return t.makeRequest(i,s)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,i={}){this._checkLoaded(),e&&this._validate(t.validateStyle.glyphs,\"glyphs\",e,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e));}addSprite(e,i,s={},a){this._checkLoaded();const o=[{id:e,url:i}],r=[...g(this.stylesheet.sprite),...o];this._validate(t.validateStyle.sprite,\"sprite\",r,null,s)||(this.stylesheet.sprite=r,this._loadSprite(o,!0,a));}removeSprite(e){this._checkLoaded();const i=g(this.stylesheet.sprite);if(i.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(const t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;i.splice(i.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));}else this.fire(new t.ErrorEvent(new Error(`Sprite \"${e}\" doesn't exists on this map.`)));}getSprite(){return g(this.stylesheet.sprite)}setSprite(e,i={},s){this._checkLoaded(),e&&this._validate(t.validateStyle.sprite,\"sprite\",e,null,i)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,s):(this._unloadSprite(),s&&s(null)));}}ae.registerForPluginStateChange=t.registerForPluginStateChange;var oe=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),re=\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\";const ne={prelude:le(\"#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:le(\"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:le(\"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:le(\"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:le(\"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:le(\"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:le(\"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:le(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:le(\"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:le(\"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:le(\"#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:le(\"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:le(\"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:le(\"#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:le(\"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:le(\"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:le(\"#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:le(\"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:le(\"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:le(\"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:le(\"#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:le(\"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:le(\"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:le(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}\"),symbolSDF:le(\"#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}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),symbolTextAndIcon:le(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\"),terrain:le(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",re),terrainDepth:le(\"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);}\",re),terrainCoords:le(\"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);}\",re)};function le(t,e){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,s=e.match(/attribute ([\\w]+) ([\\w]+)/g),a=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),r=o?o.concat(a):a,n={};return {fragmentSource:t=t.replace(i,((t,e,i,s,a)=>(n[a]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nvarying ${i} ${s} ${a};\\n#else\\nuniform ${i} ${s} u_${a};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${a}\\n ${i} ${s} ${a} = u_${a};\\n#endif\\n`))),vertexSource:e=e.replace(i,((t,e,i,s,a)=>{const o=\"float\"===s?\"vec2\":\"vec4\",r=a.match(/color/)?\"color\":o;return n[a]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nuniform lowp float u_${a}_t;\\nattribute ${i} ${o} a_${a};\\nvarying ${i} ${s} ${a};\\n#else\\nuniform ${i} ${s} u_${a};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${a} = a_${a};\\n#else\\n ${i} ${s} ${a} = u_${a};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${a} = unpack_mix_${r}(a_${a}, u_${a}_t);\\n#else\\n ${i} ${s} ${a} = u_${a};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nuniform lowp float u_${a}_t;\\nattribute ${i} ${o} a_${a};\\n#else\\nuniform ${i} ${s} u_${a};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${i} ${s} ${a} = a_${a};\\n#else\\n ${i} ${s} ${a} = u_${a};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${i} ${s} ${a} = unpack_mix_${r}(a_${a}, u_${a}_t);\\n#else\\n ${i} ${s} ${a} = u_${a};\\n#endif\\n`})),staticAttributes:s,staticUniforms:r}}class ce{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,s,a,o,r,n,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==s.length;for(let t=0;!c&&t({u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,b),this.binderUniforms=s?s.getUniforms(e,b):[];}draw(t,e,i,s,a,o,r,n,l,c,h,u,d,_,m,p,f,g){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(s),t.setColorMode(a),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]);m&&m.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 s=i.vaos||(i.vaos={});(s[l]||(s[l]=new ce)).bind(t,this,c,m?m.getPaintVertexBuffers():[],h,i.vertexOffset,p,f,g),v.drawElements(e,i.primitiveLength*x,v.UNSIGNED_SHORT,i.primitiveOffset*x*2);}}}function de(t,e,i){const s=1/Ct(i,1,e.transform.tileZoom),a=Math.pow(2,i.tileID.overscaledZ),o=i.tileSize*Math.pow(2,e.transform.tileZoom)/a,r=o*(i.tileID.canonical.x+i.tileID.wrap*a),n=o*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[s,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 _e=(e,i,s,a)=>{const o=i.style.light,r=o.properties.get(\"position\"),n=[r.x,r.y,r.z],l=function(){var e=new t.ARRAY_TYPE(9);return t.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}();\"viewport\"===o.properties.get(\"anchor\")&&function(t,e){var i=Math.sin(e),s=Math.cos(e);t[0]=s,t[1]=i,t[2]=0,t[3]=-i,t[4]=s,t[5]=0,t[6]=0,t[7]=0,t[8]=1;}(l,-i.transform.angle),function(t,e,i){var s=e[0],a=e[1],o=e[2];t[0]=s*i[0]+a*i[3]+o*i[6],t[1]=s*i[1]+a*i[4]+o*i[7],t[2]=s*i[2]+a*i[5]+o*i[8];}(n,n,l);const c=o.properties.get(\"color\");return {u_matrix:e,u_lightpos:n,u_lightintensity:o.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+s,u_opacity:a}},me=(e,i,s,a,o,r,n)=>t.extend(_e(e,i,s,a),de(r,i,n),{u_height_factor:-Math.pow(2,o.overscaledZ)/n.tileSize/8}),pe=t=>({u_matrix:t}),fe=(e,i,s,a)=>t.extend(pe(e),de(s,i,a)),ge=(t,e)=>({u_matrix:t,u_world:e}),ve=(e,i,s,a,o)=>t.extend(fe(e,i,s,a),{u_world:o}),xe=(t,e,i,s)=>{const a=t.transform;let o,r;if(\"map\"===s.paint.get(\"circle-pitch-alignment\")){const t=Ct(i,1,a.zoom);o=!0,r=[t,t];}else o=!1,r=a.pixelsToGLUnits;return {u_camera_to_center_distance:a.cameraToCenterDistance,u_scale_with_map:+(\"map\"===s.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,i,s.paint.get(\"circle-translate\"),s.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+o,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:r}},ye=(t,e,i)=>{const s=Ct(i,1,e.zoom),a=Math.pow(2,e.zoom-i.tileID.overscaledZ),o=i.tileID.overscaleFactor();return {u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:s,u_extrude_scale:[e.pixelsToGLUnits[0]/(s*a),e.pixelsToGLUnits[1]/(s*a)],u_overscale_factor:o}},be=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),we=t=>({u_matrix:t}),Te=(t,e,i,s)=>({u_matrix:t,u_extrude_scale:Ct(e,1,i),u_intensity:s});function Ee(e,i){const s=Math.pow(2,i.canonical.z),a=i.canonical.y;return [new t.MercatorCoordinate(0,a/s).toLngLat().lat,new t.MercatorCoordinate(0,(a+1)/s).toLngLat().lat]}const Ie=(t,e,i,s)=>{const a=t.transform;return {u_matrix:Me(t,e,i,s),u_ratio:1/Ct(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Se=(e,i,s,a,o)=>t.extend(Ie(e,i,s,o),{u_image:0,u_image_height:a}),Ce=(t,e,i,s,a)=>{const o=t.transform,r=De(e,o);return {u_matrix:Me(t,e,i,a),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Ct(e,1,o.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[r,s.fromScale,s.toScale],u_fade:s.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},Pe=(e,i,s,a,o,r)=>{const n=e.lineAtlas,l=De(i,e.transform),c=\"round\"===s.layout.get(\"line-cap\"),h=n.getDash(a.from,c),u=n.getDash(a.to,c),d=h.width*o.fromScale,_=u.width*o.toScale;return t.extend(Ie(e,i,s,r),{u_patternscale_a:[l/d,-h.height/2],u_patternscale_b:[l/_,-u.height/2],u_sdfgamma:n.width/(256*Math.min(d,_)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:o.t})};function De(t,e){return 1/Ct(t,1,e.tileZoom)}function Me(t,e,i,s){return t.translatePosMatrix(s?s.posMatrix:e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}const ze=(t,e,i,s,a)=>{return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:s.mix,u_opacity:s.opacity*a.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get(\"raster-brightness-min\"),u_brightness_high:a.paint.get(\"raster-brightness-max\"),u_saturation_factor:(r=a.paint.get(\"raster-saturation\"),r>0?1-1/(1.001-r):-r),u_contrast_factor:(o=a.paint.get(\"raster-contrast\"),o>0?1/(1-o):1+o),u_spin_weights:Ae(a.paint.get(\"raster-hue-rotate\"))};var o,r;};function Ae(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 Le=(t,e,i,s,a,o,r,n,l,c)=>{const h=a.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:o,u_label_plane_matrix:r,u_coord_matrix:n,u_is_text:+l,u_pitch_with_map:+s,u_texsize:c,u_texture:0}},Re=(e,i,s,a,o,r,n,l,c,h,u)=>{const d=o.transform;return t.extend(Le(e,i,s,a,o,r,n,l,c,h),{u_gamma_scale:a?Math.cos(d._pitch)*d.cameraToCenterDistance:1,u_device_pixel_ratio:o.pixelRatio,u_is_halo:+u})},ke=(e,i,s,a,o,r,n,l,c,h)=>t.extend(Re(e,i,s,a,o,r,n,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Fe=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),Be=(e,i,s,a,o,r)=>t.extend(function(t,e,i,s){const a=i.imageManager.getPattern(t.from.toString()),o=i.imageManager.getPattern(t.to.toString()),{width:r,height:n}=i.imageManager.getPixelSize(),l=Math.pow(2,s.tileID.overscaledZ),c=s.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(s.tileID.canonical.x+s.tileID.wrap*l),u=c*s.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.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:a.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Ct(s,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(a,r,s,o),{u_matrix:e,u_opacity:i}),Ue={fillExtrusion:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fillExtrusionPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fill:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),fillOutline:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),circle:(e,i)=>({u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),collisionBox:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}),collisionCircle:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}),debug:(e,i)=>({u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}),clippingMask:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmapTexture:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}),hillshade:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}),hillshadePrepare:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}),line:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}),lineGradient:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}),linePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),lineSDF:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}),raster:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}),symbolIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}),symbolSDF:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),symbolTextAndIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),background:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}),backgroundPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_ele_delta:new t.Uniform1f(e,i.u_ele_delta)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ele_delta:new t.Uniform1f(e,i.u_ele_delta)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id),u_ele_delta:new t.Uniform1f(e,i.u_ele_delta)})};class Oe{constructor(t,e,i){this.context=t;const s=t.gl;this.buffer=s.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),s.bufferData(s.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.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 Ne={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Ze{constructor(t,e,i,s){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=s,this.context=t;const a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindVertexBuffer.set(this.buffer);}updateData(t){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=t.create(),s=v;t.mul(i,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,g.placementViewportMatrix),u.push({circleArray:y,circleOffset:_,transform:s,invTransform:i,coord:p}),d+=y.length/4,_=d;}x&&h.draw(l,c.LINES,Di.disabled,zi.disabled,e.colorModeForRenderPass(),Ai.disabled,ye(v,e.transform,f),e.style.map.terrain&&e.style.map.terrain.getTerrainData(p),s.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer);}if(!n||!u.length)return;const m=e.useProgram(\"collisionCircle\"),p=new t.CollisionCircleLayoutArray;p.resize(4*d),p._trim();let f=0;for(const t of u)for(let e=0;e=0&&(p[f.associatedIconIndex]={shiftedAnchor:I,angle:S});}else Tt(f.numGlyphs,_);}if(h){m.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.map.terrain.getElevation(l,t,i):null,i=\"map\"===s.layout.get(\"text-rotation-alignment\");_t(c,l.posMatrix,e,o,F,B,g,h,i,t);}const N=e.translatePosMatrix(l.posMatrix,a,r,n),Z=v||o&&T||O?ki:F,G=e.translatePosMatrix(B,a,r,n,!0),V=_&&0!==s.paint.get(o?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let q;q=_?c.iconsInText?ke(w.kind,C,x,g,e,N,Z,G,D,L):Re(w.kind,C,x,g,e,N,Z,G,o,D,!0):Le(w.kind,C,x,g,e,N,Z,G,o,D);const j={program:S,buffers:u,uniformValues:q,atlasTexture:M,atlasTextureIcon:R,atlasInterpolation:z,atlasInterpolationIcon:A,isSDF:_,hasHalo:V};if(y&&c.canOverlap){b=!0;const e=u.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:j,terrainData:P});}else E.push({segments:u.segments,sortKey:0,state:j,terrainData:P});}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(_.activeTexture.set(m.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,m.CLAMP_TO_EDGE),i.atlasTextureIcon&&(_.activeTexture.set(m.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,m.CLAMP_TO_EDGE)),i.isSDF){const a=i.uniformValues;i.hasHalo&&(a.u_is_halo=1,Ni(i.buffers,t.segments,s,e,i.program,w,u,d,a,t.terrainData)),a.u_is_halo=0;}Ni(i.buffers,t.segments,s,e,i.program,w,u,d,i.uniformValues,t.terrainData);}}function Ni(t,e,i,s,a,o,r,n,l,c){const h=s.context;a.draw(h,h.gl.TRIANGLES,o,r,n,Ai.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,s.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Zi(t,e,i,s,a){if(!i||!s||!s.imageAtlas)return;const o=s.imageAtlas.patternPositions;let r=o[i.to.toString()],n=o[i.from.toString()];if(!r||!n){const t=a.getPaintProperty(e);r=o[t],n=o[t];}r&&n&&t.setConstantPatternPositions(r,n);}function Gi(t,e,i,s,a,o,r){const n=t.context.gl,l=\"fill-pattern\",c=i.paint.get(l),h=c&&c.constantOr(1),u=i.getCrossfadeParameters();let d,_,m,p,f;r?(_=h&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",d=n.LINES):(_=h?\"fillPattern\":\"fill\",d=n.TRIANGLES);const g=c.constantOr(null);for(const c of s){const s=e.getTile(c);if(h&&!s.patternsLoaded())continue;const v=s.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(c);h&&(t.context.activeTexture.set(n.TEXTURE0),s.imageAtlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE),x.updatePaintBuffers(u)),Zi(x,l,g,s,i);const w=b?c:null,T=t.translatePosMatrix(w?w.posMatrix:c.posMatrix,s,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(r){p=v.indexBuffer2,f=v.segments2;const e=[n.drawingBufferWidth,n.drawingBufferHeight];m=\"fillOutlinePattern\"===_&&h?ve(T,t,u,s,e):ge(T,e);}else p=v.indexBuffer,f=v.segments,m=h?fe(T,t,u,s):pe(T);y.draw(t.context,d,a,t.stencilModeForClipping(c),o,Ai.disabled,m,b,i.id,v.layoutVertexBuffer,p,f,i.paint,t.transform.zoom,x);}}function Vi(t,e,i,s,a,o,r){const n=t.context,l=n.gl,c=\"fill-extrusion-pattern\",h=i.paint.get(c),u=h.constantOr(1),d=i.getCrossfadeParameters(),_=i.paint.get(\"fill-extrusion-opacity\"),m=h.constantOr(null);for(const h of s){const s=e.getTile(h),p=s.getBucket(i);if(!p)continue;const f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h),g=p.programConfigurations.get(i.id),v=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",g);u&&(t.context.activeTexture.set(l.TEXTURE0),s.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(d)),Zi(g,c,m,s,i);const x=t.translatePosMatrix(h.posMatrix,s,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),y=i.paint.get(\"fill-extrusion-vertical-gradient\"),b=u?me(x,t,y,_,h,d,s):_e(x,t,y,_);v.draw(n,n.gl.TRIANGLES,a,o,r,Ai.backCCW,b,f,i.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,i.paint,t.transform.zoom,g,t.style.map.terrain&&p.centroidVertexBuffer);}}function qi(t,e,i,s,a,o,r){const n=t.context,l=n.gl,c=i.fbo;if(!c)return;const h=t.useProgram(\"hillshade\"),u=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);n.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(n,l.TRIANGLES,a,o,r,Ai.disabled,((t,e,i,s)=>{const a=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:s?s.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:Ee(0,e.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),n],u_shadow:a,u_highlight:o,u_accent:r}})(t,i,s,u?e:null),u,s.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}function ji(e,i,s,a,o,r){const n=e.context,l=n.gl,c=i.dem;if(c&&c.data){const h=c.dim,u=c.stride,d=c.getPixels();if(n.activeTexture.set(l.TEXTURE1),n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.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 x(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 x(n,{width:h,height:h,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),_=i.fbo=n.createFramebuffer(h,h,!0,!1),_.colorAttachment.set(t.texture);}n.bindFramebuffer.set(_.framebuffer),n.viewport.set([0,0,h,h]),e.useProgram(\"hillshadePrepare\").draw(n,l.TRIANGLES,a,o,r,Ai.disabled,((e,i)=>{const s=i.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[s,s],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,c),null,s.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function $i(e,i,s,a,o,r){const n=a.paint.get(\"raster-fade-duration\");if(!r&&n>0){const a=t.browser.now(),r=(a-e.timeAdded)/n,l=i?(a-i.timeAdded)/n:-1,c=s.getSource(),h=o.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=u&&e.refreshedUponExpiration?1:t.clamp(u?r:1-l,0,1);return e.refreshedUponExpiration&&r>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return {opacity:1,mix:0}}const Xi=new t.Color(1,0,0,1),Wi=new t.Color(0,1,0,1),Hi=new t.Color(0,0,1,1),Ki=new t.Color(1,0,1,1),Yi=new t.Color(0,1,1,1);function Ji(t,e,i,s){ts(t,0,e+i/2,t.transform.width,i,s);}function Qi(t,e,i,s){ts(t,e-i/2,0,i,t.transform.height,s);}function ts(t,e,i,s,a,o){const r=t.context,n=r.gl;n.enable(n.SCISSOR_TEST),n.scissor(e*t.pixelRatio,i*t.pixelRatio,s*t.pixelRatio,a*t.pixelRatio),r.clear({color:o}),n.disable(n.SCISSOR_TEST);}function es(e,i,s){const a=e.context,o=a.gl,r=s.posMatrix,n=e.useProgram(\"debug\"),l=Di.disabled,c=zi.disabled,h=e.colorModeForRenderPass(),u=\"$debug\",d=e.style.map.terrain&&e.style.map.terrain.getTerrainData(s);a.activeTexture.set(o.TEXTURE0);const _=i.getTileByID(s.key).latestRawTileData,m=Math.floor((_&&_.byteLength||0)/1024),p=i.getTile(s).tileSize,f=512/Math.min(p,512)*(s.overscaledZ/e.transform.zoom)*.5;let g=s.canonical.toString();s.overscaledZ!==s.canonical.z&&(g+=` => ${s.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,s=t.context.gl,a=t.debugOverlayCanvas.getContext(\"2d\");a.clearRect(0,0,i.width,i.height),a.shadowColor=\"white\",a.shadowBlur=2,a.lineWidth=1.5,a.strokeStyle=\"white\",a.textBaseline=\"top\",a.font=\"bold 36px Open Sans, sans-serif\",a.fillText(e,5,5),a.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE);}(e,`${g} ${m}kB`),n.draw(a,o.TRIANGLES,l,c,Ci.alphaBlended,Ai.disabled,be(r,t.Color.transparent,f),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),n.draw(a,o.LINE_STRIP,l,c,h,Ai.disabled,be(r,t.Color.red),d,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);}function is(t,e,i){const s=t.context,a=s.gl,o=t.colorModeForRenderPass(),r=new Di(a.LEQUAL,Di.ReadWrite,t.depthRangeFor3D),n=t.useProgram(\"terrain\"),l=e.getTerrainMesh();s.bindFramebuffer.set(null),s.viewport.set([0,0,t.width,t.height]);for(const c of i){const i=t.renderToTexture.getTexture(c),h=e.getTerrainData(c.tileID);s.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,i.texture);const u={u_matrix:t.transform.calculatePosMatrix(c.tileID.toUnwrapped()),u_texture:0,u_ele_delta:e.getMeshFrameDelta(t.transform.zoom)};n.draw(s,a.TRIANGLES,r,zi.disabled,o,Ai.backCCW,u,h,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments);}}class ss{constructor(e,i){this.context=new Pi(e),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.create(),renderTime:0},this.setup(),this.numSublayers=Y.maxUnderzooming+Y.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Qt;}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 e=this.context,i=new t.PosArray;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,oe.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);const s=new t.PosArray;s.emplaceBack(0,0),s.emplaceBack(t.EXTENT,0),s.emplaceBack(0,t.EXTENT),s.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(s,oe.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);const a=new t.RasterBoundsArray;a.emplaceBack(0,0,0,0),a.emplaceBack(t.EXTENT,0,t.EXTENT,0),a.emplaceBack(0,t.EXTENT,0,t.EXTENT),a.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(a,O.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);const o=new t.PosArray;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(o,oe.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);const r=new t.LineStripIndexArray;r.emplaceBack(0),r.emplaceBack(1),r.emplaceBack(3),r.emplaceBack(2),r.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(r);const n=new t.TriangleIndexArray;n.emplaceBack(0,1,2),n.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(n);const l=this.context.gl;this.stencilClearMode=new zi({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);}clearStencil(){const e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const s=t.create();t.ortho(s,0,this.width,this.height,0,0,1),t.scale(s,s,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(e,i.TRIANGLES,Di.disabled,this.stencilClearMode,Ci.disabled,Ai.disabled,we(s),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,s=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(Ci.disabled),i.setDepthMode(Di.disabled);const a=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);a.draw(i,s.TRIANGLES,Di.disabled,new zi({func:s.ALWAYS,mask:0},e,255,s.KEEP,s.KEEP,s.REPLACE),Ci.disabled,Ai.disabled,we(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 zi({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new zi({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)),s=i[i.length-1].overscaledZ,a=i[0].overscaledZ-s+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[s[this.currentLayer]],e=a[t.source],i=o[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]]:[])),a=s.filter((t=>\"vector\"===t.getSource().type)),o=s.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 s=0;si.style.map.terrain.getElevation(o,t,e):null);}}}(a,e,s,i,s.layout.get(\"text-rotation-alignment\"),s.layout.get(\"text-pitch-alignment\"),o),0!==s.paint.get(\"icon-opacity\").constantOr(1)&&Oi(e,i,s,a,!1,s.paint.get(\"icon-translate\"),s.paint.get(\"icon-translate-anchor\"),s.layout.get(\"icon-rotation-alignment\"),s.layout.get(\"icon-pitch-alignment\"),s.layout.get(\"icon-keep-upright\"),r,n),0!==s.paint.get(\"text-opacity\").constantOr(1)&&Oi(e,i,s,a,!0,s.paint.get(\"text-translate\"),s.paint.get(\"text-translate-anchor\"),s.layout.get(\"text-rotation-alignment\"),s.layout.get(\"text-pitch-alignment\"),s.layout.get(\"text-keep-upright\"),r,n),i.map.showCollisionBoxes&&(Ri(e,i,s,a,s.paint.get(\"text-translate\"),s.paint.get(\"text-translate-anchor\"),!0),Ri(e,i,s,a,s.paint.get(\"icon-translate\"),s.paint.get(\"icon-translate-anchor\"),!1));}(e,i,s,a,this.style.placement.variableOffsets);break;case\"circle\":!function(e,i,s,a){if(\"translucent\"!==e.renderPass)return;const o=s.paint.get(\"circle-opacity\"),r=s.paint.get(\"circle-stroke-width\"),n=s.paint.get(\"circle-stroke-opacity\"),l=!s.layout.get(\"circle-sort-key\").isConstant();if(0===o.constantOr(1)&&(0===r.constantOr(1)||0===n.constantOr(1)))return;const c=e.context,h=c.gl,u=e.depthModeForSublayer(0,Di.ReadOnly),d=zi.disabled,_=e.colorModeForRenderPass(),m=[];for(let o=0;ot.sortKey-e.sortKey));for(const t of m){const{programConfiguration:i,program:a,layoutVertexBuffer:o,indexBuffer:r,uniformValues:n,terrainData:l}=t.state;a.draw(c,h.TRIANGLES,u,d,_,Ai.disabled,n,l,s.id,o,r,t.segments,s.paint,e.transform.zoom,i);}}(e,i,s,a);break;case\"heatmap\":!function(e,i,s,a){if(0!==s.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){const o=e.context,r=o.gl,n=zi.disabled,l=new Ci([r.ONE,r.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const s=t.gl;t.activeTexture.set(s.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let a=i.heatmapFbo;if(a)s.bindTexture(s.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer);else {const o=s.createTexture();s.bindTexture(s.TEXTURE_2D,o),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),a=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,i,s){var a,o;const r=t.gl,n=null!==(a=t.HALF_FLOAT)&&void 0!==a?a: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),s.colorAttachment.set(i);}(t,e,o,a);}}(o,e,s),o.clear({color:t.Color.transparent});for(let t=0;t{const o=t.create();t.ortho(o,0,e.width,e.height,0,0,1);const r=e.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\")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom);}(e,s));}(e,i,s,a);break;case\"line\":!function(e,i,s,a){if(\"translucent\"!==e.renderPass)return;const o=s.paint.get(\"line-opacity\"),r=s.paint.get(\"line-width\");if(0===o.constantOr(1)||0===r.constantOr(1))return;const n=e.depthModeForSublayer(0,Di.ReadOnly),l=e.colorModeForRenderPass(),c=s.paint.get(\"line-dasharray\"),h=s.paint.get(\"line-pattern\"),u=h.constantOr(1),d=s.paint.get(\"line-gradient\"),_=s.getCrossfadeParameters(),m=u?\"linePattern\":c?\"lineSDF\":d?\"lineGradient\":\"line\",p=e.context,f=p.gl;let g=!0;for(const o of a){const a=i.getTile(o);if(u&&!a.patternsLoaded())continue;const r=a.getBucket(s);if(!r)continue;const v=r.programConfigurations.get(s.id),y=e.context.program.get(),b=e.useProgram(m,v),w=g||b.program!==y,T=e.style.map.terrain&&e.style.map.terrain.getTerrainData(o),E=h.constantOr(null);if(E&&a.imageAtlas){const t=a.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&v.setConstantPatternPositions(e,i);}const I=T?o:null,S=u?Ce(e,a,s,_,I):c?Pe(e,a,s,c,_,I):d?Se(e,a,s,r.lineClipsArray.length,I):Ie(e,a,s,I);if(u)p.activeTexture.set(f.TEXTURE0),a.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),v.updatePaintBuffers(_);else if(c&&(w||e.lineAtlas.dirty))p.activeTexture.set(f.TEXTURE0),e.lineAtlas.bind(p);else if(d){const a=r.gradients[s.id];let n=a.texture;if(s.gradientVersion!==a.version){let l=256;if(s.stepInterpolant){const s=i.getSource().maxzoom,a=o.canonical.z===s?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 ue(this.context,ne[t],e,Ue[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 x(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 as{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(e,i,s){const a=Math.pow(2,s),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((s=>{const o=1/(s=t.transformMat4([],s,e))[3]/i*a;return t.mul$1(s,s,[o,o,1/s[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],s=e[1],a=e[2],o=i*i+s*s+a*a;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 s=e[0],a=e[1],o=e[2],r=i[0],n=i[1],l=i[2];return t[0]=a*l-o*n,t[1]=o*r-s*l,t[2]=s*n-a*r,t}([],p([],o[t[0]],o[t[1]]),p([],o[t[2]],o[t[1]]))),i=-((s=e)[0]*(a=o[t[1]])[0]+s[1]*a[1]+s[2]*a[2]);var s,a;return e.concat(i)}));return new as(o,r)}}class os{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=_(this.min),s=_(this.max);for(let t=0;t=0&&r++;if(0===r)return 0;r!==i.length&&(s=!1);}if(s)return 2;for(let t=0;t<3;t++){let i=Number.MAX_VALUE,s=-Number.MAX_VALUE;for(let a=0;athis.max[t]-this.min[t])return 0}return 1}}class rs{constructor(t=0,e=0,i=0,s=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(s)||s<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=s;}interpolate(e,i,s){return null!=i.top&&null!=e.top&&(this.top=t.interpolate.number(e.top,i.top,s)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.interpolate.number(e.bottom,i.bottom,s)),null!=i.left&&null!=e.left&&(this.left=t.interpolate.number(e.left,i.left,s)),null!=i.right&&null!=e.right&&(this.right=t.interpolate.number(e.right,i.right,s)),this}getCenter(e,i){const s=t.clamp((this.left+e-this.right)/2,0,e),a=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.Point(s,a)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new rs(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class ns{constructor(e,i,s,a,o){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===o||!!o,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==s?0:s,this._maxPitch=null==a?60:a,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new rs,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0;}clone(){const t=new ns(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._minEleveationForCurrentTile=t._minEleveationForCurrentTile,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 t.Point(this.width,this.height)}get bearing(){return -this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var e=new t.ARRAY_TYPE(4);return t.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}(),function(t,e,i){var s=e[0],a=e[1],o=e[2],r=e[3],n=Math.sin(i),l=Math.cos(i);t[0]=s*l+o*n,t[1]=a*l+r*n,t[2]=s*-n+o*l,t[3]=a*-n+r*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.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(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const s=this.pointCoordinate(new t.Point(0,0)),a=this.pointCoordinate(new t.Point(this.width,0)),o=this.pointCoordinate(new t.Point(this.width,this.height)),r=this.pointCoordinate(new t.Point(0,this.height)),n=Math.floor(Math.min(s.x,a.x,o.x,r.x)),l=Math.floor(Math.max(s.x,a.x,o.x,r.x)),c=1;for(let s=n-c;s<=l+c;s++)0!==s&&i.push(new t.UnwrappedTileID(s,e));}return i}coveringTiles(e){var i,s;let a=this.coveringZoomLevel(e);const o=a;if(void 0!==e.minzoom&&ae.maxzoom&&(a=e.maxzoom);const r=this.pointCoordinate(this.getCameraPoint()),n=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,a),c=[l*r.x,l*r.y,0],h=[l*n.x,l*n.y,0],u=as.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,a);let d=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=a);const _=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,m=t=>({aabb:new os([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),p=[],g=[],v=a,x=e.reparseOverscaled?o:a;if(this._renderWorldCopies)for(let t=1;t<=3;t++)p.push(m(-t)),p.push(m(t));for(p.push(m(0));p.length>0;){const a=p.pop(),o=a.x,r=a.y;let n=a.fullyVisible;if(!n){const t=a.aabb.intersects(u);if(0===t)continue;n=2===t;}const l=e.terrain?c:h,m=a.aabb.distanceX(l),y=a.aabb.distanceY(l),b=Math.max(Math.abs(m),Math.abs(y));if(a.zoom===v||b>_+(1<=d){const e=v-a.zoom,i=c[0]-.5-(o<>1),u=a.zoom+1;let d=a.aabb.quadrant(l);if(e.terrain){const o=new t.OverscaledTileID(u,a.wrap,u,c,h),r=e.terrain.getMinMaxElevation(o),n=null!==(i=r.minElevation)&&void 0!==i?i:this.elevation,l=null!==(s=r.maxElevation)&&void 0!==s?s:this.elevation;d=new os([d.min[0],d.min[1],n],[d.max[0],d.max[1],l]);}p.push({aabb:d,zoom:u,x:c,y:h,wrap:a.wrap,fullyVisible:n});}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return {lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){const i=this.pointLocation(this.centerPoint,e),s=e.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-s))return;const a=this.getCameraPosition(),o=t.MercatorCoordinate.fromLngLat(a.lngLat,a.altitude),r=t.MercatorCoordinate.fromLngLat(i,s),n=o.x-r.x,l=o.y-r.y,c=o.z-r.z,h=Math.sqrt(n*n+l*l+c*c),u=this.scaleZoom(this.cameraToCenterDistance/h/this.tileSize);this._elevation=s,this._center=i,this.zoom=u;}setLocationAtPoint(e,i){const s=this.pointCoordinate(i),a=this.pointCoordinate(this.centerPoint),o=this.locationCoordinate(e),r=new t.MercatorCoordinate(o.x-(s.x-a.x),o.y-(s.y-a.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(e){return t.MercatorCoordinate.fromLngLat(e)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(e,i){if(i){const t=i.pointCoordinate(e);if(null!=t)return t}const s=[e.x,e.y,0,1],a=[e.x,e.y,1,1];t.transformMat4(s,s,this.pixelMatrixInverse),t.transformMat4(a,a,this.pixelMatrixInverse);const o=s[3],r=a[3],n=s[1]/o,l=a[1]/r,c=s[2]/o,h=a[2]/r,u=c===h?0:(0-c)/(h-c);return new t.MercatorCoordinate(t.interpolate.number(s[0]/o,a[0]/r,u)/this.worldSize,t.interpolate.number(n,l,u)/this.worldSize)}coordinatePoint(e,i=0,s=this.pixelMatrix){const a=[e.x*this.worldSize,e.y*this.worldSize,i,1];return t.transformMat4(a,a,s),new t.Point(a[0]/a[3],a[1]/a[3])}getBounds(){const e=Math.max(0,this.height/2-this.getHorizon());return (new L).extend(this.pointLocation(new t.Point(0,e))).extend(this.pointLocation(new t.Point(this.width,e))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new L([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=[-this.maxValidLatitude,this.maxValidLatitude]);}calculatePosMatrix(e,i=!1){const s=e.key,a=i?this._alignedPosMatrixCache:this._posMatrixCache;if(a[s])return a[s];const o=e.canonical,r=this.worldSize/this.zoomScale(o.z),n=o.x+Math.pow(2,o.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[n*r,o.y*r,0]),t.scale(l,l,[r/t.EXTENT,r/t.EXTENT,1]),t.multiply(l,i?this.alignedProjMatrix:this.projMatrix,l),a[s]=new Float32Array(l),a[s]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e,i,s,a,o=-90,r=90,n=-180,l=180;const c=this.size,h=this._unmodified;if(this.latRange){const i=this.latRange;o=t.mercatorYfromLat(i[1])*this.worldSize,r=t.mercatorYfromLat(i[0])*this.worldSize,e=r-or&&(a=r-e);}if(this.lngRange){const e=(n+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),a=c.x/2;i-al&&(s=l-a);}void 0===s&&void 0===a||(this.center=this.unproject(new t.Point(void 0!==s?s:u.x,void 0!==a?a:u.y)).wrap()),this._unmodified=h,this._constraining=!1;}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,s=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let a=t.identity(new Float64Array(16));t.scale(a,a,[this.width/2,-this.height/2,1]),t.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=t.identity(new Float64Array(16)),t.scale(a,a,[1,-1,1]),t.translate(a,a,[-1,-1,0]),t.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),r=Math.min(this.elevation,this._minEleveationForCurrentTile),n=o-r*this._pixelPerMeter/Math.cos(this._pitch),l=r<0?n:o,c=Math.PI/2+this._pitch,h=this._fov*(.5+e.y/this.height),u=Math.sin(h)*l/Math.sin(t.clamp(Math.PI-c-h,.01,Math.PI-.01)),d=this.getHorizon(),_=2*Math.atan(d/this.cameraToCenterDistance)*(.5+e.y/(2*d)),m=Math.sin(_)*l/Math.sin(t.clamp(Math.PI-c-_,.01,Math.PI-.01)),p=Math.min(u,m),f=1.01*(Math.cos(Math.PI/2-this._pitch)*p+l),g=this.height/50;a=new Float64Array(16),t.perspective(a,this._fov,this.width/this.height,g,f),a[8]=2*-e.x/this.width,a[9]=2*e.y/this.height,t.scale(a,a,[1,-1,1]),t.translate(a,a,[0,0,-this.cameraToCenterDistance]),t.rotateX(a,a,this._pitch),t.rotateZ(a,a,this.angle),t.translate(a,a,[-i,-s,0]),this.mercatorMatrix=t.scale([],a,[this.worldSize,this.worldSize,this.worldSize]),t.scale(a,a,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,a),t.translate(a,a,[0,0,-this.elevation]),this.projMatrix=a,this.invProjMatrix=t.invert([],a),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,a);const 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=s-Math.round(s)+y*x+b*v,E=new Float64Array(a);if(t.translate(E,E,[w>.5?w-1:w,T>.5?T-1:T,0]),this.alignedProjMatrix=E,a=t.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=a,this._posMatrixCache={},this._alignedPosMatrixCache={};}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.Point(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return [e[0],i];{let s=i.x,a=i.y,o=i.x,r=i.y;for(const t of e)s=Math.min(s,t.x),a=Math.min(a,t.y),o=Math.max(o,t.x),r=Math.max(r,t.y);return [new t.Point(s,a),new t.Point(o,a),new t.Point(o,r),new t.Point(s,r),new t.Point(s,a)]}}}function ls(t,e){let i,s=!1,a=null,o=null;const r=()=>{a=null,s&&(t.apply(o,i),a=setTimeout(r,e),s=!1);};return (...t)=>(s=!0,o=this,i=t,a||r(),a)}class cs{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=ls(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,s=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,s),o=Math.round(e.lng*a)/a,r=Math.round(e.lat*a)/a,n=this._map.getBearing(),l=this._map.getPitch();let c=\"\";if(c+=t?`/${o}/${r}/${i}`:`${i}/${r}/${o}`,(n||l)&&(c+=\"/\"+Math.round(10*n)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split(\"&\").map((i=>{const s=i.split(\"=\")[0];return s===t?(e=!0,`${s}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join(\"&\")}`}return `#${c}`}}const hs={linearity:.3,easing:t.bezier(0,0,.3,1)},us=t.extend({deceleration:2500,maxSpeed:1400},hs),ds=t.extend({deceleration:20,maxSpeed:1400},hs),_s=t.extend({deceleration:1e3,maxSpeed:360},hs),ms=t.extend({deceleration:1e3,maxSpeed:90},hs);class ps{constructor(t){this._map=t,this.clear();}clear(){this._inertiaBuffer=[];}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e});}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.browser.now();for(;e.length>0&&i-e[0].time>160;)e.shift();}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.Point(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 s=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,a={};if(i.pan.mag()){const o=gs(i.pan.mag(),s,t.extend({},us,e||{}));a.offset=i.pan.mult(o.amount/i.pan.mag()),a.center=this._map.transform.center,fs(a,o);}if(i.zoom){const t=gs(i.zoom,s,ds);a.zoom=this._map.transform.zoom+t.amount,fs(a,t);}if(i.bearing){const e=gs(i.bearing,s,_s);a.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),fs(a,e);}if(i.pitch){const t=gs(i.pitch,s,ms);a.pitch=this._map.transform.pitch+t.amount,fs(a,t);}if(a.zoom||a.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;a.around=t?this._map.unproject(t):this._map.getCenter();}return this.clear(),t.extend(a,{noMoveStart:!0})}}function fs(t,e){(!t.duration||t.durations.unproject(t))),l=r.reduce(((t,e,i,s)=>t.add(e.div(s.length))),new t.Point(0,0));super(e,{points:r,point:l,lngLats:n,lngLat:s.unproject(l),originalEvent:a}),this._defaultPrevented=!1;}}class ys extends t.Event{preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1;}}class bs{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance;}reset(){delete this._mousedownPos;}wheel(t){return this._firePreventable(new ys(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new vs(t.type,this._map,t))}mouseup(t){this._map.fire(new vs(t.type,this._map,t));}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new vs(t.type,this._map,t));}dblclick(t){return this._firePreventable(new vs(t.type,this._map,t))}mouseover(t){this._map.fire(new vs(t.type,this._map,t));}mouseout(t){this._map.fire(new vs(t.type,this._map,t));}touchstart(t){return this._firePreventable(new xs(t.type,this._map,t))}touchmove(t){this._map.fire(new xs(t.type,this._map,t));}touchend(t){this._map.fire(new xs(t.type,this._map,t));}touchcancel(t){this._map.fire(new xs(t.type,this._map,t));}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class ws{constructor(t){this._map=t;}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent;}mousemove(t){this._map.fire(new vs(t.type,this._map,t));}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new vs(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new vs(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Ts{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(e){return this.transform.pointLocation(t.Point.convert(e),this._map.terrain)}}class Es{constructor(t,e){this._map=t,this._tr=new Ts(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&&(i.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);}mousemoveWindow(t,e){if(!this._active)return;const s=e;if(this._lastPos.equals(s)||!this._box&&s.dist(this._startPos)t.fitScreenCoordinates(a,o,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",e);}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos;}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function Is(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 s=0;sthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),s.length===this.numTouches&&(this.centroid=function(e){const i=new t.Point(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=Is(s,i)));}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const s=Is(i,e);for(const t in this.touches){const e=s[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 Cs{constructor(t){this.singleTap=new Ss(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 s=this.singleTap.touchend(t,e,i);if(s){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(s)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=s,this.count===this.numTaps)return this.reset(),s}}}class Ps{constructor(t){this._tr=new Ts(t),this._zoomIn=new Cs({numTouches:1,numTaps:2}),this._zoomOut=new Cs({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 s=this._zoomIn.touchend(t,e,i),a=this._zoomOut.touchend(t,e,i),o=this._tr;return 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})}):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})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Ds{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 s=e.length?e[0]:e;return !this._moved&&s.dist(i){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=function(t){t.preventDefault();};},Rs=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:s=.8})=>{const a=new zs({checkCorrectEvent:t=>0===i.mouseButton(t)&&t.ctrlKey||2===i.mouseButton(t)});return new Ds({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*s}),moveStateManager:a,enable:t,assignEvents:Ls})},ks=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:s=-.5})=>{const a=new zs({checkCorrectEvent:t=>0===i.mouseButton(t)&&t.ctrlKey||2===i.mouseButton(t)});return new Ds({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*s}),moveStateManager:a,enable:t,assignEvents:Ls})};class Fs{constructor(t,e){this._minTouches=t.cooperativeGestures?2:1,this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset();}reset(){this._active=!1,this._touches={},this._sum=new t.Point(0,0),setTimeout((()=>{this._cancelCooperativeMessage=!1;}),200);}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const a=Is(s,i),o=new t.Point(0,0),r=new t.Point(0,0);let n=0;for(const t in a){const e=a[t],i=this._touches[t];i&&(o._add(e),r._add(e.sub(i)),n++,a[t]=e);}if(this._touches=a,nMath.abs(t.x)}class qs extends Bs{constructor(t){super(),this._map=t;}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints;}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length;}_start(t){this._lastPoints=t,Vs(t[0].sub(t[1]))&&(this._valid=!1);}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const s=t[0].sub(this._lastPoints[0]),a=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(s,a,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(s.y+a.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const s=t.mag()>=2,a=e.mag()>=2;if(!s&&!a)return;if(!s||!a)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=t.y>0==e.y>0;return Vs(t)&&Vs(e)&&o}}const js={panStep:100,bearingStep:15,pitchStep:10};class $s{constructor(t){this._tr=new Ts(t);const e=js;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,s=0,a=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(),a=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?s=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?s=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,s=0),{cameraAnimation:r=>{const n=this._tr;r.easeTo({duration:300,easeId:\"keyboardHandler\",easing:Xs,zoom:e?Math.round(n.zoom)+e*(t.shiftKey?2:1):n.zoom,bearing:n.bearing+i*this._bearingStep,pitch:n.pitch+s*this._pitchStep,offset:[-a*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 Xs(t){return t*(2-t)}const Ws=4.000244140625;class Hs{constructor(t,e){this._onTimeout=t=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},this._map=t,this._tr=new Ts(t),this._el=t.getCanvasContainer(),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(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!e[this._map._metaKey])return;e.preventDefault();}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const s=t.browser.now(),a=s-(this._lastWheelEventTime||0);this._lastWheelEventTime=s,0!==i&&i%Ws==0?this._type=\"wheel\":0!==i&&Math.abs(i)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*i)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault();}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const s=i.mousePos(this._el,e),a=this._tr;this._around=t.LngLat.convert(this._aroundCenter?a.center:a.unproject(s)),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 e=this._tr.transform;if(0!==this._delta){const t=\"wheel\"===this._type&&Math.abs(this._delta)>Ws?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const s=\"number\"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(s*i))),\"wheel\"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}const i=\"number\"==typeof this._targetZoom?this._targetZoom:e.zoom,s=this._startZoom,a=this._easing;let o,r=!1;if(\"wheel\"===this._type&&s&&a){const e=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),n=a(e);o=t.interpolate.number(s,i,n),e<1?this._frameId||(this._frameId=!0):r=!0;}else o=i,r=!0;return this._active=!0,r&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!r,zoomDelta:o-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.defaultEasing;if(this._prevEase){const e=this._prevEase,s=(t.browser.now()-e.start)/e.duration,a=e.easing(s+.01)-e.easing(s),o=.27/Math.sqrt(a*a+1e-4)*.01,r=Math.sqrt(.0729-o*o);i=t.bezier(o,r,.25,1);}return this._prevEase={start:t.browser.now(),duration:e,easing:i},i}reset(){this._active=!1;}}class Ks{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 Ys{constructor(t){this._tr=new Ts(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 Js{constructor(){this._tap=new Cs({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 s=e[0],a=t.timeStamp-this._tapTime<500,o=this._tapPoint.dist(s)<30;a&&o?i.length>0&&(this._swipePoint=s,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 s=e[0],a=s.y-this._swipePoint.y;return this._swipePoint=s,t.preventDefault(),this._active=!0,{zoomDelta:a/128}}}else this._tap.touchmove(t,e,i);}touchend(t,e,i){if(this._tapTime)this._swipePoint&&0===i.length&&this.reset();else {const s=this._tap.touchend(t,e,i);s&&(this._tapTime=t.timeStamp,this._tapPoint=s);}}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Qs{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 ta{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 ea{constructor(t,e,i,s){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=s,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();}}const ia=t=>t.zoom||t.drag||t.pitch||t.rotate;class sa extends t.Event{}function aa(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class oa{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 s=\"renderFrame\"===t.type?void 0:t,a={needsRenderFrame:!1},o={},r={},n=t.touches,l=n?this._getMapTouches(n):void 0,c=l?i.touchPos(this._el,l):i.mousePos(this._el,t);for(const{handlerName:i,handler:n,allowed:h}of this._handlers){if(!n.isEnabled())continue;let u;this._blockedByActive(r,h,i)?n.reset():n[e||t.type]&&(u=n[e||t.type](t,c,l),this.mergeHandlerResult(a,o,u,i,s),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||n.isActive())&&(r[i]=n);}const h={};for(const t in this._previousActiveHandlers)r[t]||(h[t]=s);this._previousActiveHandlers=r,(Object.keys(h).length||aa(a))&&(this._changes.push([a,o,h]),this._triggerRenderFrame()),(Object.keys(r).length||aa(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 ps(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const s=this._el;this._listeners=[[s,\"touchstart\",{passive:!0}],[s,\"touchmove\",{passive:!1}],[s,\"touchend\",void 0],[s,\"touchcancel\",void 0],[s,\"mousedown\",void 0],[s,\"mousemove\",void 0],[s,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[s,\"mouseover\",void 0],[s,\"mouseout\",void 0],[s,\"dblclick\",void 0],[s,\"click\",void 0],[s,\"keydown\",{capture:!1}],[s,\"keyup\",void 0],[s,\"wheel\",{passive:!1}],[s,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,s]of this._listeners)i.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,s);}destroy(){for(const[t,e,s]of this._listeners)i.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,s);}_addDefaultHandlers(t){const e=this._map,s=e.getCanvasContainer();this._add(\"mapEvent\",new bs(e,t));const a=e.boxZoom=new Es(e,t);this._add(\"boxZoom\",a),t.interactive&&t.boxZoom&&a.enable();const o=new Ps(e),r=new Ys(e);e.doubleClickZoom=new Ks(r,o),this._add(\"tapZoom\",o),this._add(\"clickZoom\",r),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const n=new Js;this._add(\"tapDragZoom\",n);const l=e.touchPitch=new qs(e);this._add(\"touchPitch\",l),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const c=Rs(t),h=ks(t);e.dragRotate=new ta(t,c,h),this._add(\"mouseRotate\",c,[\"mousePitch\"]),this._add(\"mousePitch\",h,[\"mouseRotate\"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const u=(({enable:t,clickTolerance:e})=>{const s=new zs({checkCorrectEvent:t=>0===i.mouseButton(t)&&!t.ctrlKey});return new Ds({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:s,enable:t,assignEvents:Ls})})(t),d=new Fs(t,e);e.dragPan=new Qs(s,u,d),this._add(\"mousePan\",u),this._add(\"touchPan\",d,[\"touchZoom\",\"touchRotate\"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const _=new Gs,m=new Ns;e.touchZoomRotate=new ea(s,m,_,n),this._add(\"touchRotate\",_,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",m,[\"touchPan\",\"touchRotate\"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const p=e.scrollZoom=new Hs(e,(()=>this._triggerRenderFrame()));this._add(\"scrollZoom\",p,[\"mousePan\"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const f=e.keyboard=new $s(e);this._add(\"keyboard\",f),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add(\"blockableMapEvent\",new ws(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(ia(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const s in t)if(s!==i&&(!e||e.indexOf(s)<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(e,i,s,a,o){if(!s)return;t.extend(e,s);const r={handlerName:a,originalEvent:s.originalEvent||o};void 0!==s.zoomDelta&&(i.zoom=r),void 0!==s.panDelta&&(i.drag=r),void 0!==s.pitchDelta&&(i.pitch=r),void 0!==s.bearingDelta&&(i.rotate=r);}_applyChanges(){const e={},i={},s={};for(const[a,o,r]of this._changes)a.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(a.panDelta)),a.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+a.zoomDelta),a.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+a.bearingDelta),a.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+a.pitchDelta),void 0!==a.around&&(e.around=a.around),void 0!==a.pinchAround&&(e.pinchAround=a.pinchAround),a.noInertia&&(e.noInertia=a.noInertia),t.extend(i,o),t.extend(s,r);this._updateMapTransform(e,i,s),this._changes=[];}_updateMapTransform(t,e,i){const s=this._map,a=s._getTransformForUpdate(),o=s.terrain;if(!(aa(t)||o&&this._terrainMovement))return this._fireEvents(e,i,!0);let{panDelta:r,zoomDelta:n,bearingDelta:l,pitchDelta:c,around:h,pinchAround:u}=t;void 0!==u&&(h=u),s._stop(!0),h=h||s.transform.centerPoint;const d=a.pointLocation(r?h.sub(r):h);l&&(a.bearing+=l),c&&(a.pitch+=c),n&&(a.zoom+=n),o?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?a.center=a.pointLocation(a.centerPoint.sub(r)):a.setLocationAtPoint(d,h):(this._terrainMovement=!0,this._map._elevationFreeze=!0,a.setLocationAtPoint(d,h),this._map.once(\"moveend\",(()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,a.recalculateZoom(s.terrain);}))):a.setLocationAtPoint(d,h),s._applyUpdatedTransform(a),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);}_fireEvents(e,i,s){const a=ia(this._eventsInProgress),o=ia(e),r={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(r[`${t}start`]=i),this._eventsInProgress[t]=e[t];}!a&&o&&this._fireEvent(\"movestart\",o.originalEvent);for(const t in r)this._fireEvent(t,r[t]);o&&this._fireEvent(\"move\",o.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i);}const n={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:s}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||s,n[`${t}end`]=l);}for(const t in n)this._fireEvent(t,n[t]);const c=ia(this._eventsInProgress);if(s&&(a||o)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new sa(\"renderFrame\",{timeStamp:t})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}class ra extends t.Evented{constructor(e,i){super(),this._renderFrameCallback=()=>{const e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,this.on(\"moveend\",(()=>{delete this._requestedCameraState;}));}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,s){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),s)}panTo(e,i,s){return this.easeTo(t.extend({center:e},i),s)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,s){return this.easeTo(t.extend({zoom:e},i),s)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,s){return this.easeTo(t.extend({bearing:e},i),s)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(s.zoom=t.interpolate.number(a,l,m)),this._rotating&&(s.bearing=t.interpolate.number(o,c,m)),this._pitching&&(s.pitch=t.interpolate.number(r,h,m)),this._padding&&(s.interpolatePadding(n,u,m),_=s.centerPoint.add(d)),this.terrain&&!e.freezeElevation&&this._updateElevation(m),x)s.setLocationAtPoint(x,y);else {const t=s.zoomScale(s.zoom-a),e=l>a?Math.min(2,v):Math.max(.5,v),i=Math.pow(e,1-m),o=s.unproject(f.add(g.mult(m*i)).mult(t));s.setLocationAtPoint(s.renderWorldCopies?o.wrap():o,_);}this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(t=>{this.terrain&&this._finalizeElevation(),this._afterEase(i,t);}),e),this}_prepareEase(e,i,s={}){this._moving=!0,i||s.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!s.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!s.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!s.pitching&&this.fire(new t.Event(\"pitchstart\",e));}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0;}_updateElevation(e){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&i!==this._elevationTarget){const t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(i-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=i;}this.transform.elevation=t.interpolate.number(this._elevationStart,this._elevationTarget,e);}_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:s,pitch:a,bearing:o,elevation:r}=this.transformCameraUpdate(e);i&&(e.center=i),void 0!==s&&(e.zoom=s),void 0!==a&&(e.pitch=a),void 0!==o&&(e.bearing=o),void 0!==r&&(e.elevation=r),this.transform.apply(e);}_fireMoveEvents(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e));}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;const s=this._zooming,a=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,s&&this.fire(new t.Event(\"zoomend\",e)),a&&this.fire(new t.Event(\"rotateend\",e)),o&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e));}flyTo(e,i){if(!e.essential&&t.browser.prefersReducedMotion){const s=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(s,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.defaultEasing},e);const s=this._getTransformForUpdate(),a=this.getZoom(),o=this.getBearing(),r=this.getPitch(),n=this.getPadding(),l=\"zoom\"in e?t.clamp(+e.zoom,s.minZoom,s.maxZoom):a,c=\"bearing\"in e?this._normalizeBearing(e.bearing,o):o,h=\"pitch\"in e?+e.pitch:r,u=\"padding\"in e?e.padding:s.padding,d=s.zoomScale(l-a),_=t.Point.convert(e.offset);let m=s.centerPoint.add(_);const p=s.pointLocation(m),f=t.LngLat.convert(e.center||p);this._normalizeCenter(f);const g=s.project(p),v=s.project(f).sub(g);let x=e.curve;const y=Math.max(s.width,s.height),b=y/d,w=v.mag();if(\"minZoom\"in e){const i=t.clamp(Math.min(e.minZoom,a,l),s.minZoom,s.maxZoom),o=y/s.zoomScale(i-a);x=Math.sqrt(o/w*2);}const T=x*x;function E(t){const e=(b*b-y*y+(t?-1:1)*T*T*w*w)/(2*(t?b:y)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function I(t){return (Math.exp(t)-Math.exp(-t))/2}function S(t){return (Math.exp(t)+Math.exp(-t))/2}const C=E(!1);let P=function(t){return S(C)/S(C+x*t)},D=function(t){return y*((S(C)*(I(e=C+x*t)/S(e))-I(C))/T)/w;var e;},M=(E(!0)-C)/x;if(Math.abs(w)<1e-6||!isFinite(M)){if(Math.abs(y-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=o!==c,this._pitching=h!==r,this._padding=!s.isPaddingEqual(u),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(f),this._ease((d=>{const p=d*M,x=1/P(p);s.zoom=1===d?l:a+s.scaleZoom(x),this._rotating&&(s.bearing=t.interpolate.number(o,c,d)),this._pitching&&(s.pitch=t.interpolate.number(r,h,d)),this._padding&&(s.interpolatePadding(n,u,d),m=s.centerPoint.add(_)),this.terrain&&!e.freezeElevation&&this._updateElevation(d);const y=1===d?f:s.unproject(g.add(v.mult(D(p))).mult(x));s.setLocationAtPoint(s.renderWorldCopies?y.wrap():y,m),this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(()=>{this.terrain&&this._finalizeElevation(),this._afterEase(i);}),e),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e);}if(!t){const t=this.handlers;t&&t.stop(!1);}return this}_ease(e,i,s){!1===s.animate||0===s.duration?(e(1),i()):(this._easeStart=t.browser.now(),this._easeOptions=s,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const s=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0;}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.LngLat.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}class na{constructor(t={}){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&&this.options.compact,this._container=i.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=i.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=i.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(){i.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 s=e[i];if(s.used||s.usedForTerrain){const e=s.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 s=i+1;s=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 la{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=i.create(\"div\",\"maplibregl-ctrl\");const e=i.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(){i.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0;}}class ca{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=[];}}const ha={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"};var ua=t.createLayout([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class da extends t.Evented{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(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];const s={};for(const a of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))s[a.key]=!0,this._renderableTilesKeys.push(a.key),this._tiles[a.key]||(a.posMatrix=new Float64Array(16),t.ortho(a.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[a.key]=new W(a,this.tileSize));for(const t in this._tiles)s[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(e){const i={};for(const s of this._renderableTilesKeys){const a=this._tiles[s].tileID;if(a.canonical.equals(e.canonical)){const a=e.clone();a.posMatrix=new Float64Array(16),t.ortho(a.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[s]=a;}else if(a.canonical.isChildOf(e.canonical)){const o=e.clone();o.posMatrix=new Float64Array(16);const r=a.canonical.z-e.canonical.z,n=a.canonical.x-(a.canonical.x>>r<>r<>r;t.ortho(o.posMatrix,0,c,0,c,0,1),t.translate(o.posMatrix,o.posMatrix,[-n*c,-l*c,0]),i[s]=o;}else if(e.canonical.isChildOf(a.canonical)){const o=e.clone();o.posMatrix=new Float64Array(16);const r=e.canonical.z-a.canonical.z,n=e.canonical.x-(e.canonical.x>>r<>r<>r;t.ortho(o.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(o.posMatrix,o.posMatrix,[n*c,l*c,0]),t.scale(o.posMatrix,o.posMatrix,[1/2**r,1/2**r,0]),i[s]=o;}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let s=t.overscaledZ-this.deltaZoom;if(s>i.maxzoom&&(s=i.maxzoom),s=i.minzoom&&(!a||!a.dem);)a=this.sourceCache.getTileByID(t.scaledTo(s--).key);return a}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class _a{constructor(t,e,i){this.painter=t,this.sourceCache=new da(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(e,i,s,a=t.EXTENT){var o;if(!(i>=0&&i=0&&se.canonical.z&&(e.canonical.z>=s?a=e.canonical.z-s:t.warnOnce(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const o=e.canonical.x-(e.canonical.x>>a<>a<>8<<4|t>>8,i[e+3]=0;const s=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),a=new x(e,s,e.gl.RGBA,{premultiply:!1});return a.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=a,a}pointCoordinate(e){const i=new Uint8Array(4),s=this.painter.context,a=s.gl;s.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),a.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,a.RGBA,a.UNSIGNED_BYTE,i),s.bindFramebuffer.set(null);const o=i[0]+(i[2]>>4<<8),r=i[1]+((15&i[2])<<8),n=this.coordsIndex[255-i[3]],l=n&&this.sourceCache.getTileByID(n);if(!l)return null;const c=this._coordsTextureSize,h=(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 pa={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class fa{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new ma(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],s=i.source;if(pa[i.type]&&!this._coordsDescendingInvStr[s]){this._coordsDescendingInvStr[s]={};for(const t in this._coordsDescendingInv[s])this._coordsDescendingInvStr[s][t]=this._coordsDescendingInv[s][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(e){if(e.isHidden(this.painter.transform.zoom))return !1;const i=e.type,s=this.painter,a=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(pa[i]&&(this._prevType&&pa[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(e.id),!a))return !0;if(pa[this._prevType]||pa[i]&&a){this._prevType=i;const e=this._stacks.length-1,a=this._stacks[e]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(is(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[e]){const t=this.pool.getObjectForId(i.rtt[e].id);if(t.stamp===i.rtt[e].stamp){this.pool.useObject(t);continue}}const o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[e]={id:o.id,stamp:o.stamp},s.context.bindFramebuffer.set(o.fbo.framebuffer),s.context.clear({color:t.Color.transparent,stencil:0}),s.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd;},ya={showCompass:!0,showZoom:!0,visualizePitch:!1};class ba{constructor(e,s,a=!1){this.mousedown=e=>{this.startMouse(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),i.mousePos(this.element,e)),i.addEventListener(window,\"mousemove\",this.mousemove),i.addEventListener(window,\"mouseup\",this.mouseup);},this.mousemove=t=>{this.moveMouse(t,i.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=i.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),i.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.addEventListener(window,\"touchend\",this.touchend));},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=i.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 o=e.dragRotate._mouseRotate.getClickTolerance(),r=e.dragRotate._mousePitch.getClickTolerance();this.element=s,this.mouseRotate=Rs({clickTolerance:o,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const s=new As;return new Ds({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:s,enable:t,assignEvents:xa})})({clickTolerance:o,enable:!0}),this.map=e,a&&(this.mousePitch=ks({clickTolerance:r,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const s=new As;return new Ds({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:s,enable:t,assignEvents:xa})})({clickTolerance:r,enable:!0})),i.addEventListener(s,\"mousedown\",this.mousedown),i.addEventListener(s,\"touchstart\",this.touchstart,{passive:!1}),i.addEventListener(s,\"touchcancel\",this.reset);}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),i.disableDrag();}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),i.disableDrag();}moveMouse(t,e){const i=this.map,{bearingDelta:s}=this.mouseRotate.dragMove(t,e)||{};if(s&&i.setBearing(i.getBearing()+s),this.mousePitch){const{pitchDelta:s}=this.mousePitch.dragMove(t,e)||{};s&&i.setPitch(i.getPitch()+s);}}moveTouch(t,e){const i=this.map,{bearingDelta:s}=this.touchRotate.dragMove(t,e)||{};if(s&&i.setBearing(i.getBearing()+s),this.touchPitch){const{pitchDelta:s}=this.touchPitch.dragMove(t,e)||{};s&&i.setPitch(i.getPitch()+s);}}off(){const t=this.element;i.removeEventListener(t,\"mousedown\",this.mousedown),i.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),i.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.removeEventListener(window,\"touchend\",this.touchend),i.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();}offTemp(){i.enableDrag(),i.removeEventListener(window,\"mousemove\",this.mousemove),i.removeEventListener(window,\"mouseup\",this.mouseup),i.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),i.removeEventListener(window,\"touchend\",this.touchend);}}let wa;function Ta(e,i,s){if(e=new t.LngLat(e.lng,e.lat),i){const a=new t.LngLat(e.lng-360,e.lat),o=new t.LngLat(e.lng+360,e.lat),r=s.locationPoint(e).distSqr(i);s.locationPoint(a).distSqr(i)180;){const t=s.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=s.width&&t.y<=s.height)break;e.lng>s.center.lng?e.lng-=360:e.lng+=360;}return e}const Ea={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 Ia(t,e,i){const s=t.classList;for(const t in Ea)s.remove(`maplibregl-${i}-anchor-${t}`);s.add(`maplibregl-${i}-anchor-${e}`);}class Sa extends t.Evented{constructor(e){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=>{if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=Ta(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let 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()),i.setTransform(this._element,`${Ea[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${s} ${e}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?\"0.2\":\"1.0\",this._opacityTimeout=null;}),100));},this._onMove=e=>{if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t;}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\")));},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 t.Event(\"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=e&&e.anchor||\"center\",this._color=e&&e.color||\"#3FB1CE\",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||\"auto\",this._pitchAlignment=e&&e.pitchAlignment&&\"auto\"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.Point.convert(e&&e.offset||[0,0]);else {this._defaultMarker=!0,this._element=i.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");const s=i.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),a=41,o=27;s.setAttributeNS(null,\"display\",\"block\"),s.setAttributeNS(null,\"height\",`${a}px`),s.setAttributeNS(null,\"width\",`${o}px`),s.setAttributeNS(null,\"viewBox\",`0 0 ${o} ${a}`);const r=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");r.setAttributeNS(null,\"stroke\",\"none\"),r.setAttributeNS(null,\"stroke-width\",\"1\"),r.setAttributeNS(null,\"fill\",\"none\"),r.setAttributeNS(null,\"fill-rule\",\"evenodd\");const n=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=i.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=i.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=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");h.setAttributeNS(null,\"fill\",this._color);const u=i.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=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"opacity\",\"0.25\"),d.setAttributeNS(null,\"fill\",\"#000000\");const _=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),d.appendChild(_);const m=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),m.setAttributeNS(null,\"fill\",\"#FFFFFF\");const p=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const f=i.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=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");g.setAttributeNS(null,\"fill\",\"#FFFFFF\"),g.setAttributeNS(null,\"cx\",\"5.5\"),g.setAttributeNS(null,\"cy\",\"5.5\"),g.setAttributeNS(null,\"r\",\"5.4999962\"),p.appendChild(f),p.appendChild(g),n.appendChild(l),n.appendChild(h),n.appendChild(d),n.appendChild(m),n.appendChild(p),s.appendChild(n),s.setAttributeNS(null,\"height\",a*this._scale+\"px\"),s.setAttributeNS(null,\"width\",o*this._scale+\"px\"),this._element.appendChild(s),this._offset=t.Point.convert(e&&e.offset||[0,-14]);}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault();})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault();})),Ia(this._element,this._anchor,\"marker\"),e&&e.className)for(const t of e.className.split(\" \"))this._element.classList.add(t);this._popup=null;}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),i.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){const e=38.1,i=13.5,s=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\":[s,-1*(e-i+s)],\"bottom-right\":[-s,-1*(e-i+s)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset;}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(e){return this._offset=t.Point.convert(e),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}}const Ca={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Pa=0,Da=!1;const Ma={maxWidth:100,unit:\"metric\"};function za(t,e,i){const s=i&&i.maxWidth||100,a=t._container.clientHeight/2,o=t.unproject([0,a]),r=t.unproject([s,a]),n=o.distanceTo(r);if(i&&\"imperial\"===i.unit){const i=3.2808*n;i>5280?Aa(e,s,i/5280,t._getUIString(\"ScaleControl.Miles\")):Aa(e,s,i,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?Aa(e,s,n/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):n>=1e3?Aa(e,s,n/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Aa(e,s,n,t._getUIString(\"ScaleControl.Meters\"));}function Aa(t,e,i,s){const a=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(a/i)+\"px\",t.innerHTML=`${a} ${s}`;}const La={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Ra=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function ka(e){if(e){if(\"number\"==typeof e){const i=Math.round(Math.abs(e)/Math.SQRT2);return {center:new t.Point(0,0),top:new t.Point(0,e),\"top-left\":new t.Point(i,i),\"top-right\":new t.Point(-i,i),bottom:new t.Point(0,-e),\"bottom-left\":new t.Point(i,-i),\"bottom-right\":new t.Point(-i,-i),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){const i=t.Point.convert(e);return {center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return {center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),\"top-left\":t.Point.convert(e[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(e[\"top-right\"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),\"bottom-left\":t.Point.convert(e[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(e[\"bottom-right\"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return ka(new t.Point(0,0))}const Fa={extend:(e,...i)=>t.extend(e,...i),run(t){t();},logToElement(t,e=!1,i=\"log\"){const s=window.document.getElementById(i);s&&(e&&(s.innerHTML=\"\"),s.innerHTML+=`
${t}`);}},Ba=e;class Ua{static get version(){return Ba}static get workerCount(){return et.workerCount}static set workerCount(t){et.workerCount=t;}static get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e;}static get workerUrl(){return t.config.WORKER_URL}static set workerUrl(e){t.config.WORKER_URL=e;}static addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i;}static removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e];}}return Ua.Map=class extends ra{constructor(e){if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},va,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new ns(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._cooperativeGesturesOnWheel=t=>{this._onCooperativeGesture(t,t[this._metaKey],1);},this._contextLost=e=>{e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}));},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}));},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update();},this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,this._metaKey=0===navigator.platform.indexOf(\"Mac\")?\"metaKey\":\"ctrlKey\",this._maxTileCacheSize=e.maxTileCacheSize,this._maxTileCacheZoomLevels=e.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new ca,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},ha,e.locale),this._clickTolerance=e.clickTolerance,this._overridePixelRatio=e.pixelRatio,this._maxCanvasSize=e.maxCanvasSize,this.transformCameraUpdate=e.transformCameraUpdate,this._imageQueueHandle=c.addThrottleControl((()=>this.isMoving())),this._requestManager=new u(e.transformRequest),\"string\"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else {if(!(e.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container;}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",(()=>this._update(!1))),this.on(\"moveend\",(()=>this._update(!1))),this.on(\"zoom\",(()=>this._update(!0))),this.on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0);})),this.once(\"idle\",(()=>{this._idleTriggered=!0;})),\"undefined\"!=typeof window){addEventListener(\"online\",this._onWindowOnline,!1);let t=!1;const e=ls((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 oa(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new cs(\"string\"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,this._validateStyle=e.validateStyle,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new na({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new la,e.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(e=>{this._update(\"style\"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e));})),this.on(\"dataloading\",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e));})),this.on(\"dataabort\",(e=>{this.fire(new t.Event(\"sourcedataabort\",e));}));}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const s=e.onAdd(this);this._controls.push(e);const a=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?a.insertBefore(s,a.firstChild):a.appendChild(s),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,s){return null==s&&this.terrain&&(s=this.terrain.getElevationForLngLatZoom(i,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,i,s)}resize(e){var i;const s=this._containerDimensions(),a=s[0],o=s[1],r=this._getClampedPixelRatio(a,o);if(this._resizeCanvas(a,o,r),this.painter.resize(a,o,r),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(a,o);this._resizeCanvas(a,o,e),this.painter.resize(a,o,e);}this.transform.resize(a,o),null===(i=this._requestedCameraState)||void 0===i||i.resize(a,o);const n=!this._moving;return n&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),n&&this.fire(new t.Event(\"moveend\",e)),this}_getClampedPixelRatio(t,e){const{0:i,1:s}=this._maxCanvasSize,a=this.getPixelRatio(),o=t*a,r=e*a;return Math.min(o>i?i/o:1,r>s?s/r:1)*a}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(L.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()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(t){return this._cooperativeGestures=t,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.Point.convert(e),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 s=!1;const a=a=>{const o=this.getLayer(e)?this.queryRenderedFeatures(a.point,{layers:[e]}):[];o.length?s||(s=!0,i.call(this,new vs(t,this,a.originalEvent,{features:o}))):s=!1;};return {layer:e,listener:i,delegates:{mousemove:a,mouseout:()=>{s=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let s=!1;const a=a=>{(this.getLayer(e)?this.queryRenderedFeatures(a.point,{layers:[e]}):[]).length?s=!0:s&&(s=!1,i.call(this,new vs(t,this,a.originalEvent)));},o=e=>{s&&(s=!1,i.call(this,new vs(t,this,e.originalEvent)));};return {layer:e,listener:i,delegates:{mousemove:a,mouseout:o}}}{const s=t=>{const s=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];s.length&&(t.features=s,i.call(this,t),delete t.features);};return {layer:e,listener:i,delegates:{[t]:s}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const s=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(s);for(const t in s.delegates)this.on(t,s.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const s=this._createDelegatedListener(t,e,i);for(const t in s.delegates)this.once(t,s.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(s=>{const a=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 ae(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 ae(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());}_diffStyle(e,i){if(\"string\"==typeof e){const s=this._requestManager.transformRequest(e,h.Style);t.getJSON(s,((e,s)=>{e?this.fire(new t.ErrorEvent(e)):s&&this._updateDiff(s,i);}));}else \"object\"==typeof e&&this._updateDiff(e,i);}_updateDiff(e,i){try{this.style.setState(e,i)&&this._update(!0);}catch(s){t.warnOnce(`Unable to perform style diff: ${s.message||s.error||s}. Rebuilding the style from scratch.`),this._updateStyle(e,i);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`)));}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),e){const i=this.style.sourceCaches[e.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);for(const i in this.style._layers){const s=this.style._layers[i];\"hillshade\"===s.type&&s.source===e.source&&t.warnOnce(\"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 _a(this.painter,i,e),this.painter.renderToTexture=new fa(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=t=>{\"style\"===t.dataType?this.terrain.sourceCache.freeRtt():\"source\"===t.dataType&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=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(t.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._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new t.Event(\"terrain\",{terrain:e})),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}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,s={}){const{pixelRatio:a=1,sdf:o=!1,stretchX:r,stretchY:n,content:l}=s;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||t.isImageBitmap(i))){if(void 0===i.width||void 0===i.height)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{const{width:s,height:c,data:h}=i,u=i;return this.style.addImage(e,{data:new t.RGBAImage({width:s,height:c},new Uint8Array(h)),pixelRatio:a,stretchX:r,stretchY:n,content:l,sdf:o,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e),this}}{const{width:s,height:c,data:h}=t.browser.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:s,height:c},h),pixelRatio:a,stretchX:r,stretchY:n,content:l,sdf:o,version:0});}}updateImage(e,i){const s=this.style.getImage(e);if(!s)return this.fire(new t.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const a=i instanceof HTMLImageElement||t.isImageBitmap(i)?t.browser.getImageData(i):i,{width:o,height:r,data:n}=a;if(void 0===o||void 0===r)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(o!==s.data.width||r!==s.data.height)return this.fire(new t.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));return s.data.replace(n,l),this.style.updateImage(e,s),this}getImage(t){return this.style.getImage(t)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t);}loadImage(t,e){c.getImage(this._requestManager.transformRequest(t,h.Image),e);}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,s={}){return this.style.setPaintProperty(t,e,i,s),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,s={}){return this.style.setLayoutProperty(t,e,i,s),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()}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=i.create(\"div\",\"maplibregl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\"),this._canvas=i.create(\"canvas\",\"maplibregl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");const s=this._containerDimensions(),a=this._getClampedPixelRatio(s[0],s[1]);this._resizeCanvas(s[0],s[1],a);const o=this._controlContainer=i.create(\"div\",\"maplibregl-control-container\",t),r=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{r[t]=i.create(\"div\",`maplibregl-ctrl-${t} `,o);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_setupCooperativeGestures(){this._cooperativeGesturesScreen=i.create(\"div\",\"maplibregl-cooperative-gesture-screen\",this._container);let t=\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";0===navigator.platform.indexOf(\"Mac\")&&(t=\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use ⌘ + scroll to zoom the map\"),this._cooperativeGesturesScreen.innerHTML=`\\n
${t}
\\n
${\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\\n `,this._cooperativeGesturesScreen.setAttribute(\"aria-hidden\",\"true\"),this._canvasContainer.addEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add(\"maplibregl-cooperative-gestures\");}_destroyCooperativeGestures(){i.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove(\"maplibregl-cooperative-gestures\");}_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 ss(i,this.transform),s.testSupport(i);}_onCooperativeGesture(t,e,i){return !e&&i<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\");}),100)),!1}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.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(e){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let s=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,a=t.browser.now();this.style.zoomHistory.update(e,a);const o=new t.EvaluationParameters(e,{now:a,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),r=o.crossFadingFactor();1===r&&r===this._crossFadingFactor||(s=!0,this._crossFadingFactor=r),this.style.update(o);}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=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._minEleveationForCurrentTile=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 t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||s)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const a=this._sourcesDirty||this._styleDirty||this._placementDirty;return a||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event(\"idle\")),!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var e;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),\"undefined\"!=typeof window&&removeEventListener(\"online\",this._onWindowOnline,!1),c.removeThrottleControl(this._imageQueueHandle),null===(e=this._resizeObserver)||void 0===e||e.disconnect();const s=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");s&&s.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),i.remove(this._canvasContainer),i.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove(\"maplibregl-map\"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event(\"remove\"));}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.browser.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e);})));}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 ga}getCameraTargetElevation(){return this.transform.elevation}},Ua.NavigationControl=class{constructor(e){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=t.extend({},ya,e),this._container=i.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}))),i.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}))),i.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=i.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 ba(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){i.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;}_createButton(t,e){const s=i.create(\"button\",t,this._container);return s.type=\"button\",s.addEventListener(\"click\",e),s}},Ua.GeolocateControl=class extends t.Evented{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),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(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish();}},this._updateCamera=e=>{const i=new t.LngLat(e.coords.longitude,e.coords.latitude),s=e.coords.accuracy,a=this._map.getBearing(),o=t.extend({bearing:a},this.options.fitBoundsOptions),r=L.fromLngLat(i,s);this._map.fitBounds(r,o,{geolocateSource:!0});},this._updateMarker=e=>{if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},this._onError=e=>{if(this._map){if(this.options.trackUserLocation)if(1===e.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===e.code&&Da)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish();}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},this._setupUI=e=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=i.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),i.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const e=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute(\"aria-label\",e);}else {const t=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=i.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Sa({element:this._dotElement}),this._circleElement=i.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Sa({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(e=>{e.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||e.originalEvent&&\"resize\"===e.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new t.Event(\"trackuserlocationend\")));}));}},this.options=t.extend({},Ca,e);}onAdd(t){return this._map=t,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(t,e=!1){void 0===wa||e?void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then((e=>{wa=\"denied\"!==e.state,t(wa);})).catch((()=>{wa=!!window.navigator.geolocation,t(wa);})):(wa=!!window.navigator.geolocation,t(wa)):t(wa);}(this._setupUI),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(),i.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Pa=0,Da=!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(),s=e.distanceTo(i),a=Math.ceil(this._accuracy/(s/this._map._container.clientHeight)*2);this._circleElement.style.width=`${a}px`,this._circleElement.style.height=`${a}px`;}trigger(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Pa--,Da=!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 t.Event(\"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 t.Event(\"trackuserlocationstart\"));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\"),Pa++,Pa>1?(t={maximumAge:6e5,timeout:0},Da=!0):(t=this.options.positionOptions,Da=!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);}},Ua.AttributionControl=na,Ua.LogoControl=la,Ua.ScaleControl=class{constructor(e){this._onMove=()=>{za(this._map,this._container,this.options);},this.setUnit=t=>{this.options.unit=t,za(this._map,this._container,this.options);},this.options=t.extend({},Ma,e);}getDefaultPosition(){return \"bottom-left\"}onAdd(t){return this._map=t,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){i.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;}},Ua.FullscreenControl=class extends t.Evented{constructor(e={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange();},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen();},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),\"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=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){i.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange);}_setupUI(){const t=this._fullscreenButton=i.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);i.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 t.Event(\"fullscreenstart\")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new t.Event(\"fullscreenend\")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures));}_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();}},Ua.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.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"));},this.options=t;}onAdd(t){return this._map=t,this._container=i.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=i.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),i.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(){i.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0;}},Ua.Popup=class extends t.Evented{constructor(e){super(),this.remove=()=>(this._content&&i.remove(this._content),this._container&&(i.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this),this._onMouseUp=t=>{this._update(t.point);},this._onMouseMove=t=>{this._update(t.point);},this._onDrag=t=>{this._update(t.point);},this._update=t=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=i.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=i.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._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._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Ta(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let s=this.options.anchor;const a=ka(this.options.offset);if(!s){const t=this._container.offsetWidth,i=this._container.offsetHeight;let o;o=e.y+a.bottom.ythis._map.transform.height-i?[\"bottom\"]:[],e.xthis._map.transform.width-t/2&&o.push(\"right\"),s=0===o.length?\"bottom\":o.join(\"-\");}const o=e.add(a[s]).round();i.setTransform(this._container,`${Ea[s]} translate(${o.x}px,${o.y}px)`),Ia(this._container,s,\"popup\");},this._onClose=()=>{this.remove();},this.options=t.extend(Object.create(La),e);}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this}isOpen(){return !!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),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 s;for(i.innerHTML=t;s=i.firstChild,s;)e.appendChild(s);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=i.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t);}removeClassName(t){this._container&&this._container.classList.remove(t);}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=i.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(Ra);t&&t.focus();}},Ua.Marker=Sa,Ua.Style=ae,Ua.LngLat=t.LngLat,Ua.LngLatBounds=L,Ua.Point=t.Point,Ua.MercatorCoordinate=t.MercatorCoordinate,Ua.Evented=t.Evented,Ua.AJAXError=t.AJAXError,Ua.config=t.config,Ua.CanvasSource=G,Ua.GeoJSONSource=U,Ua.ImageSource=N,Ua.RasterDEMTileSource=B,Ua.RasterTileSource=F,Ua.VectorTileSource=k,Ua.VideoSource=Z,Ua.setRTLTextPlugin=t.setRTLTextPlugin,Ua.getRTLTextPluginStatus=t.getRTLTextPluginStatus,Ua.prewarm=function(){at().acquire(tt);},Ua.clearPrewarmedResources=function(){const t=st;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(tt),st=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()\"));},Fa.extend(Ua,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),Ua}));\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 var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n\r\n map.getPane(paneName).removeChild(this._container);\r\n this._container = null;\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applys the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n const halfSize = this.getSize().multiplyBy(0.5);\r\n const center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane)\r\n ? this.options.pane\r\n : 'tilePane';\r\n },\r\n\r\n _initContainer: function () {\r\n if (this._container) {\r\n return;\r\n }\r\n\r\n this._container = DomUtil.create('div', 'leaflet-gl-layer');\r\n\r\n const size = this.getSize();\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n this._container.style.width = size.x + 'px';\r\n this._container.style.height = size.y + 'px';\r\n\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(this._container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n if (this._glMap) {\r\n return;\r\n }\r\n\r\n const center = this._map.getCenter();\r\n\r\n const options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once(\r\n 'styledata',\r\n function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this)\r\n );\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n const canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n const size = this.getSize();\r\n const container = this._container;\r\n const gl = this._glMap;\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n const center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n const tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n const scale = this._map.getZoomScale(e.zoom);\r\n const padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n const viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n const topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n const offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n const scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(this._glMap._actualCanvas, null, scale);\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n const zoom = this._map.getZoom();\r\n const center = this._map.getCenter();\r\n const offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com',\r\n // for performance optimization default to `false`\r\n // set to `true` to resolve printing issues in Firefox\r\n preserveDrawingBuffer: false\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, propagate to token\r\n // if token is passed in, propagate to apiKey\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n } else if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error(\r\n 'An ITEM ID or SERVICE URL is required for vectorTileLayer.'\r\n );\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n this.fire('load-error', {\r\n value: error\r\n });\r\n return;\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n this._createMaplibreLayer(style);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n _setupAttribution: function () {\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const sourcesKeys = Object.keys(sources);\r\n this.options.attribution =\r\n sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n },\r\n\r\n _createMaplibreLayer: function (style) {\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity,\r\n preserveDrawingBuffer: this.options.preserveDrawingBuffer\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function () {\r\n this._setupAttribution();\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n","import { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData, getBasemapStyleV2Url } from './Util';\r\nimport { VectorTileLayer } from './VectorTileLayer';\r\n\r\nexport var VectorBasemapLayer = VectorTileLayer.extend({\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n // Default to the v1 service endpoint\r\n if (!options.version) {\r\n if (key.includes('/')) options.version = 2;\r\n else options.version = 1;\r\n }\r\n if (!key) {\r\n // Default style enum if none provided\r\n key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets';\r\n }\r\n // If no API Key or token is provided (support outdated casing apiKey of apikey)\r\n if (!(options.apikey || options.apiKey || options.token)) {\r\n throw new Error('An API Key or token is required for vectorBasemapLayer.');\r\n }\r\n // Validate language param\r\n if (options.language) {\r\n if (options.version !== 2) {\r\n throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n }\r\n // Determine layer order\r\n if (!options.pane) {\r\n if (key.includes(':Label') || key.includes('/label')) {\r\n options.pane = 'esri-labels';\r\n } else if (key.includes(':Detail') || key.includes('/detail')) {\r\n options.pane = 'esri-detail';\r\n } else {\r\n // Create layer in the tilePane by default\r\n options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n // Options has been configured, continue on to create the layer:\r\n VectorTileLayer.prototype.initialize.call(this, key, options);\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n let styleUrl;\r\n if (this.options.version && this.options.version === 2) {\r\n styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, this.options.language);\r\n } else {\r\n styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n }\r\n this._createMaplibreLayer(styleUrl);\r\n },\r\n\r\n _setupAttribution: function () {\r\n // Set attribution\r\n Util.setEsriAttribution(this._map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n this._map.attributionControl.addAttribution('' + allAttributions.join(', ') + '');\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, this._map);\r\n }\r\n\r\n this._map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n _initPane: function () {\r\n if (!this._map.getPane(this.options.pane)) {\r\n const pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n\r\n let zIndex = 500;\r\n if (this.options.pane === 'esri-detail') {\r\n zIndex = 250;\r\n } else if (this.options.pane === 'esri-labels') {\r\n zIndex = 300;\r\n }\r\n pane.style.zIndex = zIndex;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n const element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n const vectorAttribution = element[0].outerHTML;\r\n // this doesn't work, not sure why.\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._initPane();\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","// export version\r\nimport packageInfo from '../package.json';\r\nconst version = packageInfo.version;\r\nexport { version as VERSION };\r\n\r\nexport { VectorBasemapLayer, vectorBasemapLayer } from './VectorBasemapLayer';\r\nexport { VectorTileLayer, vectorTileLayer } from './VectorTileLayer';\r\nexport { EsriUtil as Util } from './Util';\r\nexport { MaplibreGLJSLayer, maplibreGLJSLayer } from './MaplibreGLLayer';\r\n"],"names":["loadStyle","idOrUrl","options","callback","test","loadStyleFromService","itemId","itemStyleUrl","portalUrl","loadStyleFromUrl","error","style","loadItem","item","url","loadService","service","loadStyleFromItem","serviceUrl","params","token","request","defaultStylesUrl","sanitizedServiceUrl","charAt","length","slice","defaultStyles","styleUrl","isSameTLD","url1","url2","URL","hostname","formatStyle","metadata","sourcesKeys","Object","keys","sources","sourceIndex","source","indexOf","replace","tiles","minzoom","minLOD","tileInfo","lods","level","maxzoom","maxLOD","lastSource","attribution","copyrightText","layerIndex","layers","layer","layout","sprite","console","warn","glyphs","getAttributionData","map","Support","cors","attributions","_esriAttributions","c","contributors","contributor","i","coverageAreas","coverageArea","southWest","latLng","bbox","northEast","push","score","bounds","latLngBounds","minZoom","zoomMin","maxZoom","zoomMax","sort","a","b","obj","target","Util","_updateMapAttribution","WEB_MERCATOR_WKIDS","EsriUtil","module","exports","shared","worker","maplibregl","define","_","chunk","workerBundleString","sharedChunk","window","workerUrl","createObjectURL","Blob","type","t","e","__esModule","prototype","hasOwnProperty","call","default","r","n","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","s","cx","bx","ax","cy","by","ay","p1x","p1y","p2x","p2y","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","abs","o","solve","l","u","min","max","h","p","f","d","m","g","v","w","WorkerGlobalScope","self","A","navigator","userAgent","safari","match","S","ImageBitmap","k","I","z","M","now","performance","bind","Date","frame","requestAnimationFrame","cancel","cancelAnimationFrame","getImageData","getImageCanvasContext","width","height","document","createElement","getContext","willReadFrequently","Error","drawImage","resolveURL","href","hardwareConcurrency","prefersReducedMotion","matchMedia","matches","P","MAX_PARALLEL_IMAGE_REQUESTS","MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME","MAX_TILE_CACHE_ZOOM_LEVELS","REGISTERED_PROTOCOLS","WORKER_URL","B","constructor","super","status","statusText","body","C","referrer","location","protocol","parent","V","substring","E","AbortController","Request","method","credentials","headers","cache","signal","set","fetch","then","ok","arrayBuffer","json","text","get","catch","message","blob","code","abort","T","actor","send","XMLHttpRequest","open","responseType","setRequestHeader","withCredentials","onerror","onload","response","JSON","parse","getResponseHeader","F","L","host","$","D","splice","O","U","R","on","_listeners","off","_oneTimeListeners","once","Promise","fire","listens","_eventedParent","_eventedParentData","setEventedParent","q","$version","$root","version","required","values","name","center","value","zoom","bearing","period","units","pitch","light","terrain","transition","source_vector","vector","scheme","xyz","tms","promoteId","volatile","source_raster","raster","tileSize","source_raster_dem","encoding","terrarium","mapbox","source_geojson","geojson","data","buffer","maximum","minimum","filter","tolerance","cluster","clusterRadius","clusterMaxZoom","clusterMinPoints","clusterProperties","lineMetrics","generateId","source_video","video","urls","coordinates","source_image","image","id","fill","line","symbol","circle","heatmap","hillshade","background","paint","layout_background","visibility","visible","none","layout_fill","expression","interpolated","parameters","layout_circle","layout_heatmap","layout_line","butt","square","bevel","miter","requires","layout_symbol","point","auto","never","always","cooperative","viewport","both","tokens","left","right","top","bottom","horizontal","vertical","uppercase","lowercase","layout_raster","layout_hillshade","filter_operator","in","all","any","has","within","geometry_type","Point","LineString","Polygon","function","stops","base","property","identity","exponential","interval","categorical","colorSpace","rgb","lab","hcl","function_stop","anchor","position","color","intensity","exaggeration","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","linear","nearest","paint_hillshade","paint_background","duration","delay","constant","j","N","forEach","Z","K","setStyle","addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setGeoJSONSourceData","setLayerZoomRange","setLayerProperty","setCenter","setZoom","setBearing","setPitch","setSprite","setGlyphs","setTransition","setLight","G","command","args","J","X","Y","H","W","Q","tt","identifier","__line__","et","rt","key","nt","bindings","concat","it","kind","at","st","ot","lt","ut","ct","ht","pt","ft","dt","yt","mt","itemType","gt","xt","vt","bt","some","wt","_t","At","St","kt","It","zt","Mt","Pt","PI","Bt","Ct","Vt","Tt","Et","pow","Ft","isNaN","$t","Lt","Dt","parseInt","padEnd","Ot","Ut","Rt","Number","qt","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","jt","overwriteGetter","static","toLowerCase","trim","startsWith","join","NaN","defineProperty","toString","transparent","Nt","sensitivity","locale","collator","Intl","Collator","usage","compare","resolvedLocale","resolvedOptions","Zt","scale","fontStack","textColor","Kt","sections","isEmpty","fromString","Gt","stringify","Jt","Set","Xt","Yt","available","Ht","Wt","Qt","te","String","ee","expectedType","evaluate","eachChild","outputDefined","re","toJSON","ne","string","number","boolean","object","ie","floor","every","ae","se","Boolean","parseColor","oe","le","globals","feature","featureState","formattedSection","_parseColorCache","availableImages","canonical","geometryType","geometry","canonicalID","properties","ue","registry","path","scope","errors","_isConstant","_parse","checkSubtype","typeAnnotation","ce","caseSensitive","diacriticSensitive","he","pe","fe","de","log","ye","me","ge","xe","ve","be","we","_e","Ae","Se","ke","Ie","ze","geometries","features","Me","boundExpression","Pe","_evaluate","definitions","overloads","Be","Ce","Ee","Ve","Te","Fe","input","labels","outputs","Le","$e","De","array","padding","variableAnchorOffsetCollection","Oe","operator","interpolation","Ue","controlPoints","interpolationFactor","Re","qe","result","je","index","Ne","needle","haystack","Ze","fromIndex","Ke","inputType","cases","otherwise","MAX_SAFE_INTEGER","Ge","branches","Je","beginIndex","endIndex","Xe","Ye","He","lhs","rhs","hasUntypedArgument","We","Qe","tr","er","rr","nr","ir","currency","minFractionDigits","maxFractionDigits","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","ar","font","content","sr","or","lr","case","coalesce","interpolate","let","literal","step","var","ur","cr","hr","pr","fr","dr","yr","mr","gr","xr","vr","br","wr","kr","Sr","Ar","create","Ir","interpolationType","zoomStops","_r","apply","register","typeof","rgba","heatmapDensity","lineProgress","accumulated","ln2","LN2","pi","log10","LN10","ln","log2","asin","acos","atan","ceil","isSupportedScript","upcase","toUpperCase","downcase","zr","_warningHistory","_evaluator","_defaultValue","_enumValues","evaluateWithoutErrorHandling","Mr","Pr","enum","formatted","resolvedImage","Br","_styleExpression","isStateDependent","Cr","Vr","Tr","Er","_parameters","_specification","Fr","Lr","$r","needGeometry","Ur","Or","Dr","Rr","Nr","qr","jr","Zr","Kr","Gr","Jr","valueOf","Xr","Yr","valueSpec","objectElementValidators","styleSpec","validateSpec","split","objectKey","Hr","arrayElementValidator","arrayIndex","Wr","Qr","isFinite","tn","expressionContext","propertyKey","propertyType","en","rn","nn","an","layerType","exec","sn","ref","un","cn","hn","pn","fn","dn","includes","yn","constants","mn","gn","xn","bn","vn","wn","paintProperty","layoutProperty","_n","An","Sn","kn","In","zn","cells","ArrayBuffer","Int32Array","subarray","bboxes","insert","_insertReadonly","extent","uid","_forEachCell","_insertCell","query","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","Mn","Pn","writeable","klass","omit","shallow","_classRegistryKey","Bn","Cn","RegExp","isView","ImageData","serialize","$name","Vn","deserialize","En","first","update","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","Tn","Arabic","Khmer","Hiragana","Katakana","Bopomofo","Kanbun","Fn","Dn","charCodeAt","Ln","$n","On","Un","Rn","qn","jn","Nn","Zn","Kn","Gn","Jn","Xn","Yn","Hn","pluginStatus","pluginURL","Wn","Qn","ti","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","isLoaded","isLoading","setState","isParsed","getPluginURL","ei","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","fromScale","toScale","ri","specification","isDataDriven","possiblyEvaluate","ni","transitioned","ai","untransitioned","ii","_properties","_values","defaultTransitionablePropertyValues","getValue","setValue","getTransition","si","begin","end","prior","defaultTransitioningPropertyValues","ui","hasTransition","oi","defaultPropertyValues","hasValue","li","isConstant","constantOr","defaultPossiblyEvaluatedValues","ci","hi","overrides","_calculate","from","to","fi","di","yi","overridableProperties","mi","gi","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","validate","_transitioningPaint","_crossfadeParameters","getLayoutProperty","_validate","getPaintProperty","endsWith","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","isHidden","updateTransitions","recalculate","is3D","isTileClipped","hasOffscreenPass","resize","xi","Int8","Int8Array","Uint8","Uint8Array","Int16","Int16Array","Uint16","Uint16Array","Int32","Uint32","Uint32Array","Float32","Float32Array","vi","_structArray","_pos1","size","_pos2","_pos4","_pos8","bi","isTransferred","capacity","_trim","byteLength","bytesPerElement","_refreshViews","clear","reserve","uint8","wi","members","BYTES_PER_ELEMENT","_i","components","offset","alignment","Ai","int16","emplaceBack","emplace","Si","ki","Ii","zi","Mi","float32","Pi","uint16","Bi","Ci","Vi","uint32","Ei","Ti","Fi","Li","$i","Di","Oi","Ui","Ri","qi","ji","Ni","Zi","Ki","anchorPointX","anchorPointY","x1","y1","x2","y2","featureIndex","sourceLayerIndex","bucketIndex","anchorPoint","Gi","Ji","anchorX","anchorY","glyphStartIndex","numGlyphs","vertexStartIndex","lineStartIndex","lineLength","segment","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","hidden","crossTileID","associatedIconIndex","Xi","Yi","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","placedIconSymbolIndex","verticalPlacedIconSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","verticalIconBoxStartIndex","verticalIconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","numVerticalIconVertices","useRuntimeCollisionCircles","textBoxScale","collisionCircleDiameter","textAnchorOffsetStartIndex","textAnchorOffsetEndIndex","Hi","Wi","getoffsetX","Qi","getx","gety","gettileUnitDistanceFromAnchor","ta","textAnchor","textOffset0","textOffset1","ea","ra","na","ia","aa","sa","oa","la","ua","ca","ha","pa","fa","da","ya","ma","ga","xa","va","ba","segments","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","sortKey","vertexOffset","primitiveOffset","primitiveLength","destroy","vaos","wa","_a","Aa","Sa","ka","Ia","za","Ma","murmur3","murmur2","Pa","Ba","ids","positions","indexed","Ca","getPositions","start","Float64Array","Va","Ea","Ta","gl","Fa","current","uniform1f","La","uniform4f","$a","Da","Oa","Ua","uniformNames","setUniform","getBinding","Ra","patternFrom","patternTo","pixelRatioFrom","pixelRatioTo","setConstantPatternPositions","pixelRatio","tlbr","substr","qa","maxValue","paintVertexAttributes","paintVertexArray","populatePaintArray","_setPaintValue","updatePaintArray","upload","paintVertexBuffer","updateData","createVertexBuffer","ja","useIntegerZoom","Na","layerId","zoomInPaintVertexArray","zoomOutPaintVertexArray","_setPaintValues","patterns","mid","tl","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","Za","binders","_buffers","Ga","Ja","cacheKey","getMaxValue","populatePaintArrays","updatePaintArrays","defines","getBinderAttributes","getBinderUniforms","getPaintVertexBuffers","getUniforms","binding","setUniforms","updatePaintBuffers","Ka","programConfigurations","needsUpload","_featureMap","_bufferOffset","composite","Xa","Ya","Ha","Wa","loadGeometry","Qa","ts","es","overscaling","layerIds","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","addFeature","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","rs","hs","ss","ns","ls","is","cs","as","os","us","ps","fs","ds","ys","ms","gs","xs","vs","bs","ws","_s","hypot","arguments","As","Ss","ks","Is","createBucket","queryRadius","queryIntersectsFeature","zs","cameraToCenterDistance","Ms","Ps","Bs","Cs","Uint8ClampedArray","RangeError","Vs","Es","Ts","Fs","Ls","resolution","clips","evaluationKey","$s","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","Ds","Os","Us","Rs","qs","js","Ns","Zs","next","prev","steiner","ro","Ws","Qs","Gs","mo","po","so","fo","Ks","ao","eo","prevZ","nextZ","Xs","Js","Ys","Hs","no","oo","co","io","ho","uo","lo","yo","deviation","flatten","vertices","holes","dimensions","go","xo","vo","wo","exp","bo","_o","area","Ao","So","patternDependencies","ko","Io","patternFeatures","indexArray2","segments2","addFeatures","indexBuffer2","zo","Mo","Po","Bo","Co","Vo","Eo","To","Fo","Lo","$o","_pbf","_geometry","_keys","readFields","Do","readVarint","pos","Oo","types","readSVarint","toGeoJSON","Uo","Ro","qo","_features","jo","readString","readFloat","readDouble","readVarint64","readBoolean","No","Zo","VectorTile","VectorTileFeature","VectorTileLayer","Ko","Go","Jo","Xo","centroidVertexArray","centroidVertexBuffer","vertexCount","Ho","Yo","Wo","Qo","rl","el","nl","il","al","sl","ol","ll","ul","cl","lineClipsArray","gradients","layoutVertexArray2","maxLineLength","layoutVertexBuffer2","lineFeatureClips","mapbox_clip_start","mapbox_clip_end","lineClips","addLine","distance","scaledDistance","totalDistance","updateScaledDistance","e1","e2","updateDistance","addCurrentVertex","addHalfVertex","hl","pl","fl","dl","yl","ml","gradientVersion","stepInterpolant","gradientExpression","xl","vl","bl","wl","_l","Al","toLocaleUpperCase","toLocaleLowerCase","Sl","kl","Il","Pl","zl","Ml","buf","Varint","Fixed64","Bytes","Fixed32","Bl","Cl","Vl","TextDecoder","El","Tl","Fl","realloc","Ll","writeVarint","$l","writeSVarint","Dl","writeFloat","Ol","writeDouble","Ul","writeBoolean","Rl","writeFixed32","ql","writeSFixed32","jl","writeFixed64","Nl","writeSFixed64","Zl","Kl","Gl","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","Jl","Xl","Yl","Hl","bitmap","advance","Wl","metrics","Ql","tu","pop","eu","ru","stretchX","stretchY","paddedRect","displaySize","nu","haveRenderCallbacks","addImages","copy","iconPositions","patternPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","iu","WritingMode","horizontalOnly","au","su","imageName","ou","sectionIndex","imageSectionID","addImageSection","addTextSection","getSection","getSectionIndex","getCharCode","verticalizePunctuation","uu","getMaxScale","reduce","forText","getNextImageSectionCharCode","forImage","lu","fromFeature","mu","positionedLines","iconsInText","verticalizable","positionedGlyphs","lineOffset","rect","glyph","xu","horizontalAlign","verticalAlign","gu","cu","hu","pu","fu","du","badness","priorBreak","yu","vu","bu","collisionPadding","wu","_u","Au","Su","layoutSize","minSize","maxSize","ku","Iu","zu","Mu","Pu","Bu","Cu","dynamicLayoutVertexArray","opacityVertexArray","hasVisibleVertices","placedSymbolArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","itemSize","Vu","layoutAttributes","collisionVertexArray","collisionVertexBuffer","Eu","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","Tu","Fu","MAX_GLYPHS","addDynamicAttributes","Lu","runtimeType","getOverride","hasOverride","$u","defaultValue","Du","_setPaintOverrides","hasPaintOverride","Ou","Uu","Ru","qu","ju","Nu","Zu","onAdd","implementation","painter","context","onRemove","renderingMode","prerender","Ku","_callback","_triggered","MessageChannel","_channel","port2","onmessage","trigger","port1","postMessage","setTimeout","remove","Gu","Ju","lng","lat","wrap","toArray","distanceTo","lon","Xu","Yu","Hu","Wu","Qu","tc","ec","toLngLat","toAltitude","meterInMercatorCoordinateUnits","rc","nc","sc","isChildOf","getTilePoint","ic","ac","overscaledZ","scaledTo","calculateScaledKey","children","isLessThan","wrapped","unwrapTo","overscaleFactor","toUnwrapped","oc","stride","dim","_idx","MIN_SAFE_INTEGER","_unpackTerrarium","_unpackMapbox","getUnpackVector","getPixels","backfillBorder","lc","_stringToNumber","_numberToString","encode","uc","_vectorTileFeature","_z","_x","_y","cc","tileID","grid","grid3D","featureIndexArray","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","pc","minX","minY","maxX","maxY","cameraQueryGeometry","fc","loadMatchingFeature","transform","pixelPosMatrix","bucketLayerIDs","getId","getState","hc","intersectionZ","lookupSymbolFeatures","hasLayer","dc","yc","mc","angleDelta","gc","xc","vc","bc","wc","_c","Ac","Sc","kc","zc","stretch","Mc","fixed","Ic","Pc","boxStartIndex","circleDiameter","boxEndIndex","Bc","Cc","_down","_up","peek","Vc","Ec","Tc","SQRT2","Fc","TextAnchorEnum","Lc","$c","POSITIVE_INFINITY","Dc","Oc","Uc","Rc","textMaxSize","jc","tilePixelRatio","compositeIconSizes","qc","Nc","sdf","compositeTextSizes","compareText","Zc","Kc","numItems","nodeSize","ArrayType","IndexArrayType","coords","_pos","_finished","Gc","range","Hc","Jc","Xc","Yc","Wc","PerformanceMarkers","load","fullLoad","Qc","th","eh","rh","nh","ih","mark","clearMetrics","clearMeasures","clearMarks","getPerformanceMetrics","measure","getEntriesByName","loadTime","fullLoadTime","fps","percentDroppedFrames","totalFrames","AJAXError","ARRAY_TYPE","Actor","receive","targetMapId","mapId","tasks","cancelCallbacks","mustQueue","taskQueue","invoker","processTask","process","callbacks","addEventListener","globalScope","random","hasCallback","sourceMapId","getWorkerSource","removeEventListener","AlphaImage","CanonicalTileID","CollisionBoxArray","CollisionCircleLayoutArray","Color","DEMData","DataConstantProperty","DictionaryCoder","EXTENT","ErrorEvent","EvaluationParameters","Event","Evented","FeatureIndex","FillBucket","FillExtrusionBucket","GeoJSONFeature","ImageAtlas","ImagePosition","KDBush","LineBucket","LineStripIndexArray","LngLat","MercatorCoordinate","ONE_EM","OverscaledTileID","PerformanceUtils","Pos3dArray","PosArray","Properties","Protobuf","QuadTriangleArray","RGBAImage","RasterBoundsArray","RequestPerformance","_marks","SegmentVector","SymbolBucket","Transitionable","TriangleIndexArray","Uniform1f","Uniform1i","uniform1i","Uniform2f","uniform2f","Uniform3f","uniform3f","Uniform4f","UniformColor","UniformMatrix4f","uniformMatrix4fv","UnwrappedTileID","ValidationError","ZoomHistory","arrayBufferToImage","Image","revokeObjectURL","src","arrayBufferToImageBitmap","createImageBitmap","asyncAll","bezier","browser","clamp","clipLine","clone$1","collisionCircleLayout","config","createExpression","createFilter","createLayout","createStyleLayer","deepEqual","defaultEasing","derefLayers","diffStyles","lastIndexOf","dot","earthRadius","emitValidationErrors","emptyStyle","evaluateSizeForFeature","uSize","uSizeT","evaluateSizeForZoom","evented","extend","filterObject","findLineIntersection","fromScaling","getAnchorAlignment","getAnchorJustification","getArrayBuffer","getDefaultExportFromCjs","getJSON","getOverlapMode","getProtocolAction","getRTLTextPluginStatus","getReferrer","getVideo","muted","onloadstart","crossOrigin","appendChild","groupByLayout","invert","isImageBitmap","isSafari","isWorker","keysDifference","lazyLoadRTLTextPlugin","makeRequest","mapObject","mercatorXfromLng","mercatorYfromLat","mercatorZfromAltitude","mul","mul$1","multiply","nextPowerOfTwo","operations","ortho","parseCacheControl","parseGlyphPbf","pbf","performSymbolLayout","bucket","iconsNeedLinear","layoutIconSize","layoutTextSize","glyphMap","glyphPositions","imagePositions","imageMap","sdfIcons","showCollisionBoxes","perspective","pick","plugin","pointGeometry","polygonIntersectsPolygon","potpack","registerForPluginStateChange","renderColorRamp","rotateX","rotateZ","sameOrigin","setRTLTextPlugin","sphericalToCartesian","toEvaluationFeature","transformMat4","translate","triggerPluginCompletionEvent","unicodeBlockLookup","uniqueId","v8Spec","validateCustomStyleLayer","render","validateLight","validateStyle","vectorTile","warnOnce","keyCache","_layerConfigs","_layers","familiesBySource","collectResourceTiming","returnDependencies","inFlightDependencies","dependencySentinel","stacks","icons","buckets","glyphAtlasImage","imageAtlas","iconMap","rawData","cacheControl","expires","loadVectorData","fetching","loading","loaded","loadTile","resourceTiming","reloadTile","abortTile","removeTile","rawImageData","offscreenCanvas","offscreenCanvasContext","OffscreenCanvas","clearRect","reverse","rawGeometry","tags","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","minPoints","radius","fround","assign","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","debug","tileCoords","indexMaxZoom","indexMaxPoints","stats","total","splitTile","Map","_geoJSONIndex","_geojsonTileLayer","_feature","byteOffset","_dataUpdateable","loadGeoJSON","dataDiff","removeAll","delete","removeAllProperties","removeProperties","addOrUpdateProperties","newGeometry","loadData","_pendingRequest","_pendingCallback","abandoned","superclusterOptions","geojsonVtOptions","clusterId","getClusterChildren","getClusterLeaves","limit","layerIndexes","workerSourceTypes","workerSources","demWorkerSources","registerWorkerSource","registerRTLTextPlugin","setReferrer","setImages","setLayers","getLayerIndex","updateLayers","removedIds","loadDEMTile","getDEMWorkerSource","removeDEMTile","loadWorkerSource","importScripts","syncRTLPluginState","getAvailableImages","docStyle","className","createElementNS","selectProp","userSelect","transformProp","capture","preventDefault","stopPropagation","suppressClickInternal","getBoundingClientRect","clientX","clientLeft","clientY","clientTop","button","parentNode","removeChild","documentElement","testProp","supported","testSupport","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","isContextLost","deleteTexture","resetRequestQueue","addThrottleControl","removeThrottleControl","accept","requestParameters","supportImageRefresh","cancelled","completed","innerRequest","HTMLImageElement","fetchPriority","Glyphs","Source","SpriteImage","SpriteJSON","Style","Tile","Unknown","_transformRequestFn","transformRequest","normalizeSpriteURL","authority","setTransformRequest","spriteData","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","setLoaded","_notify","addImage","_validateStretch","_validateContent","updateImage","removeImage","listImages","getImages","getPixelSize","getPattern","bin","_updatePatternAtlas","atlasTexture","CLAMP_TO_EDGE","beginFrame","requestManager","localIdeographFontFamily","entries","setURL","getGlyphs","stack","requests","ranges","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","fontSize","cutoff","fontFamily","fontWeight","draw","glyphWidth","glyphHeight","glyphLeft","glyphTop","glyphAdvance","fontStyle","_createCanvas","ctx","textBaseline","textAlign","fillStyle","gridOuter","gridInner","actualBoundingBoxAscent","actualBoundingBoxDescent","actualBoundingBoxLeft","actualBoundingBoxRight","measureText","fillText","_transitionable","_transitioning","getLight","nextRow","dashEntry","getDash","addDash","getDashRanges","isDash","zeroLength","addRoundDash","addRegularDash","ALPHA","REPEAT","workerPool","actors","currentActor","acquire","broadcast","getActor","release","vector_layers","vectorLayers","vectorLayerIds","setSouthWest","setNorthEast","_ne","_sw","getCenter","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","contains","validateBounds","_loaded","dataType","_tileJSONRequest","_options","_requestManager","sourceCaches","clearTiles","tileBounds","sourceDataType","dispatcher","reparseOverscaled","_collectResourceTiming","hasTile","setSourceProperty","setTiles","setUrl","getPixelRatio","aborted","_refreshExpiredTiles","setExpiryData","reloadCallback","state","unloadTile","unloadVectorData","roundZoom","getTileTexture","extTextureFilterAnisotropic","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","extTextureFilterAnisotropicMax","saveTileTexture","dem","needsHillshadePrepare","needsTerrainPrepare","coord","neighboringTiles","_getNeighboringTiles","backfilled","demTexture","fbo","_updateWorkerData","_data","_removed","_pendingLoads","workerOptions","setData","setClusterOptions","_request","_finishLoading","prepare","boundsBuffer","_boundsArray","boundsSegments","simpleSegment","sourceId","setCoordinates","fromLngLat","loop","triggerRepaint","play","readyState","paused","pause","seek","seekable","currentTime","canvas","getElementById","_hasInvalidDimensions","_playing","animate","getCanvas","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","tile","queryRenderedFeatures","_state","getFeatureState","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","_sourceLoaded","_paused","reload","_didEmitContent","_sourceErrored","_source","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_maxTileCacheZoomLevels","_loadedParentTiles","_coveredTiles","_updated","used","usedForTerrain","getSource","resume","_shouldReloadOnResume","_loadTile","_abortTile","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","_tileLoaded","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","_getLoadedTile","updateCacheSize","handleWrapJump","_prevLng","getVisibleUnwrappedCoordinates","coveringTiles","coveringZoomLevel","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_addTile","_fadeDuration","_removeTile","_updateLoadedParentTileCache","releaseSymbolFadeTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","reloadTilesForDependencies","active","workers","workerCount","Worker","numActive","terminate","isPreloaded","globalThis","_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","projections","offsets","useVertical","notEnoughRoom","needsFlipping","last","projectionCache","tileAnchorPoint","distanceFromAnchor","getElevation","previousVertex","direction","absOffsetX","ignoredGrid","pitchfactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","perspectiveRatioCutoff","placeCollisionBox","projectAndGetPerspectiveRatio","perspectiveRatio","isInsideGrid","offscreen","isOffscreen","placeCollisionCircles","collisionDetected","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","getViewportMatrix","opacity","placed","skipFade","invProjMatrix","viewportMatrix","crossSourceCollisions","maxGroupID","collisionGroups","ID","predicate","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","collisionCircleArrays","prevPlacement","placedOrientations","getBucketParts","textLabelPlaneMatrix","labelToScreenMatrix","textPixelRatio","partiallyEvaluatedTextSize","collisionGroup","attemptAnchorPlacement","textOffset","prevAnchor","markUsedJustification","markUsedOrientation","placedGlyphBoxes","placeLayerBucketPart","commit","zoomAtLastRecencyCheck","prevZoomAdjustment","zoomAdjustment","symbolFadeChange","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","hasTransitions","stillRecent","setStale","_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","pruneUnusedLayers","_getMapId","glyphManager","lineAtlas","crossTileSymbolIndex","_spritesImagesIds","_order","_availableImages","_resetUpdates","_rtlTextPluginCallback","_validateLayer","loadURL","_load","loadJSON","loadEmpty","transformStyle","stylesheet","_loadSprite","_createLayers","setTerrain","_serializedLayers","_spriteRequest","_changedImages","_changed","_unloadSprite","flat","_updatedSources","_serializeByIds","_serializedAllLayers","_checkLoaded","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updateTilesForChangedImages","_updateTilesForChangedGlyphs","_updatedPaintProps","_glyphsDidChange","_afterImageUpdated","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getFilter","_flattenAndSortRenderedFeatures","addSourceType","workerSourceURL","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getResource","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","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_matrix","u_lightpos","u_lightintensity","u_lightcolor","u_vertical_gradient","u_opacity","u_height_factor","u_world","pixelsToGLUnits","u_camera_to_center_distance","u_scale_with_map","translatePosMatrix","u_pitch_with_map","u_device_pixel_ratio","u_extrude_scale","u_pixels_to_tile_units","u_overscale_factor","u_color","u_overlay","u_overlay_scale","u_intensity","u_ratio","u_units_to_pixels","u_image_height","u_patternscale_a","u_patternscale_b","u_sdfgamma","u_tex_y_a","u_tex_y_b","u_mix","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","mix","u_image0","u_image1","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_is_size_zoom_constant","u_is_size_feature_constant","u_size_t","u_size","u_pitch","u_rotate_symbol","u_aspect_ratio","u_fade_change","u_label_plane_matrix","u_coord_matrix","u_is_text","u_texture","u_gamma_scale","u_is_halo","u_texsize_icon","u_texture_icon","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_pattern_size_a","u_pattern_size_b","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_inv_matrix","u_viewport_size","u_color_ramp","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_unpack","u_ele_delta","u_terrain_coords_id","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","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","prepareForRender","sourceCache","tilesAfterTime","projMatrix","getRenderableTiles","getFramebuffer","devicePixelRatio","getCoordsTexture","coordsIndex","renderLayer","showOverdrawInspector","showTileBoundaries","flatMap","showPadding","centerPoint","programConfiguration","gradient","isPatternMissing","setCustomLayerDefaults","customLayerMatrix","setBaseState","overLimit","planes","quadrant","distanceX","distanceY","intersects","MAX_VALUE","maxValidLatitude","_renderWorldCopies","_minZoom","_maxZoom","_minPitch","_maxPitch","setMaxBounds","_center","_elevation","_fov","_unmodified","_edgeInsets","_posMatrixCache","_alignedPosMatrixCache","_minEleveationForCurrentTile","maxPitch","latRange","_calcMatrices","minPitch","renderWorldCopies","worldSize","centerOffset","rotationMatrix","fov","_zoom","zoomScale","_constrain","elevation","isPaddingEqual","interpolatePadding","scaleZoom","getCameraPoint","fromInvProjectionMatrix","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","getHorizon","getMaxBounds","lngRange","alignedProjMatrix","mercatorMatrix","_constraining","_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","getCanvasContainer","originalEvent","changedTouches","touches","touchPos","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","_minTouches","cooperativeGestures","_touches","_sum","_cancelCooperativeMessage","_calculateTransform","_cooperativeGestures","_onCooperativeGesture","_firstTwoTouches","_start","_aroundCenter","_distance","_startDistance","_minDiameter","_startVector","_vector","_isBelowThreshold","_valid","_firstMove","_lastPoints","_currentTouchCount","gestureBeginsVertically","panStep","bearingStep","pitchStep","_panStep","_bearingStep","_pitchStep","_rotationDisabled","altKey","metaKey","easeId","disableRotation","enableRotation","_onTimeout","_type","_delta","_lastValue","_triggerRenderFrame","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","_finishTimeout","isZooming","_zooming","_metaKey","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","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","scrollZoom","keyboard","isRotating","isMoving","_applyChanges","_updateMapTransform","_getTransformForUpdate","_terrainMovement","_elevationFreeze","_applyUpdatedTransform","_update","freezeElevation","resetNorth","_requestFrame","_renderTaskQueue","_renderFrameCallback","_easeStart","_easeOptions","_onEaseFrame","_easeFrameId","_requestRenderFrame","_moving","panBy","panTo","zoomTo","zoomIn","zoomOut","getPadding","setPadding","rotateTo","resetNorthPitch","snapToNorth","cameraForBounds","_cameraForBoxAndBearing","fitBounds","_fitInternal","flyTo","calculateCameraOptionsFromTo","essential","_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","_toggleAttribution","setAttribute","removeAttribute","_updateData","_updateAttributions","_updateCompact","offsetWidth","_compact","_updateCompactMinimize","getDefaultPosition","compact","_compactButton","_setElementTitle","_innerContainer","_attribHTML","_getUIString","title","customAttribution","styleOwner","owner","styleId","innerHTML","_editLink","rel","display","_queue","_id","_cleared","_currentlyRunning","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","_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","trackResize","refreshExpiredTiles","maxTileCacheSize","maxTileCacheZoomLevels","maxCanvasSize","touchmoveWindow","showCompass","showZoom","visualizePitch","startMouse","element","moveMouse","mouseRotate","mousePitch","offTemp","startTouch","moveTouch","touchRotate","_onKeyPress","charCode","togglePopup","_onMapClick","_element","_popup","_lngLat","_offset","_rotationAlignment","_rotation","_pitchAlignment","_anchor","_opacityTimeout","_onMove","_isDragging","_pointerdownPos","_positionDelta","setLngLat","pointerEvents","_onUp","_addDragHandler","_color","_scale","_draggable","draggable","rotation","rotationAlignment","pitchAlignment","_defaultMarker","createNS","setAttributeNS","rx","ry","setDraggable","getLngLat","getElement","setPopup","_originalTabIndex","getAttribute","getPopup","isOpen","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","logToElement","maxParallelImageRequests","_cooperativeGesturesOnWheel","_contextLost","_frame","_contextRestored","_setupPainter","_onMapScroll","scrollTop","scrollLeft","_onWindowOnline","_interactive","platform","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","antialias","_trackResize","_crossSourceCollisions","_crossFadingFactor","_controls","_mapId","_locale","_overridePixelRatio","_maxCanvasSize","_imageQueueHandle","container","HTMLElement","maxBounds","_setupContainer","_idleTriggered","_resizeObserver","ResizeObserver","observe","_setupCooperativeGestures","_hash","_localIdeographFontFamily","_validateStyle","addControl","logoPosition","_controlPositions","insertBefore","firstChild","removeControl","hasControl","_containerDimensions","_getClampedPixelRatio","_resizeCanvas","setPixelRatio","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","setMinPitch","getMinPitch","setMaxPitch","getMaxPitch","getRenderWorldCopies","setRenderWorldCopies","getCooperativeGestures","setCooperativeGestures","_destroyCooperativeGestures","_createDelegatedListener","listener","delegates","_delegatedListeners","diff","_diffStyle","_updateStyle","_lazyInitEmptyStyle","_updateDiff","getStyle","isStyleLoaded","_terrainDataCallback","getTerrain","areTilesLoaded","hasImage","loadImage","_canvasContainer","_canvas","clientWidth","_controlContainer","_cooperativeGesturesScreen","windowsHelpText","macHelpText","mobileHelpText","alpha","requestedAttributes","statusMessage","_styleDirty","_sourcesDirty","_render","_placementDirty","_repaint","_fullyLoaded","redraw","disconnect","loseContext","_showTileBoundaries","_showPadding","repaint","_vertices","getCameraTargetElevation","NavigationControl","_updateZoomButtons","_zoomInButton","_zoomOutButton","_rotateCompassArrow","_compassIcon","_setButtonTitle","_createButton","_compass","_handler","GeolocateControl","_onSuccess","_isOutOfMapMaxBounds","_setErrorState","_updateMarker","_finish","_lastKnownPosition","_watchState","_geolocateButton","_updateCamera","_dotElement","longitude","latitude","accuracy","geolocateSource","_accuracyCircleMarker","_userLocationDotMarker","_accuracy","_updateCircleRadius","_onZoom","_onError","_geolocationWatchID","_clearWatch","_timeoutId","_setupUI","_circleElement","_setup","permissions","geolocation","clearWatch","watchPosition","getCurrentPosition","AttributionControl","LogoControl","ScaleControl","setUnit","FullscreenControl","_onFullscreenChange","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","_fullscreen","_handleFullscreenChange","_onClickFullscreen","_isFullscreen","_exitFullscreen","_requestFullscreen","_fullscreenchange","_fullscreenButton","_updateTitle","_getTitle","_prevCooperativeGestures","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","_togglePseudoFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","TerrainControl","_toggleTerrain","_updateTerrainIcon","_terrainButton","Popup","_content","_onClose","_onMouseMove","_onMouseUp","_onDrag","_trackPointer","_tip","offsetHeight","closeOnMove","_focusFirstElement","trackPointer","setText","setDOMContent","createTextNode","setHTML","createDocumentFragment","getMaxWidth","setMaxWidth","hasChildNodes","_createCloseButton","_closeButton","querySelector","focus","Marker","LngLatBounds","CanvasSource","GeoJSONSource","ImageSource","RasterDEMTileSource","RasterTileSource","VectorTileSource","VideoSource","prewarm","clearPrewarmedResources","maplibregl$1","MaplibreGLJSLayer","Layer","updateInterval","pane","initialize","setOptions","_throttledUpdate","throttle","_initContainer","paneName","getPaneName","getPane","_initGL","containerPointToLayerPoint","zoomAnimation","DomEvent","_proxy","DomUtil","TRANSITION_END","_transitionEnd","_glMap","getEvents","zoomanim","_animateZoom","_pinchZoom","zoomstart","_zoomStart","zoomend","_zoomEnd","_resize","getMaplibreMap","getSize","multiplyBy","getOpacity","setOpacity","halfSize","latLngToContainerPoint","containerPointToLatLng","subtract","topLeft","setPosition","res","Infinity","_transformGL","_actualCanvas","addClass","undefined","getZoomScale","viewHalf","_divideBy","_subtract","_getMapPanePos","requestAnimFrame","maplibreGLJSLayer","apiKey","apikey","_createLayer","wkid","spatialReference","_createMaplibreLayer","_setupAttribution","getAttribution","_maplibreGL","addAttribution","_ready","_asyncAdd","VectorBasemapLayer","language","getBasemapStyleV2Url","getBasemapStyleUrl","setEsriAttribution","allAttributions","attributionUrls","_getAttributionUrls","_initPane","createPane","zIndex","getElementsByClassName","vectorAttribution","outerHTML","removeAttribution","packageInfo"],"mappings":"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"} \ No newline at end of file diff --git a/dist/siteData.json b/dist/siteData.json new file mode 100644 index 0000000..63eec9f --- /dev/null +++ b/dist/siteData.json @@ -0,0 +1 @@ +{"name": "esri-leaflet-vector","version": "4.2.1","lib": {"path": "dist/esri-leaflet-vector.js","integrity": "sha512-bzKFreEBNI0QjRO+F7aAgEtglKPrNiEPgboCFEQrm7gSvZU2xvqLz/J3vmANiN6YbiG0sGZ69qnevWxza8o8UA=="}}